2
0
forked from Wavyzz/dolibarr

Merge pull request #4858 from marcosgdf/oop-refactor-bankaccount-tostring

NEW Created Account::__toString, Account::getFieldsToShow and Account::getAccountNumberOrder to refactor the way account number was shown
This commit is contained in:
Laurent Destailleur
2016-04-19 19:11:54 +02:00
8 changed files with 297 additions and 596 deletions

View File

@@ -4,7 +4,7 @@
* Copyright (C) 2004-2015 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2005-2009 Regis Houssin <regis.houssin@capnetworks.com>
* Copyright (C) 2013 Peter Fontaine <contact@peterfontaine.fr>
* Copyright (C) 2015 Marcos García <marcosgdf@gmail.com>
* Copyright (C) 2015-2016 Marcos García <marcosgdf@gmail.com>
* Copyright (C) 2015 Alexandre Spangaro <aspangaro.dolibarr@gmail.com>
*
* This program is free software; you can redistribute it and/or modify
@@ -149,64 +149,20 @@ if ($id && $action != 'edit')
print '<td colspan="4">'.$account->bank.'</td></tr>';
// 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 '<tr><td>'.$langs->trans("BankCode").'</td>';
print '<td colspan="3">'.$account->code_banque.'</td>';
print '</tr>';
}
}
if ($val == 'DeskCode')
{
if ($account->useDetailedBBAN() == 1)
{
print '<tr><td>'.$langs->trans("DeskCode").'</td>';
print '<td colspan="3">'.$account->code_guichet.'</td>';
print '</tr>';
}
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 '<tr><td>'.$langs->trans("BankCode").'</td>';
print '<td colspan="3">'.$account->code_banque.'</td>';
print '</tr>';
}
}
if ($val == 'AccountNumber')
{
print '<tr><td>'.$langs->trans("BankAccountNumber").'</td>';
print '<td colspan="3">'.$account->number.'</td>';
print '</tr>';
}
if ($val == 'BankAccountNumberKey')
{
if ($account->useDetailedBBAN() == 1)
{
print '<tr><td>'.$langs->trans("BankAccountNumberKey").'</td>';
print '<td colspan="3">'.$account->cle_rib.'</td>';
print '</tr>';
}
}
print '<tr><td>'.$langs->trans($val).'</td>';
print '<td colspan="3">'.$content.'</td>';
print '</tr>';
}
print '<tr><td valign="top">'.$langs->trans("IBAN").'</td>';
@@ -290,65 +246,28 @@ if ($id && $action == 'edit' && $user->rights->user->user->creer)
print '<td><input size="30" type="text" name="bank" value="'.$account->bank.'"></td></tr>';
// 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 '<tr><td>'.$langs->trans("BankCode").'</td>';
print '<td><input size="8" type="text" class="flat" name="code_banque" value="'.$account->code_banque.'"></td>';
print '</tr>';
}
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 '<tr><td>'.$langs->trans("DeskCode").'</td>';
print '<td><input size="8" type="text" class="flat" name="code_guichet" value="'.$account->code_guichet.'"></td>';
print '</tr>';
}
}
if ($val == 'BankCode')
{
if ($account->useDetailedBBAN() == 2)
{
print '<tr><td>'.$langs->trans("BankCode").'</td>';
print '<td><input size="8" type="text" class="flat" name="code_banque" value="'.$account->code_banque.'"></td>';
print '</tr>';
}
}
if ($val == 'AccountNumber')
{
print '<td class="fieldrequired">'.$langs->trans("BankAccountNumber").'</td>';
print '<td><input size="18" type="text" class="flat" name="number" value="'.$account->number.'"></td>';
print '</tr>';
}
if ($val == 'BankAccountNumberKey')
{
if ($account->useDetailedBBAN() == 1)
{
print '<td>'.$langs->trans("BankAccountNumberKey").'</td>';
print '<td><input size="3" type="text" class="flat" name="cle_rib" value="'.$account->cle_rib.'"></td>';
print '</tr>';
}
}
print '<td>'.$langs->trans($val).'</td>';
print '<td><input size="'.$size.'" type="text" class="flat" name="'.$name.'" value="'.$content.'"></td>';
print '</tr>';
}
// IBAN

View File

@@ -4,6 +4,7 @@
* Copyright (C) 2012 Regis Houssin <regis.houssin@capnetworks.com>
* Copyright (C) 2013 Peter Fontaine <contact@peterfontaine.fr>
* Copyright (C) 2015 Alexandre Spangaro <aspangaro.dolibarr@gmail.com>
* Copyright (C) 2016 Marcos García <marcosgdf@gmail.com>
*
* 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.'&nbsp;';
}
}
$rib .= (string) $this;
}
if ($val == 'DeskCode')
{
if ($this->useDetailedBBAN() == 1)
{
$rib.=$this->code_guichet.'&nbsp;';
}
}
if ($val == 'BankCode')
{
if ($this->useDetailedBBAN() == 2)
{
$rib.=$this->code_banque.'&nbsp;';
}
}
if ($val == 'AccountNumber')
{
$rib.=$this->number.'&nbsp;';
}
if ($val == 'BankAccountNumberKey')
{
if ($this->useDetailedBBAN() == 1)
{
$rib.=$this->cle_rib.'&nbsp;';
}
}
}
}
else
{
$rib='';
}
return $rib;
}
return $rib;
}
}