';
+
+ $nberr=0;
+
+ print ' ';
+ print ''.$langs->trans('MigrationBankTransfertsUpdate')." \n";
+
+ $sql = "SELECT ba.rowid as barowid, bb.rowid as bbrowid";
+ $sql.= " FROM ".MAIN_DB_PREFIX."bank as bb, ".MAIN_DB_PREFIX."bank as ba";
+ $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."bank_url as bu ON bu.fk_bank = ba.rowid";
+ $sql.= " WHERE ba.amount = -bb.amount AND ba.fk_account <> bb.fk_account";
+ $sql.= " AND ba.datev = bb.datev AND ba.datec = bb.datec";
+ $sql.= " AND bu.fk_bank IS NULL";
+ $resql = $db->query($sql);
+
+ dolibarr_install_syslog("migrate_links_transfert sql=".$sql);
+ if ($resql)
+ {
+ $i = 0;
+ $row = array();
+ $num = $db->num_rows($resql);
+
+ if ($num)
+ {
+ print $langs->trans('MigrationBankTransfertsToUpdate', $num)." \n";
+ $db->begin();
+
+ while ($i < $num)
+ {
+ $obj = $db->fetch_object($resql);
+
+ $sql = "INSERT INTO ".MAIN_DB_PREFIX."bank_url (";
+ $sql.= "fk_bank, url_id, url, label, type";
+ $sql.= ")";
+ $sql.= " VALUES (";
+ $sql.= $obj->barowid.",".$obj->bbrowid.", '/compta/bank/ligne.php?rowid=', '(banktransfert)', 'banktransfert'";
+ $sql.= ")";
+
+ print $sql.' ';
+ dolibarr_install_syslog("migrate_links_transfert sql=".$sql);
+
+ if (! $db->query($sql))
+ {
+ dolibarr_print_error($db);
+ $nberr++;
+ }
+
+ $i++;
+ }
+
+ if (! $nberr)
+ {
+ // $db->rollback();
+ $db->commit();
+ print $langs->trans('MigrationSuccessfullUpdate')." ";
+ }
+ else
+ {
+ $db->rollback();
+ print $langs->trans('MigrationUpdateFailed').' ';
+ }
+ }
+ else {
+ print $langs->trans('MigrationBankTransfertsNothingToUpdate')." \n";
+ }
+ }
+ else
+ {
+ dolibarr_print_error($db);
+ }
+
+ print ' |
';
+}
+
+
/*
* Mise a jour des date de contrats non renseignées
*/
diff --git a/htdocs/langs/en_US/banks.lang b/htdocs/langs/en_US/banks.lang
index 9c32fff75da..8e66c4e5691 100644
--- a/htdocs/langs/en_US/banks.lang
+++ b/htdocs/langs/en_US/banks.lang
@@ -110,3 +110,4 @@ ThisWillAlsoDeleteBankRecord=This will also delete generated bank transactions
BankMovements=Movements
CashBudget=Cash budget
ExportDataset_banque_1=Bank transactions and account statement
+TransactionOnTheOtherAccount=Transaction on the other account
diff --git a/htdocs/langs/fr_FR/banks.lang b/htdocs/langs/fr_FR/banks.lang
index aaf4361ac50..5085ac86d7d 100644
--- a/htdocs/langs/fr_FR/banks.lang
+++ b/htdocs/langs/fr_FR/banks.lang
@@ -109,4 +109,5 @@ ConfirmDeleteTransaction=Etes-vous sur de vouloir supprimer cette transaction ?
ThisWillAlsoDeleteBankRecord=Ceci supprimera aussi les écritures banquaires générées
BankMovements=Mouvements
CashBudget=Budget de trésorerie
-ExportDataset_banque_1=Transaction bancaire et relevé
\ No newline at end of file
+ExportDataset_banque_1=Transaction bancaire et relevé
+TransactionOnTheOtherAccount=Transaction sur l'autre compte
\ No newline at end of file
diff --git a/mysql/migration/2.1.0-2.2.0.sql b/mysql/migration/2.1.0-2.2.0.sql
index 220078b25d5..fb718723e3d 100644
--- a/mysql/migration/2.1.0-2.2.0.sql
+++ b/mysql/migration/2.1.0-2.2.0.sql
@@ -21,10 +21,11 @@ update llx_bank_account set currency_code='EUR' where (currency_code IS NULL or
-- Sequence de requete pour nettoyage et correction champ type table llx_bank_url
update llx_bank_url set type='company' where (type is null or type = '') and url like '%compta/fiche.php?socid=%';
-alter table llx_bank_url modify `type` enum("","?","company","payment","payment_supplier","member","subscription","donation","sc","payment_sc");
+alter table llx_bank_url modify `type` varchar(20);
update llx_bank_url set type='?' where (type is null or type = '') and url like '%compta/facture.php?facid=%';
update llx_bank_url set type='payment_supplier' where (type='' or type is null) and url like '%fourn/paiement/fiche.php?id=%';
-alter table llx_bank_url modify `type` enum("?","company","payment","payment_supplier","member","subscription","donation","sc","payment_sc") NOT NULL;
+update llx_bank_url set type='?' where (type is null or type = '');
+alter table llx_bank_url modify `type` varchar(20) NOT NULL;
insert into llx_rights_def (id, libelle, module, type, bydefault, subperms, perms) values (114,'Rapprocher transactions','banque','w',0,null,'consolidate');
diff --git a/mysql/tables/llx_bank_url.sql b/mysql/tables/llx_bank_url.sql
index 6b053592aca..e3f2379e859 100644
--- a/mysql/tables/llx_bank_url.sql
+++ b/mysql/tables/llx_bank_url.sql
@@ -28,5 +28,5 @@ create table llx_bank_url
url_id integer,
url varchar(255),
label varchar(255),
- type enum("?","company","payment","payment_supplier","member","subscription","donation","sc","payment_sc") NOT NULL
+ type varchar(20) NOT NULL
)type=innodb;