Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop
This commit is contained in:
commit
83c0b44468
@ -9,6 +9,7 @@
|
||||
* Copyright (C) 2015-2017 Alexandre Spangaro <aspangaro@open-dsi.fr>
|
||||
* Copyright (C) 2016 Ferran Marcet <fmarcet@2byte.es>
|
||||
* Copyright (C) 2019 JC Prieto <jcprieto@virtual20.com><prietojc@gmail.com>
|
||||
* Copyright (C) 2022 Frédéric France <frederic.france@netlogic.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
|
||||
@ -852,7 +853,7 @@ class Account extends CommonObject
|
||||
|
||||
$sql .= ",min_allowed = ".($this->min_allowed != '' ? price2num($this->min_allowed) : "null");
|
||||
$sql .= ",min_desired = ".($this->min_desired != '' ? price2num($this->min_desired) : "null");
|
||||
$sql .= ",comment = '".$this->db->escape($this->comment)."'";
|
||||
$sql .= ",comment = '".$this->db->escape($this->comment)."'";
|
||||
|
||||
$sql .= ",state_id = ".($this->state_id > 0 ? ((int) $this->state_id) : "null");
|
||||
$sql .= ",fk_pays = ".($this->country_id > 0 ? ((int) $this->country_id) : "null");
|
||||
@ -1926,18 +1927,18 @@ class AccountLine extends CommonObject
|
||||
$obj = $this->db->fetch_object($result);
|
||||
if ($obj) {
|
||||
$this->id = $obj->rowid;
|
||||
$this->rowid = $obj->rowid;
|
||||
$this->rowid = $obj->rowid;
|
||||
$this->ref = $obj->rowid;
|
||||
|
||||
$this->datec = $obj->datec;
|
||||
$this->datev = $obj->datev;
|
||||
$this->dateo = $obj->dateo;
|
||||
$this->datec = $obj->datec;
|
||||
$this->datev = $obj->datev;
|
||||
$this->dateo = $obj->dateo;
|
||||
$this->amount = $obj->amount;
|
||||
$this->label = $obj->label;
|
||||
$this->note = $obj->note;
|
||||
$this->label = $obj->label;
|
||||
$this->note = $obj->note;
|
||||
|
||||
$this->fk_user_author = $obj->fk_user_author;
|
||||
$this->fk_user_rappro = $obj->fk_user_rappro;
|
||||
$this->fk_user_author = $obj->fk_user_author;
|
||||
$this->fk_user_rappro = $obj->fk_user_rappro;
|
||||
|
||||
$this->fk_type = $obj->fk_type; // Type of transaction
|
||||
$this->rappro = $obj->rappro;
|
||||
@ -1948,9 +1949,13 @@ class AccountLine extends CommonObject
|
||||
$this->fk_bordereau = $obj->fk_bordereau;
|
||||
|
||||
$this->fk_account = $obj->fk_account;
|
||||
$this->bank_account_ref = $obj->bank_account_ref;
|
||||
$this->bank_account_ref = $obj->bank_account_ref;
|
||||
$this->bank_account_label = $obj->bank_account_label;
|
||||
|
||||
// Retrieve all extrafield
|
||||
// fetch optionals attributes and labels
|
||||
$this->fetch_optionals();
|
||||
|
||||
$ret = 1;
|
||||
}
|
||||
$this->db->free($result);
|
||||
@ -1967,6 +1972,10 @@ class AccountLine extends CommonObject
|
||||
*/
|
||||
public function insert()
|
||||
{
|
||||
$error = 0;
|
||||
|
||||
$this->db->begin();
|
||||
|
||||
$sql = "INSERT INTO ".MAIN_DB_PREFIX."bank (";
|
||||
$sql .= "datec";
|
||||
$sql .= ", dateo";
|
||||
@ -2002,15 +2011,26 @@ class AccountLine extends CommonObject
|
||||
|
||||
dol_syslog(get_class($this)."::insert", LOG_DEBUG);
|
||||
$resql = $this->db->query($sql);
|
||||
|
||||
if (!$resql) {
|
||||
if ($resql) {
|
||||
$this->id = $this->db->last_insert_id(MAIN_DB_PREFIX.'bank');
|
||||
// Actions on extra fields (by external module or standard code)
|
||||
$result = $this->insertExtraFields();
|
||||
if ($result < 0) {
|
||||
$error++;
|
||||
}
|
||||
} else {
|
||||
$error++;
|
||||
$this->error = $this->db->lasterror();
|
||||
return -1;
|
||||
dol_print_error($this->db);
|
||||
}
|
||||
|
||||
$this->id = $this->db->last_insert_id(MAIN_DB_PREFIX.'bank');
|
||||
|
||||
return $this->id;
|
||||
if (!$error) {
|
||||
$this->db->commit();
|
||||
return $this->id;
|
||||
} else {
|
||||
$this->db->rollback();
|
||||
return -1 * $error;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@ -2064,6 +2084,12 @@ class AccountLine extends CommonObject
|
||||
$nbko++;
|
||||
}
|
||||
|
||||
$sql = "DELETE FROM ".MAIN_DB_PREFIX."bank_extrafields WHERE fk_object=".(int) $this->rowid;
|
||||
$result = $this->db->query($sql);
|
||||
if (!$result) {
|
||||
$nbko++;
|
||||
}
|
||||
|
||||
$sql = "DELETE FROM ".MAIN_DB_PREFIX."bank WHERE rowid=".(int) $this->rowid;
|
||||
dol_syslog(get_class($this)."::delete", LOG_DEBUG);
|
||||
$result = $this->db->query($sql);
|
||||
|
||||
@ -35,6 +35,7 @@ require '../../main.inc.php';
|
||||
require_once DOL_DOCUMENT_ROOT.'/compta/bank/class/account.class.php';
|
||||
require_once DOL_DOCUMENT_ROOT.'/categories/class/categorie.class.php';
|
||||
require_once DOL_DOCUMENT_ROOT.'/core/lib/payments.lib.php';
|
||||
require_once DOL_DOCUMENT_ROOT.'/core/class/extrafields.class.php';
|
||||
|
||||
// Load translation files required by the page
|
||||
$langs->loadLangs(array('banks', 'categories', 'compta', 'bills', 'other'));
|
||||
@ -77,7 +78,9 @@ if (empty($user->rights->banque->lire) && empty($user->rights->banque->consolida
|
||||
}
|
||||
|
||||
$hookmanager->initHooks(array('bankline'));
|
||||
|
||||
$object = new AccountLine($db);
|
||||
$extrafields = new ExtraFields($db);
|
||||
$extrafields->fetch_name_optionals_label($object->element);
|
||||
|
||||
/*
|
||||
* Actions
|
||||
@ -125,18 +128,17 @@ if ($action == 'confirm_delete_categ' && $confirm == "yes" && $user->rights->ban
|
||||
if ($user->rights->banque->modifier && $action == "update") {
|
||||
$error = 0;
|
||||
|
||||
$acline = new AccountLine($db);
|
||||
$result = $acline->fetch($rowid);
|
||||
$result = $object->fetch($rowid);
|
||||
if ($result <= 0) {
|
||||
dol_syslog('Failed to read bank line with id '.$rowid, LOG_WARNING); // This happens due to old bug that has set fk_account to null.
|
||||
$acline->id = $rowid;
|
||||
$object->id = $rowid;
|
||||
}
|
||||
|
||||
$acsource = new Account($db);
|
||||
$acsource->fetch($accountoldid);
|
||||
|
||||
$actarget = new Account($db);
|
||||
if (GETPOST('accountid', 'int') > 0 && !$acline->rappro && !$acline->getVentilExportCompta()) { // We ask to change bank account
|
||||
if (GETPOST('accountid', 'int') > 0 && !$object->rappro && !$object->getVentilExportCompta()) { // We ask to change bank account
|
||||
$actarget->fetch(GETPOST('accountid', 'int'));
|
||||
} else {
|
||||
$actarget->fetch($accountoldid);
|
||||
@ -173,7 +175,7 @@ if ($user->rights->banque->modifier && $action == "update") {
|
||||
$sql .= " emetteur='".$db->escape(GETPOST("emetteur"))."',";
|
||||
}
|
||||
// Blocked when conciliated
|
||||
if (!$acline->rappro) {
|
||||
if (!$object->rappro) {
|
||||
if (GETPOSTISSET('label')) {
|
||||
$sql .= " label = '".$db->escape(GETPOST("label"))."',";
|
||||
}
|
||||
@ -188,7 +190,7 @@ if ($user->rights->banque->modifier && $action == "update") {
|
||||
}
|
||||
}
|
||||
$sql .= " fk_account = ".((int) $actarget->id);
|
||||
$sql .= " WHERE rowid = ".((int) $acline->id);
|
||||
$sql .= " WHERE rowid = ".((int) $object->id);
|
||||
|
||||
$result = $db->query($sql);
|
||||
if (!$result) {
|
||||
@ -214,6 +216,11 @@ if ($user->rights->banque->modifier && $action == "update") {
|
||||
}
|
||||
}
|
||||
|
||||
if (!$error) {
|
||||
$extrafields->setOptionalsFromPost(null, $object, '@GETPOSTISSET');
|
||||
$object->insertExtraFields();
|
||||
}
|
||||
|
||||
if (!$error) {
|
||||
setEventMessages($langs->trans("RecordSaved"), null, 'mesgs');
|
||||
$db->commit();
|
||||
@ -601,6 +608,13 @@ if ($result) {
|
||||
print "</td></tr>";
|
||||
}
|
||||
|
||||
// Other attributes
|
||||
$parameters = array();
|
||||
$reshook = $hookmanager->executeHooks('formObjectOptions', $parameters, $bankline, $action); // Note that $action and $object may have been modified by hook
|
||||
print $hookmanager->resPrint;
|
||||
if (empty($reshook)) {
|
||||
print $bankline->showOptionals($extrafields, ($objp->rappro ? 'view' : 'create'), $parameters);
|
||||
}
|
||||
print "</table>";
|
||||
|
||||
// Code to adjust value date with plus and less picto using an Ajax call instead of a full reload of page
|
||||
|
||||
@ -9364,7 +9364,7 @@ function complete_head_from_modules($conf, $langs, $object, &$head, &$h, $type,
|
||||
|
||||
// No need to make a return $head. Var is modified as a reference
|
||||
if (!empty($hookmanager)) {
|
||||
$parameters = array('object' => $object, 'mode' => $mode, 'head' => &$head);
|
||||
$parameters = array('object' => $object, 'mode' => $mode, 'head' => &$head, 'filterorigmodule' => $filterorigmodule);
|
||||
$reshook = $hookmanager->executeHooks('completeTabsHead', $parameters);
|
||||
if ($reshook > 0) { // Hook ask to replace completely the array
|
||||
$head = $hookmanager->resArray;
|
||||
|
||||
Loading…
Reference in New Issue
Block a user