From 889c72611d258140c7d15b00144995c74e78aa20 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcos=20Garci=CC=81a=20de=20La=20Fuente?= Date: Sat, 19 Mar 2016 23:00:33 +0100 Subject: [PATCH 1/2] NEW Created Account::__toString, Account::getFieldsToShow and Account::getAccountNumberOrder to refactor the way account number was shown --- htdocs/compta/bank/card.php | 223 +++++------------- htdocs/compta/bank/class/account.class.php | 102 ++++++++ htdocs/core/lib/pdf.lib.php | 96 +++----- .../class/companybankaccount.class.php | 87 ++----- htdocs/societe/rib.php | 147 +++--------- htdocs/user/bank.php | 147 +++--------- htdocs/user/class/userbankaccount.class.php | 87 ++----- 7 files changed, 295 insertions(+), 594 deletions(-) diff --git a/htdocs/compta/bank/card.php b/htdocs/compta/bank/card.php index b33b0438552..defa0163891 100644 --- a/htdocs/compta/bank/card.php +++ b/htdocs/compta/bank/card.php @@ -5,6 +5,7 @@ * Copyright (C) 2005-2009 Regis Houssin * Copyright (C) 2014-2015 Alexandre Spangaro * Copyright (C) 2015 Jean-François Ferry + * Copyright (C) 2016 Marcos García * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -387,65 +388,28 @@ if ($action == 'create') print ''; // Show fields of bank account - $fieldlists='BankCode DeskCode AccountNumber BankAccountNumberKey'; - if (! empty($conf->global->BANK_SHOW_ORDER_OPTION)) - { - if (is_numeric($conf->global->BANK_SHOW_ORDER_OPTION)) - { - if ($conf->global->BANK_SHOW_ORDER_OPTION == '1') $fieldlists='BankCode DeskCode BankAccountNumberKey AccountNumber'; - } - else $fieldlists=$conf->global->BANK_SHOW_ORDER_OPTION; - } - $fieldlistsarray=explode(' ',$fieldlists); - - foreach($fieldlistsarray as $val) - { - if ($val == 'BankCode') - { - if ($account->useDetailedBBAN() == 1) - { - print ''.$langs->trans("BankCode").''; - print ''; - print ''; - } + foreach ($account->getFieldsToShow() as $val) { + if ($val == 'BankCode') { + $name = 'code_banque'; + $size = 8; + $content = $account->code_banque; + } elseif ($val == 'DeskCode') { + $name = 'code_guichet'; + $size = 8; + $content = $account->code_guichet; + } elseif ($val == 'BankAccountNumber') { + $name = 'number'; + $size = 18; + $content = $account->number; + } elseif ($val == 'BankAccountNumberKey') { + $name = 'cle_rib'; + $size = 3; + $content = $account->cle_rib; } - if ($val == 'DeskCode') - { - if ($account->useDetailedBBAN() == 1) - { - print ''.$langs->trans("DeskCode").''; - print ''; - print ''; - } - } - - if ($val == 'BankCode') - { - if ($account->useDetailedBBAN() == 2) - { - print ''.$langs->trans("BankCode").''; - print ''; - print ''; - } - } - - if ($val == 'AccountNumber') - { - print ''.$langs->trans("BankAccountNumber").''; - print ''; - print ''; - } - - if ($val == 'BankAccountNumberKey') - { - if ($account->useDetailedBBAN() == 1) - { - print ''.$langs->trans("BankAccountNumberKey").''; - print ''; - print ''; - } - } + print ''.$langs->trans($val).''; + print ''; + print ''; } $ibankey="IBANNumber"; $bickey="BICNumber"; @@ -651,64 +615,20 @@ else print ''.$account->bank.''; // Show fields of bank account - $fieldlists='BankCode DeskCode AccountNumber BankAccountNumberKey'; - if (! empty($conf->global->BANK_SHOW_ORDER_OPTION)) - { - if (is_numeric($conf->global->BANK_SHOW_ORDER_OPTION)) - { - if ($conf->global->BANK_SHOW_ORDER_OPTION == '1') $fieldlists='BankCode DeskCode BankAccountNumberKey AccountNumber'; - } - else $fieldlists=$conf->global->BANK_SHOW_ORDER_OPTION; - } - $fieldlistsarray=explode(' ',$fieldlists); - - foreach($fieldlistsarray as $val) - { - if ($val == 'BankCode') - { - if ($account->useDetailedBBAN() == 1) - { - print ''.$langs->trans("BankCode").''; - print ''.$account->code_banque.''; - print ''; - } - } - if ($val == 'DeskCode') - { - if ($account->useDetailedBBAN() == 1) - { - print ''.$langs->trans("DeskCode").''; - print ''.$account->code_guichet.''; - print ''; - } + foreach ($account->getFieldsToShow() as $val) { + if ($val == 'BankCode') { + $content = $account->code_banque; + } elseif ($val == 'DeskCode') { + $content = $account->code_guichet; + } elseif ($val == 'BankAccountNumber') { + $content = $account->number; + } elseif ($val == 'BankAccountNumberKey') { + $content = $account->cle_rib; } - if ($val == 'BankCode') - { - if ($account->useDetailedBBAN() == 2) - { - print ''.$langs->trans("BankCode").''; - print ''.$account->code_banque.''; - print ''; - } - } - - if ($val == 'AccountNumber') - { - print ''.$langs->trans("BankAccountNumber").''; - print ''.$account->number.''; - print ''; - } - - if ($val == 'BankAccountNumberKey') - { - if ($account->useDetailedBBAN() == 1) - { - print ''.$langs->trans("BankAccountNumberKey").''; - print ''.$account->cle_rib.''; - print ''; - } - } + print ''.$langs->trans($val).''; + print ''.$content.''; + print ''; } $ibankey="IBANNumber"; @@ -939,65 +859,28 @@ else print ''; // Show fields of bank account - $fieldlists='BankCode DeskCode AccountNumber BankAccountNumberKey'; - if (! empty($conf->global->BANK_SHOW_ORDER_OPTION)) - { - if (is_numeric($conf->global->BANK_SHOW_ORDER_OPTION)) - { - if ($conf->global->BANK_SHOW_ORDER_OPTION == '1') $fieldlists='BankCode DeskCode BankAccountNumberKey AccountNumber'; - } - else $fieldlists=$conf->global->BANK_SHOW_ORDER_OPTION; - } - $fieldlistsarray=explode(' ',$fieldlists); - - foreach($fieldlistsarray as $val) - { - if ($val == 'BankCode') - { - if ($account->useDetailedBBAN() == 1) - { - print ''.$langs->trans("BankCode").''; - print ''; - print ''; - } + foreach ($account->getFieldsToShow() as $val) { + if ($val == 'BankCode') { + $name = 'code_banque'; + $size = 8; + $content = $account->code_banque; + } elseif ($val == 'DeskCode') { + $name = 'code_guichet'; + $size = 8; + $content = $account->code_guichet; + } elseif ($val == 'BankAccountNumber') { + $name = 'number'; + $size = 18; + $content = $account->number; + } elseif ($val == 'BankAccountNumberKey') { + $name = 'cle_rib'; + $size = 3; + $content = $account->cle_rib; } - if ($val == 'DeskCode') - { - if ($account->useDetailedBBAN() == 1) - { - print ''.$langs->trans("DeskCode").''; - print ''; - print ''; - } - } - - if ($val == 'BankCode') - { - if ($account->useDetailedBBAN() == 2) - { - print ''.$langs->trans("BankCode").''; - print ''; - print ''; - } - } - - if ($val == 'AccountNumber') - { - print ''.$langs->trans("BankAccountNumber").''; - print ''; - print ''; - } - - if ($val == 'BankAccountNumberKey') - { - if ($account->useDetailedBBAN() == 1) - { - print ''.$langs->trans("BankAccountNumberKey").''; - print ''; - print ''; - } - } + print ''.$langs->trans($val).''; + print ''; + print ''; } $ibankey="IBANNumber"; diff --git a/htdocs/compta/bank/class/account.class.php b/htdocs/compta/bank/class/account.class.php index bad817d7a21..123f4537a58 100644 --- a/htdocs/compta/bank/class/account.class.php +++ b/htdocs/compta/bank/class/account.class.php @@ -238,6 +238,31 @@ class Account extends CommonObject ); } + /** + * Shows the account number in the appropiate format + * + * @return string + */ + public function __toString() + { + $string = ''; + + foreach ($this->getFieldsToShow() as $val) { + + if ($val == 'BankCode') { + $string .= $this->code_banque.' '; + } elseif ($val == 'BankAccountNumber') { + $string .= $this->number.' '; + } elseif ($val == 'DeskCode') { + $string .= $this->code_guichet.' '; + } elseif ($val == 'BankAccountNumberKey') { + $string .= $this->cle_rib.' '; + } + } + + return trim($string); + } + /** * Return if a bank account need to be conciliated @@ -1230,6 +1255,83 @@ class Account extends CommonObject } + /** + * Returns the fields in order that this bank account should show to the user + * Will return an array with the following values: + * - BankAccountNumber + * - BankCode + * - BankAccountNumberKey + * - DeskCode + * + * Some countries show less or more bank account properties to the user + * + * @return array + * @see useDetailedBBAN + */ + public function getFieldsToShow() + { + //Get the required properties depending on the country + $detailedBBAN = $this->useDetailedBBAN(); + + if ($detailedBBAN == 0) { + return array( + 'BankAccountNumber' + ); + } elseif ($detailedBBAN == 2) { + return array( + 'BankCode', + 'BankAccountNumber' + ); + } + + //Get the order the properties are shown + return self::getAccountNumberOrder(); + } + + /** + * Returns the components of the bank account in order. + * Will return an array with the following values: + * - BankAccountNumber + * - BankCode + * - BankAccountNumberKey + * - DeskCode + * + * @return array + */ + public static function getAccountNumberOrder() + { + global $conf; + + $fieldlists = array( + 'BankCode', + 'DeskCode', + 'BankAccountNumber', + 'BankAccountNumberKey' + ); + + if (!empty($conf->global->BANK_SHOW_ORDER_OPTION)) { + if (is_numeric($conf->global->BANK_SHOW_ORDER_OPTION)) { + if ($conf->global->BANK_SHOW_ORDER_OPTION == '1') { + $fieldlists = array( + 'BankCode', + 'DeskCode', + 'BankAccountNumberKey', + 'BankAccountNumber' + ); + } + } else { + //Replace the old AccountNumber key with the new BankAccountNumber key + $fieldlists = explode( + ' ', + preg_replace('/ ?[^Bank]AccountNumber ?/', 'BankAccountNumber', + $conf->global->BANK_SHOW_ORDER_OPTION) + ); + } + } + + return $fieldlists; + } + /** * Initialise an instance with random values. diff --git a/htdocs/core/lib/pdf.lib.php b/htdocs/core/lib/pdf.lib.php index a952159b874..026ed206286 100644 --- a/htdocs/core/lib/pdf.lib.php +++ b/htdocs/core/lib/pdf.lib.php @@ -9,7 +9,7 @@ * Copyright (C) 2012-2015 Raphaël Doursenaud * Copyright (C) 2014 Cedric GROSS * Copyright (C) 2014 Teddy Andreotti <125155@supinfo.com> - * Copyright (C) 2015 Marcos García + * Copyright (C) 2015-2016 Marcos García * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -646,64 +646,42 @@ function pdf_bank(&$pdf,$outputlangs,$curx,$cury,$account,$onlynumber=0,$default // key = check control key used only when $usedetailedbban = 1 if (empty($onlynumber)) $pdf->line($curx+1, $cury+1, $curx+1, $cury+6); - if ($usedetailedbban == 1) - { - $fieldstoshow=array('bank','desk','number','key'); - if ($conf->global->BANK_SHOW_ORDER_OPTION == 1) $fieldstoshow=array('bank','desk','key','number'); - } - else if ($usedetailedbban == 2) - { - $fieldstoshow=array('bank','number'); - } - else dol_print_error('','Value returned by function useDetailedBBAN not managed'); - - foreach ($fieldstoshow as $val) - { - if ($val == 'bank') - { - // Bank code - $tmplength=18; - $pdf->SetXY($curx, $cury+4); - $pdf->SetFont('','',$default_font_size - 3);$pdf->MultiCell($tmplength, 3, $outputlangs->convToOutputCharset($account->code_banque), 0, 'C', 0); - $pdf->SetXY($curx, $cury+1); - $curx+=$tmplength; - $pdf->SetFont('','B',$default_font_size - 4);$pdf->MultiCell($tmplength, 3, $outputlangs->transnoentities("BankCode"), 0, 'C', 0); - if (empty($onlynumber)) $pdf->line($curx, $cury+1, $curx, $cury+7); - } - if ($val == 'desk') - { - // Desk - $tmplength=18; - $pdf->SetXY($curx, $cury+4); - $pdf->SetFont('','',$default_font_size - 3);$pdf->MultiCell($tmplength, 3, $outputlangs->convToOutputCharset($account->code_guichet), 0, 'C', 0); - $pdf->SetXY($curx, $cury+1); - $curx+=$tmplength; - $pdf->SetFont('','B',$default_font_size - 4);$pdf->MultiCell($tmplength, 3, $outputlangs->transnoentities("DeskCode"), 0, 'C', 0); - if (empty($onlynumber)) $pdf->line($curx, $cury+1, $curx, $cury+7); - } - if ($val == 'number') - { - // Number - $tmplength=24; - $pdf->SetXY($curx, $cury+4); - $pdf->SetFont('','',$default_font_size - 3);$pdf->MultiCell($tmplength, 3, $outputlangs->convToOutputCharset($account->number), 0, 'C', 0); - $pdf->SetXY($curx, $cury+1); - $curx+=$tmplength; - $pdf->SetFont('','B',$default_font_size - 4);$pdf->MultiCell($tmplength, 3, $outputlangs->transnoentities("BankAccountNumber"), 0, 'C', 0); - if (empty($onlynumber)) $pdf->line($curx, $cury+1, $curx, $cury+7); - } - if ($val == 'key') - { - // Key - $tmplength=13; - $pdf->SetXY($curx, $cury+4); - $pdf->SetFont('','',$default_font_size - 3);$pdf->MultiCell($tmplength, 3, $outputlangs->convToOutputCharset($account->cle_rib), 0, 'C', 0); - $pdf->SetXY($curx, $cury+1); - $curx+=$tmplength; - $pdf->SetFont('','B',$default_font_size - 4);$pdf->MultiCell($tmplength, 3, $outputlangs->transnoentities("BankAccountNumberKey"), 0, 'C', 0); - if (empty($onlynumber)) $pdf->line($curx, $cury+1, $curx, $cury+7); - } - } + + foreach ($account->getFieldsToShow() as $val) + { + $pdf->SetXY($curx, $cury+4); + $pdf->SetFont('','',$default_font_size - 3); + + if ($val == 'BankCode') { + // Bank code + $tmplength = 18; + $content = $account->code_banque; + } elseif ($val == 'DeskCode') { + // Desk + $tmplength = 18; + $content = $account->code_guichet; + } elseif ($val == 'BankAccountNumber') { + // Number + $tmplength = 24; + $content = $account->number; + } elseif ($val == 'BankAccountNumberKey') { + // Key + $tmplength = 13; + $content = $account->cle_rib; + } else { + dol_print_error($this->db, 'Unexpected value for getFieldsToShow: '.$val); + break; + } + + $pdf->MultiCell($tmplength, 3, $outputlangs->convToOutputCharset($content), 0, 'C', 0); + $pdf->SetXY($curx, $cury + 1); + $curx += $tmplength; + $pdf->SetFont('', 'B', $default_font_size - 4); + $pdf->MultiCell($tmplength, 3, $outputlangs->transnoentities($val), 0, 'C', 0); + if (empty($onlynumber)) { + $pdf->line($curx, $cury + 1, $curx, $cury + 7); + } + } $curx=$savcurx; $cury+=8; diff --git a/htdocs/societe/class/companybankaccount.class.php b/htdocs/societe/class/companybankaccount.class.php index f71b04b7730..fe34f57fd6d 100644 --- a/htdocs/societe/class/companybankaccount.class.php +++ b/htdocs/societe/class/companybankaccount.class.php @@ -3,6 +3,7 @@ * Copyright (C) 2010-2013 Laurent Destailleur * Copyright (C) 2012 Regis Houssin * Copyright (C) 2013 Peter Fontaine + * Copyright (C) 2016 Marcos García * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -60,7 +61,7 @@ class CompanyBankAccount extends Account /** * Create bank information record * - * @param Object $user User + * @param User $user User * @return int <0 if KO, >= 0 if OK */ function create($user='') @@ -222,79 +223,27 @@ class CompanyBankAccount extends Account } } - /** - * Return RIB - * - * @param boolean $displayriblabel Prepend or Hide Label - * @return string RIB - */ - function getRibLabel($displayriblabel = true) - { - global $langs,$conf; + /** + * Return RIB + * + * @param boolean $displayriblabel Prepend or Hide Label + * @return string RIB + */ + public function getRibLabel($displayriblabel = true) + { + $rib = ''; - if ($this->code_banque || $this->code_guichet || $this->number || $this->cle_rib) - { - if ($this->label && $displayriblabel) $rib = $this->label." : "; + if ($this->code_banque || $this->code_guichet || $this->number || $this->cle_rib) { - // Show fields of bank account - $fieldlists='BankCode DeskCode AccountNumber BankAccountNumberKey'; - if (! empty($conf->global->BANK_SHOW_ORDER_OPTION)) - { - if (is_numeric($conf->global->BANK_SHOW_ORDER_OPTION)) - { - if ($conf->global->BANK_SHOW_ORDER_OPTION == '1') $fieldlists='BankCode DeskCode BankAccountNumberKey AccountNumber'; - } - else $fieldlists=$conf->global->BANK_SHOW_ORDER_OPTION; + if ($this->label && $displayriblabel) { + $rib = $this->label." : "; } - $fieldlistsarray=explode(' ',$fieldlists); - foreach($fieldlistsarray as $val) - { - if ($val == 'BankCode') - { - if ($this->useDetailedBBAN() == 1) - { - $rib.=$this->code_banque.' '; - } - } + $rib .= (string) $this; + } - if ($val == 'DeskCode') - { - if ($this->useDetailedBBAN() == 1) - { - $rib.=$this->code_guichet.' '; - } - } - - if ($val == 'BankCode') - { - if ($this->useDetailedBBAN() == 2) - { - $rib.=$this->code_banque.' '; - } - } - - if ($val == 'AccountNumber') - { - $rib.=$this->number.' '; - } - - if ($val == 'BankAccountNumberKey') - { - if ($this->useDetailedBBAN() == 1) - { - $rib.=$this->cle_rib.' '; - } - } - } - } - else - { - $rib=''; - } - - return $rib; - } + return $rib; + } /** * Set RIB as Default diff --git a/htdocs/societe/rib.php b/htdocs/societe/rib.php index c7f087daf72..0d8cdcc1264 100644 --- a/htdocs/societe/rib.php +++ b/htdocs/societe/rib.php @@ -4,7 +4,7 @@ * Copyright (C) 2004-2015 Laurent Destailleur * Copyright (C) 2005-2009 Regis Houssin * Copyright (C) 2013 Peter Fontaine - * Copyright (C) 2015 Marcos García + * Copyright (C) 2015-2016 Marcos García * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -254,64 +254,22 @@ if ($socid && $action != 'edit' && $action != "create") print ''.$account->bank.''; // Show fields of bank account - $fieldlists='BankCode DeskCode AccountNumber BankAccountNumberKey'; - if (! empty($conf->global->BANK_SHOW_ORDER_OPTION)) + + foreach($account->getFieldsToShow() as $val) { - if (is_numeric($conf->global->BANK_SHOW_ORDER_OPTION)) - { - if ($conf->global->BANK_SHOW_ORDER_OPTION == '1') $fieldlists='BankCode DeskCode BankAccountNumberKey AccountNumber'; - } - else $fieldlists=$conf->global->BANK_SHOW_ORDER_OPTION; - } - $fieldlistsarray=explode(' ',$fieldlists); - - foreach($fieldlistsarray as $val) - { - if ($val == 'BankCode') - { - if ($account->useDetailedBBAN() == 1) - { - print ''.$langs->trans("BankCode").''; - print ''.$account->code_banque.''; - print ''; - } - } - if ($val == 'DeskCode') - { - if ($account->useDetailedBBAN() == 1) - { - print ''.$langs->trans("DeskCode").''; - print ''.$account->code_guichet.''; - print ''; - } + if ($val == 'BankCode') { + $content = $account->code_banque; + } elseif ($val == 'DeskCode') { + $content = $account->code_guichet; + } elseif ($val == 'BankAccountNumber') { + $content = $account->number; + } elseif ($val == 'BankAccountNumberKey') { + $content = $account->cle_rib; } - if ($val == 'BankCode') - { - if ($account->useDetailedBBAN() == 2) - { - print ''.$langs->trans("BankCode").''; - print ''.$account->code_banque.''; - print ''; - } - } - - if ($val == 'AccountNumber') - { - print ''.$langs->trans("BankAccountNumber").''; - print ''.$account->number.''; - print ''; - } - - if ($val == 'BankAccountNumberKey') - { - if ($account->useDetailedBBAN() == 1) - { - print ''.$langs->trans("BankAccountNumberKey").''; - print ''.$account->cle_rib.''; - print ''; - } - } + print ''.$langs->trans($val).''; + print ''.$content.''; + print ''; } print ''.$langs->trans("IBAN").''; @@ -473,65 +431,28 @@ if ($socid && $action == 'edit' && $user->rights->societe->creer) print ''; // Show fields of bank account - $fieldlists='BankCode DeskCode AccountNumber BankAccountNumberKey'; - if (! empty($conf->global->BANK_SHOW_ORDER_OPTION)) - { - if (is_numeric($conf->global->BANK_SHOW_ORDER_OPTION)) - { - if ($conf->global->BANK_SHOW_ORDER_OPTION == '1') $fieldlists='BankCode DeskCode BankAccountNumberKey AccountNumber'; - } - else $fieldlists=$conf->global->BANK_SHOW_ORDER_OPTION; - } - $fieldlistsarray=explode(' ',$fieldlists); - - foreach($fieldlistsarray as $val) - { - if ($val == 'BankCode') - { - if ($account->useDetailedBBAN() == 1) - { - print ''.$langs->trans("BankCode").''; - print ''; - print ''; - } + foreach ($account->getFieldsToShow() as $val) { + if ($val == 'BankCode') { + $name = 'code_banque'; + $size = 8; + $content = $account->code_banque; + } elseif ($val == 'DeskCode') { + $name = 'code_guichet'; + $size = 8; + $content = $account->code_guichet; + } elseif ($val == 'BankAccountNumber') { + $name = 'number'; + $size = 18; + $content = $account->number; + } elseif ($val == 'BankAccountNumberKey') { + $name = 'cle_rib'; + $size = 3; + $content = $account->cle_rib; } - if ($val == 'DeskCode') - { - if ($account->useDetailedBBAN() == 1) - { - print ''.$langs->trans("DeskCode").''; - print ''; - print ''; - } - } - - if ($val == 'BankCode') - { - if ($account->useDetailedBBAN() == 2) - { - print ''.$langs->trans("BankCode").''; - print ''; - print ''; - } - } - - if ($val == 'AccountNumber') - { - print ''.$langs->trans("BankAccountNumber").''; - print ''; - print ''; - } - - if ($val == 'BankAccountNumberKey') - { - if ($account->useDetailedBBAN() == 1) - { - print ''.$langs->trans("BankAccountNumberKey").''; - print ''; - print ''; - } - } + print ''.$langs->trans($val).''; + print ''; + print ''; } // IBAN diff --git a/htdocs/user/bank.php b/htdocs/user/bank.php index b4f070a2187..951c3a6ef7e 100644 --- a/htdocs/user/bank.php +++ b/htdocs/user/bank.php @@ -4,7 +4,7 @@ * Copyright (C) 2004-2015 Laurent Destailleur * Copyright (C) 2005-2009 Regis Houssin * Copyright (C) 2013 Peter Fontaine - * Copyright (C) 2015 Marcos García + * Copyright (C) 2015-2016 Marcos García * Copyright (C) 2015 Alexandre Spangaro * * This program is free software; you can redistribute it and/or modify @@ -149,64 +149,20 @@ if ($id && $action != 'edit') print ''.$account->bank.''; // Show fields of bank account - $fieldlists='BankCode DeskCode AccountNumber BankAccountNumberKey'; - if (! empty($conf->global->BANK_SHOW_ORDER_OPTION)) - { - if (is_numeric($conf->global->BANK_SHOW_ORDER_OPTION)) - { - if ($conf->global->BANK_SHOW_ORDER_OPTION == '1') $fieldlists='BankCode DeskCode BankAccountNumberKey AccountNumber'; - } - else $fieldlists=$conf->global->BANK_SHOW_ORDER_OPTION; - } - $fieldlistsarray=explode(' ',$fieldlists); - - foreach($fieldlistsarray as $val) - { - if ($val == 'BankCode') - { - if ($account->useDetailedBBAN() == 1) - { - print ''.$langs->trans("BankCode").''; - print ''.$account->code_banque.''; - print ''; - } - } - if ($val == 'DeskCode') - { - if ($account->useDetailedBBAN() == 1) - { - print ''.$langs->trans("DeskCode").''; - print ''.$account->code_guichet.''; - print ''; - } + foreach ($account->getFieldsToShow() as $val) { + if ($val == 'BankCode') { + $content = $account->code_banque; + } elseif ($val == 'DeskCode') { + $content = $account->code_guichet; + } elseif ($val == 'BankAccountNumber') { + $content = $account->number; + } elseif ($val == 'BankAccountNumberKey') { + $content = $account->cle_rib; } - if ($val == 'BankCode') - { - if ($account->useDetailedBBAN() == 2) - { - print ''.$langs->trans("BankCode").''; - print ''.$account->code_banque.''; - print ''; - } - } - - if ($val == 'AccountNumber') - { - print ''.$langs->trans("BankAccountNumber").''; - print ''.$account->number.''; - print ''; - } - - if ($val == 'BankAccountNumberKey') - { - if ($account->useDetailedBBAN() == 1) - { - print ''.$langs->trans("BankAccountNumberKey").''; - print ''.$account->cle_rib.''; - print ''; - } - } + print ''.$langs->trans($val).''; + print ''.$content.''; + print ''; } print ''.$langs->trans("IBAN").''; @@ -290,65 +246,28 @@ if ($id && $action == 'edit' && $user->rights->user->user->creer) print ''; // Show fields of bank account - $fieldlists='BankCode DeskCode AccountNumber BankAccountNumberKey'; - if (! empty($conf->global->BANK_SHOW_ORDER_OPTION)) - { - if (is_numeric($conf->global->BANK_SHOW_ORDER_OPTION)) - { - if ($conf->global->BANK_SHOW_ORDER_OPTION == '1') $fieldlists='BankCode DeskCode BankAccountNumberKey AccountNumber'; - } - else $fieldlists=$conf->global->BANK_SHOW_ORDER_OPTION; - } - $fieldlistsarray=explode(' ',$fieldlists); - - foreach($fieldlistsarray as $val) - { - if ($val == 'BankCode') - { - if ($account->useDetailedBBAN() == 1) - { - print ''.$langs->trans("BankCode").''; - print ''; - print ''; - } + foreach ($account->getFieldsToShow() as $val) { + if ($val == 'BankCode') { + $name = 'code_banque'; + $size = 8; + $content = $account->code_banque; + } elseif ($val == 'DeskCode') { + $name = 'code_guichet'; + $size = 8; + $content = $account->code_guichet; + } elseif ($val == 'BankAccountNumber') { + $name = 'number'; + $size = 18; + $content = $account->number; + } elseif ($val == 'BankAccountNumberKey') { + $name = 'cle_rib'; + $size = 3; + $content = $account->cle_rib; } - if ($val == 'DeskCode') - { - if ($account->useDetailedBBAN() == 1) - { - print ''.$langs->trans("DeskCode").''; - print ''; - print ''; - } - } - - if ($val == 'BankCode') - { - if ($account->useDetailedBBAN() == 2) - { - print ''.$langs->trans("BankCode").''; - print ''; - print ''; - } - } - - if ($val == 'AccountNumber') - { - print ''.$langs->trans("BankAccountNumber").''; - print ''; - print ''; - } - - if ($val == 'BankAccountNumberKey') - { - if ($account->useDetailedBBAN() == 1) - { - print ''.$langs->trans("BankAccountNumberKey").''; - print ''; - print ''; - } - } + print ''.$langs->trans($val).''; + print ''; + print ''; } // IBAN diff --git a/htdocs/user/class/userbankaccount.class.php b/htdocs/user/class/userbankaccount.class.php index a91d064c7f8..4e88233fe35 100644 --- a/htdocs/user/class/userbankaccount.class.php +++ b/htdocs/user/class/userbankaccount.class.php @@ -4,6 +4,7 @@ * Copyright (C) 2012 Regis Houssin * Copyright (C) 2013 Peter Fontaine * Copyright (C) 2015 Alexandre Spangaro + * Copyright (C) 2016 Marcos García * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -57,7 +58,7 @@ class UserBankAccount extends Account /** * Create bank information record * - * @param Object $user User + * @param User $user User * @return int <0 if KO, >= 0 if OK */ function create($user='') @@ -177,78 +178,26 @@ class UserBankAccount extends Account } } - /** - * Return RIB - * - * @param boolean $displayriblabel Prepend or Hide Label - * @return string RIB - */ - function getRibLabel($displayriblabel = true) - { - global $langs,$conf; + /** + * Return RIB + * + * @param boolean $displayriblabel Prepend or Hide Label + * @return string RIB + */ + public function getRibLabel($displayriblabel = true) + { + $rib = ''; - if ($this->code_banque || $this->code_guichet || $this->number || $this->cle_rib) - { - if ($this->label && $displayriblabel) $rib = $this->label." : "; + if ($this->code_banque || $this->code_guichet || $this->number || $this->cle_rib) { - // Show fields of bank account - $fieldlists='BankCode DeskCode AccountNumber BankAccountNumberKey'; - if (! empty($conf->global->BANK_SHOW_ORDER_OPTION)) - { - if (is_numeric($conf->global->BANK_SHOW_ORDER_OPTION)) - { - if ($conf->global->BANK_SHOW_ORDER_OPTION == '1') $fieldlists='BankCode DeskCode BankAccountNumberKey AccountNumber'; - } - else $fieldlists=$conf->global->BANK_SHOW_ORDER_OPTION; + if ($this->label && $displayriblabel) { + $rib = $this->label." : "; } - $fieldlistsarray=explode(' ',$fieldlists); - foreach($fieldlistsarray as $val) - { - if ($val == 'BankCode') - { - if ($this->useDetailedBBAN() == 1) - { - $rib.=$this->code_banque.' '; - } - } + $rib .= (string) $this; + } - if ($val == 'DeskCode') - { - if ($this->useDetailedBBAN() == 1) - { - $rib.=$this->code_guichet.' '; - } - } - - if ($val == 'BankCode') - { - if ($this->useDetailedBBAN() == 2) - { - $rib.=$this->code_banque.' '; - } - } - - if ($val == 'AccountNumber') - { - $rib.=$this->number.' '; - } - - if ($val == 'BankAccountNumberKey') - { - if ($this->useDetailedBBAN() == 1) - { - $rib.=$this->cle_rib.' '; - } - } - } - } - else - { - $rib=''; - } - - return $rib; - } + return $rib; + } } From eff5e2ebd7e611fde44f9693cbfe8a722ae93db7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcos=20Garci=CC=81a=20de=20La=20Fuente?= Date: Sat, 19 Mar 2016 23:02:09 +0100 Subject: [PATCH 2/2] Replaced old AccountNumber key with BankAccountNumber key --- htdocs/admin/bank.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/htdocs/admin/bank.php b/htdocs/admin/bank.php index 048e351044d..e15987b69cb 100644 --- a/htdocs/admin/bank.php +++ b/htdocs/admin/bank.php @@ -155,10 +155,10 @@ print "\n"; $bankorder[0][0]=$langs->trans("BankOrderGlobal"); $bankorder[0][1]=$langs->trans("BankOrderGlobalDesc"); -$bankorder[0][2]='BankCode DeskCode AccountNumber BankAccountNumberKey'; +$bankorder[0][2]='BankCode DeskCode BankAccountNumber BankAccountNumberKey'; $bankorder[1][0]=$langs->trans("BankOrderES"); $bankorder[1][1]=$langs->trans("BankOrderESDesc"); -$bankorder[1][2]='BankCode DeskCode BankAccountNumberKey AccountNumber'; +$bankorder[1][2]='BankCode DeskCode BankAccountNumberKey BankAccountNumber'; $var = true; $i=0;