diff --git a/htdocs/install/mysql/migration/3.4.0-3.5.0.sql b/htdocs/install/mysql/migration/3.4.0-3.5.0.sql index 81a61afbd81e7c5f0e19f557052c5ed9689fbc07..1d2d3bea1d8c54002a1c609c0095b9a94b71be20 100755 --- a/htdocs/install/mysql/migration/3.4.0-3.5.0.sql +++ b/htdocs/install/mysql/migration/3.4.0-3.5.0.sql @@ -348,3 +348,7 @@ ALTER TABLE llx_user ADD skype VARCHAR(255) AFTER job; ALTER TABLE llx_socpeople ADD skype VARCHAR(255) AFTER jabberid; ALTER TABLE llx_societe ADD skype VARCHAR(255) AFTER email; ALTER TABLE llx_adherent ADD skype VARCHAR(255) AFTER email; + +-- multi-rib +ALTER TABLE llx_societe_rib ADD default_rib TINYINT NOT NULL DEFAULT 0 AFTER owner_address; +UPDATE llx_societe_rib SET default_rib = 1; diff --git a/htdocs/install/mysql/tables/llx_societe_rib.sql b/htdocs/install/mysql/tables/llx_societe_rib.sql index a526d5b82d7590a15d34355ae5d15d2d2e5bbaa7..d928da868edceaf094505a72d07afdaf2f776195 100644 --- a/htdocs/install/mysql/tables/llx_societe_rib.sql +++ b/htdocs/install/mysql/tables/llx_societe_rib.sql @@ -2,6 +2,7 @@ -- Copyright (C) 2000-2004 Rodolphe Quiedeville <rodolphe@quiedeville.org> -- Copyright (C) 2005-2009 Regis Houssin <regis.houssin@capnetworks.com> -- Copyright (C) 2012 Juanjo Menent <jmenent@2byte.es> +-- Copyright (C) 2013 Peter Fontaine <contact@peterfontaine.fr> -- -- 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 @@ -35,6 +36,7 @@ create table llx_societe_rib domiciliation varchar(255), proprio varchar(60), owner_address varchar(255), + default_rib tinyint NOT NULL DEFAULT 0, import_key varchar(14) -- import key diff --git a/htdocs/langs/en_US/banks.lang b/htdocs/langs/en_US/banks.lang index 4d504db97943b1d7866b370773c2ff88900b3fa3..3503ff11e62f16f0e1f70b8b0a8a5cf0c6948356 100644 --- a/htdocs/langs/en_US/banks.lang +++ b/htdocs/langs/en_US/banks.lang @@ -149,4 +149,8 @@ InputReceiptNumber=Choose the bank statement related with the conciliation. Use EventualyAddCategory=Eventually, specify a category in which to classify the records ToConciliate=To conciliate? ThenCheckLinesAndConciliate=Then, check the lines present in the bank statement and click -BankDashboard=Bank accounts summary \ No newline at end of file +BankDashboard=Bank accounts summary +DefaultRIB=Default BAN +AllRIB=All BAN +LabelRIB=BAN Label +NoBANRecord=No BAN record diff --git a/htdocs/langs/fr_FR/banks.lang b/htdocs/langs/fr_FR/banks.lang index 2105cce24e14a0b679b1fe73680d848d8731c411..29440edd862eae73cc5d475a7ecaf805a6385c19 100644 --- a/htdocs/langs/fr_FR/banks.lang +++ b/htdocs/langs/fr_FR/banks.lang @@ -150,3 +150,7 @@ EventualyAddCategory=Eventuellement, saisissez une catégorie dans laquelle clas ToConciliate=A rapprocher ? ThenCheckLinesAndConciliate=Ensuite, cochez les lignes présentes sur le relevé et cliquez sur BankDashboard=Synthèse comptes bancaires +DefaultRIB=RIB par défaut +AllRIB=Tous les RIB +LabelRIB=Nom du RIB +NoBANRecord=Aucun RIB enregistré diff --git a/htdocs/societe/class/companybankaccount.class.php b/htdocs/societe/class/companybankaccount.class.php index ce637588d8a675169d2acc78fb34c51a773962dd..7b80b80f0bdca6c0215134648d0dfc9465e9a32a 100644 --- a/htdocs/societe/class/companybankaccount.class.php +++ b/htdocs/societe/class/companybankaccount.class.php @@ -2,6 +2,7 @@ /* Copyright (C) 2004 Rodolphe Quiedeville <rodolphe@quiedeville.org> * Copyright (C) 2010 Laurent Destailleur <eldy@users.sourceforge.net> * Copyright (C) 2012 Regis Houssin <regis.houssin@capnetworks.com> + * Copyright (C) 2013 Peter Fontaine <contact@peterfontaine.fr> * * 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 @@ -34,6 +35,7 @@ class CompanyBankAccount extends Account var $rowid; var $socid; + var $label; var $bank; var $courant; var $clos; @@ -46,6 +48,7 @@ class CompanyBankAccount extends Account var $iban_prefix; // deprecated var $proprio; var $owner_address; + var $default_rib; /** * Constructor @@ -60,6 +63,7 @@ class CompanyBankAccount extends Account $this->clos = 0; $this->solde = 0; $this->error_number = 0; + $this->default_rib = 0; return 1; } @@ -79,6 +83,8 @@ class CompanyBankAccount extends Account { if ($this->db->affected_rows($resql)) { + $this->default_rib = 1; + $this->id = $this->db->last_insert_id(MAIN_DB_PREFIX."societe_rib"); return 1; } } @@ -97,21 +103,25 @@ class CompanyBankAccount extends Account */ function update($user='') { - $sql = "SELECT fk_soc FROM ".MAIN_DB_PREFIX."societe_rib"; - $sql .= " WHERE fk_soc = ".$this->socid; +// $sql = "SELECT rowid FROM ".MAIN_DB_PREFIX."societe_rib"; +// $sql .= " WHERE rowid = ".$this->id; +// +// $result = $this->db->query($sql); +// if ($result) +// { +// if ($this->db->num_rows($result) == 0) +// { +// $this->create(); +// } +// } +// else +// { +// dol_print_error($this->db); +// return 0; +// } - $result = $this->db->query($sql); - if ($result) - { - if ($this->db->num_rows($result) == 0) - { - $this->create(); - } - } - else - { - dol_print_error($this->db); - return 0; + if (!$this->id) { + $this->create(); } $sql = "UPDATE ".MAIN_DB_PREFIX."societe_rib SET "; @@ -125,7 +135,12 @@ class CompanyBankAccount extends Account $sql .= ",domiciliation='".$this->db->escape($this->domiciliation)."'"; $sql .= ",proprio = '".$this->db->escape($this->proprio)."'"; $sql .= ",owner_address = '".$this->db->escape($this->owner_address)."'"; - $sql .= " WHERE fk_soc = ".$this->socid; + $sql .= ",default_rib = ".$this->default_rib; + if (trim($this->label) != '') + $sql .= ",label = '".$this->db->escape($this->label)."'"; + else + $sql .= ",label = NULL"; + $sql .= " WHERE rowid = ".$this->id; $result = $this->db->query($sql); if ($result) @@ -150,10 +165,10 @@ class CompanyBankAccount extends Account { if (empty($id) && empty($socid)) return -1; - $sql = "SELECT rowid, fk_soc, bank, number, code_banque, code_guichet, cle_rib, bic, iban_prefix as iban, domiciliation, proprio, owner_address"; + $sql = "SELECT rowid, fk_soc, bank, number, code_banque, code_guichet, cle_rib, bic, iban_prefix as iban, domiciliation, proprio, owner_address, default_rib, label"; $sql.= " FROM ".MAIN_DB_PREFIX."societe_rib"; if ($id) $sql.= " WHERE rowid = ".$id; - if ($socid) $sql.= " WHERE fk_soc = ".$socid; + if ($socid) $sql.= " WHERE fk_soc = ".$socid." AND default_rib = 1"; $resql = $this->db->query($sql); if ($resql) @@ -175,6 +190,8 @@ class CompanyBankAccount extends Account $this->domiciliation = $obj->domiciliation; $this->proprio = $obj->proprio; $this->owner_address = $obj->owner_address; + $this->label = $obj->label; + $this->default_rib = $obj->default_rib; } $this->db->free($resql); @@ -192,13 +209,15 @@ class CompanyBankAccount extends Account * * @return string RIB */ - function getRibLabel() + function getRibLabel($displayriblabel = true) { global $langs; - + if ($this->code_banque || $this->code_guichet || $this->number || $this->cle_rib) { - $rib = $this->code_banque." ".$this->code_guichet." ".$this->number; + if ($this->label && $displayriblabel) + $rib = $this->label." : "; + $rib.= $this->code_banque." ".$this->code_guichet." ".$this->number; $rib.=($this->cle_rib?" (".$this->cle_rib.")":""); } else @@ -208,6 +227,53 @@ class CompanyBankAccount extends Account return $rib; } + + /** + * Set RIB as Default + * + * @param int $id RIB id + * @return int 0 if KO, 1 if OK + */ + function setAsDefault($id) + { + if ($id) { + $sql1 = "SELECT fk_soc FROM ".MAIN_DB_PREFIX."societe_rib"; + $sql1.= " WHERE rowid = ".$id; + + $result1 = $this->db->query($sql1); + if ($result1) { + if ($this->db->num_rows($result1) == 0) { + return 0; + } else { + $obj = $this->db->fetch_object($result1); + $sql2 = "UPDATE ".MAIN_DB_PREFIX."societe_rib SET default_rib = 0 "; + $sql2.= "WHERE fk_soc = ".$obj->fk_soc; + + $sql3 = "UPDATE ".MAIN_DB_PREFIX."societe_rib SET default_rib = 1 "; + $sql3.= "WHERE rowid = ".$id; + + $this->db->begin(); + + $result2 = $this->db->query($sql2); + $result3 = $this->db->query($sql3); + + if (!$result2 || !$result3) { + dol_print_error($this->db); + $this->db->rollback(); + return 0; + } else { + $this->db->commit(); + return 1; + } + } + } else { + dol_print_error($this->db); + return 0; + } + } else { + return 0; + } + } } ?> diff --git a/htdocs/societe/class/societe.class.php b/htdocs/societe/class/societe.class.php index e79242d35a94142740ef7d8251f2f39c1637c0a4..fc3e7b94ca352cabbb4172b46f3fc70b3cd49885 100644 --- a/htdocs/societe/class/societe.class.php +++ b/htdocs/societe/class/societe.class.php @@ -8,7 +8,8 @@ * Copyright (C) 2008 Patrick Raguin <patrick.raguin@auguria.net> * Copyright (C) 2010-2011 Juanjo Menent <jmenent@2byte.es> * Copyright (C) 2013 Florian Henry <florian.henry@open-concept.pro> - * Copyright (C) 2013 Alexandre Spangaro <alexandre.spangaro@gmail.com> + * Copyright (C) 2013 Alexandre Spangaro <alexandre.spangaro@gmail.com> + * Copyright (C) 2013 Peter Fontaine <contact@peterfontaine.fr> * * 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 @@ -1753,6 +1754,34 @@ class Societe extends CommonObject return $bac->getRibLabel(); } + /** + * Return Array of RIB + * + * @return array|int 0 if KO, Array of CompanyBanckAccount if OK + */ + function get_all_rib() + { + require_once DOL_DOCUMENT_ROOT . '/societe/class/companybankaccount.class.php'; + $sql = "SELECT rowid FROM ".MAIN_DB_PREFIX."societe_rib WHERE fk_soc = ".$this->id; + $result = $this->db->query($sql); + if (!$result) { + $this->error++; + $this->errors[] = $this->db->lasterror; + return 0; + } else { + $num_rows = $this->db->num_rows($result); + $rib_array = array(); + if ($num_rows) { + while ($obj = $this->db->fetch_object($result)) { + $rib = new CompanyBankAccount($this->db); + $rib->fetch($obj->rowid); + $rib_array[] = $rib; + } + } + return $rib_array; + } + } + /** * Attribut un code client a partir du module de controle des codes. * Return value is stored into this->code_client diff --git a/htdocs/societe/rib.php b/htdocs/societe/rib.php index e85845c6a59a670e8ebd4ae5daf03c5860b4c6c7..b3432d105a836a6bd10b2e244f6d18f8bf5f121a 100644 --- a/htdocs/societe/rib.php +++ b/htdocs/societe/rib.php @@ -3,6 +3,7 @@ * Copyright (C) 2003 Jean-Louis Bergamo <jlb@j1b.org> * Copyright (C) 2004-2011 Laurent Destailleur <eldy@users.sourceforge.net> * Copyright (C) 2005-2009 Regis Houssin <regis.houssin@capnetworks.com> + * Copyright (C) 2013 Peter Fontaine <contact@peterfontaine.fr> * * 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 @@ -52,6 +53,8 @@ if ($_POST["action"] == 'update' && ! $_POST["cancel"]) // Modification $account = new CompanyBankAccount($db); + $account->fetch($_POST["id"]); + $account->socid = $soc->id; $account->bank = $_POST["bank"]; @@ -76,11 +79,59 @@ if ($_POST["action"] == 'update' && ! $_POST["cancel"]) } else { - $_GET["id"]=$_POST["id"]; // Force chargement page en mode visu + $url=DOL_URL_ROOT.'/societe/rib.php?socid='.$soc->id; + header('Location: '.$url); + exit; } } +if ($_POST["action"] == 'add' && ! $_POST["cancel"]) +{ + // Ajout + $account = new CompanyBankAccount($db); + + $account->socid = $soc->id; + + $account->bank = $_POST["bank"]; + $account->label = $_POST["label"]; + $account->courant = $_POST["courant"]; + $account->clos = $_POST["clos"]; + $account->code_banque = $_POST["code_banque"]; + $account->code_guichet = $_POST["code_guichet"]; + $account->number = $_POST["number"]; + $account->cle_rib = $_POST["cle_rib"]; + $account->bic = $_POST["bic"]; + $account->iban_prefix = $_POST["iban_prefix"]; + $account->domiciliation = $_POST["domiciliation"]; + $account->proprio = $_POST["proprio"]; + $account->owner_address = $_POST["owner_address"]; + + $result = $account->update($user); + if (! $result) + { + $message=$account->error; + $_GET["action"]='create'; // Force chargement page création + } + else + { + $url=DOL_URL_ROOT.'/societe/rib.php?socid='.$soc->id; + header('Location: '.$url); + exit; + } +} +if ($_GET['action'] == 'setasdefault') +{ + $account = new CompanyBankAccount($db); + $res = $account->setAsDefault($_GET['ribid']); + if ($res) { + $url=DOL_URL_ROOT.'/societe/rib.php?socid='.$soc->id; + header('Location: '.$url); + exit; + } else { + $message=$db->lasterror; + } +} /* * View @@ -93,7 +144,10 @@ $head=societe_prepare_head2($soc); dol_fiche_head($head, 'rib', $langs->trans("ThirdParty"),0,'company'); $account = new CompanyBankAccount($db); -$account->fetch(0,$soc->id); +if (!$_GET['id']) + $account->fetch(0,$soc->id); +else + $account->fetch($_GET['id']); if (empty($account->socid)) $account->socid=$soc->id; @@ -104,10 +158,14 @@ if (empty($account->socid)) $account->socid=$soc->id; /* */ /* ************************************************************************** */ -if ($_GET["socid"] && $_GET["action"] != 'edit') +if ($_GET["socid"] && $_GET["action"] != 'edit' && $_GET["action"] != "create") { + print_titre($langs->trans("DefaultRIB")); print '<table class="border" width="100%">'; + print '<tr><td>'.$langs->trans("LabelRIB").'</td>'; + print '<td colspan="4">'.$account->label.'</td></tr>'; + print '<tr><td valign="top" width="35%">'.$langs->trans("Bank").'</td>'; print '<td colspan="4">'.$account->bank.'</td></tr>'; @@ -165,6 +223,54 @@ if ($_GET["socid"] && $_GET["action"] != 'edit') print '<div class="warning">'.$langs->trans("RIBControlError").'</div>'; } + print "<br />"; + + print_titre($langs->trans("AllRIB")); + + $rib_list = $soc->get_all_rib(); + $var = false; + if (is_array($rib_list)) { + print '<table class="liste" width="100%">'; + + print '<tr class="liste_titre">'; + print_liste_field_titre($langs->trans("LabelRIB")); + print_liste_field_titre($langs->trans("Bank")); + print_liste_field_titre($langs->trans("RIB")); + print_liste_field_titre($langs->trans("DefaultRIB")); + print '<td width="40"></td>'; + print '</tr>'; + + foreach ($rib_list as $rib) { + print "<tr $bc[$var]>"; + print '<td>'.$rib->label.'</td>'; + print '<td>'.$rib->bank.'</td>'; + print '<td>'.$rib->getRibLabel(false).'</td>'; + print '<td align="center" width="70">'; + if (!$rib->default_rib) { + print '<a href="'.DOL_URL_ROOT.'/societe/rib.php?socid='.$soc->id.'&ribid='.$rib->id.'&action=setasdefault">'; + print img_picto($langs->trans("Disabled"),'switch_off'); + print '</a>'; + } else { + print img_picto($langs->trans("Enabled"),'switch_on'); + } + print '</td>'; + print '<td align="right">'; + print '<a href="'.DOL_URL_ROOT.'/societe/rib.php?socid='.$soc->id.'&id='.$rib->id.'&action=edit">'; + print img_picto($langs->trans("Modify"),'edit'); + print '</a>'; + print '</td>'; + print '</tr>'; + $var = !$var; + } + + if (count($rib_list) == 0) { + print '<tr><td colspan="5" align="center">'.$langs->trans("NoBANRecord").'</td></tr>'; + } + + print '</table>'; + } else { + dol_print_error($db); + } } /* ************************************************************************** */ @@ -176,31 +282,34 @@ if ($_GET["socid"] && $_GET["action"] != 'edit') if ($_GET["socid"] && $_GET["action"] == 'edit' && $user->rights->societe->creer) { - $form = new Form($db); + $form = new Form($db); - dol_htmloutput_mesg($message); + dol_htmloutput_mesg($message); - print '<form action="rib.php?socid='.$soc->id.'" method="post">'; - print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">'; - print '<input type="hidden" name="action" value="update">'; - print '<input type="hidden" name="id" value="'.$_GET["id"].'">'; + print '<form action="rib.php?socid='.$soc->id.'" method="post">'; + print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">'; + print '<input type="hidden" name="action" value="update">'; + print '<input type="hidden" name="id" value="'.$_GET["id"].'">'; - print '<table class="border" width="100%">'; + print '<table class="border" width="100%">'; - print '<tr><td valign="top" width="35%">'.$langs->trans("Bank").'</td>'; - print '<td colspan="4"><input size="30" type="text" name="bank" value="'.$account->bank.'"></td></tr>'; + print '<tr><td valign="top" width="35%">'.$langs->trans("LabelRIB").'</td>'; + print '<td colspan="4"><input size="30" type="text" name="label" value="'.$account->label.'"></td></tr>'; - // BBAN - 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>'; + print '<tr><td>'.$langs->trans("Bank").'</td>'; + print '<td><input size="30" type="text" name="bank" value="'.$account->bank.'"></td></tr>'; - 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>'; - } + // BBAN + 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>'; + + 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 ($account->useDetailedBBAN() == 2) { print '<tr><td>'.$langs->trans("BankCode").'</td>'; @@ -208,52 +317,135 @@ if ($_GET["socid"] && $_GET["action"] == 'edit' && $user->rights->societe->creer print '</tr>'; } - print '<td>'.$langs->trans("BankAccountNumber").'</td>'; - print '<td><input size="15" type="text" class="flat" name="number" value="'.$account->number.'"></td>'; - print '</tr>'; + print '<td>'.$langs->trans("BankAccountNumber").'</td>'; + print '<td><input size="15" type="text" class="flat" name="number" value="'.$account->number.'"></td>'; + print '</tr>'; - 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>'; - } + 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>'; + } - // IBAN - print '<tr><td valign="top">'.$langs->trans("IBAN").'</td>'; - print '<td colspan="4"><input size="30" type="text" name="iban_prefix" value="'.$account->iban_prefix.'"></td></tr>'; + // IBAN + print '<tr><td valign="top">'.$langs->trans("IBAN").'</td>'; + print '<td colspan="4"><input size="30" type="text" name="iban_prefix" value="'.$account->iban_prefix.'"></td></tr>'; - print '<tr><td valign="top">'.$langs->trans("BIC").'</td>'; - print '<td colspan="4"><input size="12" type="text" name="bic" value="'.$account->bic.'"></td></tr>'; + print '<tr><td valign="top">'.$langs->trans("BIC").'</td>'; + print '<td colspan="4"><input size="12" type="text" name="bic" value="'.$account->bic.'"></td></tr>'; - print '<tr><td valign="top">'.$langs->trans("BankAccountDomiciliation").'</td><td colspan="4">'; - print "<textarea name=\"domiciliation\" rows=\"4\" cols=\"40\">"; - print $account->domiciliation; - print "</textarea></td></tr>"; + print '<tr><td valign="top">'.$langs->trans("BankAccountDomiciliation").'</td><td colspan="4">'; + print "<textarea name=\"domiciliation\" rows=\"4\" cols=\"40\">"; + print $account->domiciliation; + print "</textarea></td></tr>"; - print '<tr><td valign="top">'.$langs->trans("BankAccountOwner").'</td>'; - print '<td colspan="4"><input size="30" type="text" name="proprio" value="'.$account->proprio.'"></td></tr>'; - print "</td></tr>\n"; + print '<tr><td valign="top">'.$langs->trans("BankAccountOwner").'</td>'; + print '<td colspan="4"><input size="30" type="text" name="proprio" value="'.$account->proprio.'"></td></tr>'; + print "</td></tr>\n"; - print '<tr><td valign="top">'.$langs->trans("BankAccountOwnerAddress").'</td><td colspan="4">'; - print "<textarea name=\"owner_address\" rows=\"4\" cols=\"40\">"; - print $account->owner_address; - print "</textarea></td></tr>"; + print '<tr><td valign="top">'.$langs->trans("BankAccountOwnerAddress").'</td><td colspan="4">'; + print "<textarea name=\"owner_address\" rows=\"4\" cols=\"40\">"; + print $account->owner_address; + print "</textarea></td></tr>"; + + print '</table><br>'; + + print '<center><input class="button" value="'.$langs->trans("Modify").'" type="submit">'; + print ' <input name="cancel" class="button" value="'.$langs->trans("Cancel").'" type="submit">'; + print '</center>'; + + print '</form>'; +} + + +/* ************************************************************************** */ +/* */ +/* Création */ +/* */ +/* ************************************************************************** */ + +if ($_GET["socid"] && $_GET["action"] == 'create' && $user->rights->societe->creer) +{ + + $form = new Form($db); + + dol_htmloutput_mesg($message); + + print '<form action="rib.php?socid='.$soc->id.'" method="post">'; + print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">'; + print '<input type="hidden" name="action" value="add">'; + print '<table class="border" width="100%">'; + + + print '<tr><td valign="top" width="35%">'.$langs->trans("LabelRIB").'</td>'; + print '<td colspan="4"><input size="30" type="text" name="label"></td></tr>'; + + print '<tr><td>'.$langs->trans("Bank").'</td>'; + print '<td><input size="30" type="text" name="bank"></td></tr>'; + + // BBAN + if ($account->useDetailedBBAN() == 1) + { + print '<tr><td>'.$langs->trans("BankCode").'</td>'; + print '<td><input size="8" type="text" class="flat" name="code_banque"></td>'; + print '</tr>'; + + print '<tr><td>'.$langs->trans("DeskCode").'</td>'; + print '<td><input size="8" type="text" class="flat" name="code_guichet"></td>'; + print '</tr>'; + } + if ($account->useDetailedBBAN() == 2) + { + print '<tr><td>'.$langs->trans("BankCode").'</td>'; + print '<td><input size="8" type="text" class="flat" name="code_banque"></td>'; + print '</tr>'; + } + + print '<td>'.$langs->trans("BankAccountNumber").'</td>'; + print '<td><input size="15" type="text" class="flat" name="number"></td>'; + print '</tr>'; + + if ($account->useDetailedBBAN() == 1) + { + print '<td>'.$langs->trans("BankAccountNumberKey").'</td>'; + print '<td><input size="3" type="text" class="flat" name="cle_rib"></td>'; + print '</tr>'; + } + + // IBAN + print '<tr><td valign="top">'.$langs->trans("IBAN").'</td>'; + print '<td colspan="4"><input size="30" type="text" name="iban_prefix"></td></tr>'; + + print '<tr><td valign="top">'.$langs->trans("BIC").'</td>'; + print '<td colspan="4"><input size="12" type="text" name="bic"></td></tr>'; + + print '<tr><td valign="top">'.$langs->trans("BankAccountDomiciliation").'</td><td colspan="4">'; + print "<textarea name=\"domiciliation\" rows=\"4\" cols=\"40\">"; + print "</textarea></td></tr>"; + + print '<tr><td valign="top">'.$langs->trans("BankAccountOwner").'</td>'; + print '<td colspan="4"><input size="30" type="text" name="proprio"></td></tr>'; + print "</td></tr>\n"; + + print '<tr><td valign="top">'.$langs->trans("BankAccountOwnerAddress").'</td><td colspan="4">'; + print "<textarea name=\"owner_address\" rows=\"4\" cols=\"40\">"; + print "</textarea></td></tr>"; - print '</table><br>'; + print '</table><br>'; - print '<center><input class="button" value="'.$langs->trans("Modify").'" type="submit">'; - print ' <input name="cancel" class="button" value="'.$langs->trans("Cancel").'" type="submit">'; - print '</center>'; + print '<center><input class="button" value="'.$langs->trans("Add").'" type="submit">'; + print ' <input name="cancel" class="button" value="'.$langs->trans("Cancel").'" type="submit">'; + print '</center>'; - print '</form>'; + print '</form>'; } dol_fiche_end(); -if ($_GET["socid"] && $_GET["action"] != 'edit') +if ($_GET["socid"] && $_GET["action"] != 'edit' && $_GET["action"] != 'create') { /* * Barre d'actions @@ -262,7 +454,7 @@ if ($_GET["socid"] && $_GET["action"] != 'edit') if ($user->rights->societe->creer) { - print '<a class="butAction" href="rib.php?socid='.$soc->id.'&action=edit">'.$langs->trans("Modify").'</a>'; + print '<a class="butAction" href="rib.php?socid='.$soc->id.'&action=create">'.$langs->trans("Add").'</a>'; } print '</div>';