2
0
forked from Wavyzz/dolibarr

Merge branch '13.0' of git@github.com:Dolibarr/dolibarr.git into 14.0

Conflicts:
	htdocs/core/class/hookmanager.class.php
	htdocs/core/lib/functions.lib.php
This commit is contained in:
Laurent Destailleur
2021-07-13 13:14:27 +02:00
5 changed files with 43 additions and 9 deletions

View File

@@ -2,6 +2,27 @@
English Dolibarr ChangeLog English Dolibarr ChangeLog
-------------------------------------------------------------- --------------------------------------------------------------
***** ChangeLog for 13.0.4 compared to 13.0.2 *****
FIX: Allow disabling of a module (not a dangerous action) even if there is problem with token (due to bugged modules).
FIX: 13.0 - fatal - missing inclusion of ajax.lib.php for calling `ajax_autocompleter()`
FIX: #17919 pictures in docs.
FIX: #18006
FIX: Accountancy - if we define a date start, automatic binding try to continue to solve old binding
FIX: Accoutancy Limit date payment not registered on purchases operations
FIX: Can't edit replacement invoice
FIX: deposit can create credit note in payment conf
FIX: division by zero on create
FIX: holiday: balances not updated correctly with pgsql because of case sensitivity field
FIX: holiday: status filter parameter has been renamed but not in links it was used
FIX: List and Create Companies Left Menus
FIX: method exists
FIX: need to add payment sum to getlibstatus function in object linked block
FIX: permission to close a proposal when using advanced permissions
FIX: Problem of z-index with popup and top menu
FIX: same thing on supplier orders
FIX: Status of invoice when making a replacement invoice
FIX: update contact birthday alert
***** ChangeLog for 14.0.0 compared to 13.0.0 ***** ***** ChangeLog for 14.0.0 compared to 13.0.0 *****

View File

@@ -272,8 +272,10 @@ class HookManager
$parameters['currentcontext'] = $context; $parameters['currentcontext'] = $context;
// Hooks that must return int (hooks with type 'addreplace') // Hooks that must return int (hooks with type 'addreplace')
if ($hooktype == 'addreplace') { if ($hooktype == 'addreplace') {
$resaction += $actionclassinstance->$method($parameters, $object, $action, $this); // $object and $action can be changed by method ($object->id during creation for example or $action to go back to other action for example) $resactiontmp = $actionclassinstance->$method($parameters, $object, $action, $this); // $object and $action can be changed by method ($object->id during creation for example or $action to go back to other action for example)
if ($resaction < 0 || !empty($actionclassinstance->error) || (!empty($actionclassinstance->errors) && count($actionclassinstance->errors) > 0)) { $resaction += $resactiontmp;
if ($resactiontmp < 0 || !empty($actionclassinstance->error) || (!empty($actionclassinstance->errors) && count($actionclassinstance->errors) > 0)) {
$error++; $error++;
$this->error = $actionclassinstance->error; $this->error = $actionclassinstance->error;
$this->errors = array_merge($this->errors, (array) $actionclassinstance->errors); $this->errors = array_merge($this->errors, (array) $actionclassinstance->errors);
@@ -281,13 +283,22 @@ class HookManager
} }
if (isset($actionclassinstance->results) && is_array($actionclassinstance->results)) { if (isset($actionclassinstance->results) && is_array($actionclassinstance->results)) {
$this->resArray = array_merge($this->resArray, $actionclassinstance->results); if ($resactiontmp > 0) {
$this->resArray = $actionclassinstance->results;
} else {
$this->resArray = array_merge($this->resArray, $actionclassinstance->results);
}
} }
if (!empty($actionclassinstance->resprints)) { if (!empty($actionclassinstance->resprints)) {
$this->resPrint .= $actionclassinstance->resprints; if ($resactiontmp > 0) {
$this->resPrint = $actionclassinstance->resprints;
} else {
$this->resPrint .= $actionclassinstance->resprints;
}
} }
} else { }
// Generic hooks that return a string or array (printLeftBlock, formAddObjectLine, formBuilddocOptions, ...) // Generic hooks that return a string or array (printLeftBlock, formAddObjectLine, formBuilddocOptions, ...)
else {
// TODO. this test should be done into the method of hook by returning nothing // TODO. this test should be done into the method of hook by returning nothing
if (is_array($parameters) && !empty($parameters['special_code']) && $parameters['special_code'] > 3 && $parameters['special_code'] != $actionclassinstance->module_number) { if (is_array($parameters) && !empty($parameters['special_code']) && $parameters['special_code'] > 3 && $parameters['special_code'] != $actionclassinstance->module_number) {
continue; continue;

View File

@@ -8487,8 +8487,10 @@ function complete_head_from_modules($conf, $langs, $object, &$head, &$h, $type,
if (!empty($hookmanager)) { if (!empty($hookmanager)) {
$parameters = array('object' => $object, 'mode' => $mode, 'head' => &$head); $parameters = array('object' => $object, 'mode' => $mode, 'head' => &$head);
$reshook = $hookmanager->executeHooks('completeTabsHead', $parameters); $reshook = $hookmanager->executeHooks('completeTabsHead', $parameters);
if ($reshook > 0) { if ($reshook > 0) { // Hook ask to replace completely the array
$head = $hookmanager->resArray; $head = $hookmanager->resArray;
} else { // Hook
$head = array_merge($head, $hookmanager->resArray);
} }
$h = count($head); $h = count($head);
} }

View File

@@ -86,7 +86,7 @@ create table llx_facture
fk_incoterms integer, -- for incoterms fk_incoterms integer, -- for incoterms
location_incoterms varchar(255), -- for incoterms location_incoterms varchar(255), -- for incoterms
fk_mode_transport integer, -- for intracomm report fk_transport_mode integer, -- for intracomm report
situation_cycle_ref smallint, -- situation cycle reference situation_cycle_ref smallint, -- situation cycle reference
situation_counter smallint, -- situation counter situation_counter smallint, -- situation counter

View File

@@ -74,7 +74,7 @@ create table llx_facture_fourn
fk_incoterms integer, -- for incoterms fk_incoterms integer, -- for incoterms
location_incoterms varchar(255), -- for incoterms location_incoterms varchar(255), -- for incoterms
fk_mode_transport integer, -- for intracomm report fk_transport_mode integer, -- for intracomm report
model_pdf varchar(255), model_pdf varchar(255),
last_main_doc varchar(255), -- relative filepath+filename of last main generated document last_main_doc varchar(255), -- relative filepath+filename of last main generated document