2
0
forked from Wavyzz/dolibarr

Merge branch '19.0' of git@github.com:Dolibarr/dolibarr.git into develop

This commit is contained in:
Laurent Destailleur
2024-01-18 16:04:49 +01:00
4 changed files with 37 additions and 13 deletions

View File

@@ -903,7 +903,7 @@ function get_next_value($db, $mask, $table, $field, $where = '', $objsoc = '', $
if (!is_object($objsoc)) {
$valueforccc = $objsoc;
} elseif ($table == "commande_fournisseur" || $table == "facture_fourn") {
} elseif ($table == "commande_fournisseur" || $table == "facture_fourn" || $table == "paiementfourn") {
$valueforccc = dol_string_unaccent($objsoc->code_fournisseur);
} else {
$valueforccc = dol_string_unaccent($objsoc->code_client);

View File

@@ -188,6 +188,7 @@ class Cronjob extends CommonObject
const STATUS_DISABLED = 0;
const STATUS_ENABLED = 1;
const STATUS_ARCHIVED = 2;
const MAXIMUM_LENGTH_FOR_LASTOUTPUT_FIELD = 65535;
/**
@@ -1323,13 +1324,13 @@ class Cronjob extends CommonObject
dol_syslog(get_class($this)."::run_jobs END result=".$result." error=".$errmsg, LOG_ERR);
$this->error = $errmsg;
$this->lastoutput = (!empty($object->output) ? $object->output."\n" : "").$errmsg;
$this->lastoutput = dol_substr((empty($object->output) ? "" : $object->output."\n").$errmsg, 0, $this::MAXIMUM_LENGTH_FOR_LASTOUTPUT_FIELD, 'UTF-8', 1);
$this->lastresult = is_numeric($result) ? $result : -1;
$retval = $this->lastresult;
$error++;
} else {
dol_syslog(get_class($this)."::run_jobs END");
$this->lastoutput = (!empty($object->output) ? $object->output : "");
$this->lastoutput = dol_substr((empty($object->output) ? "" : $object->output."\n").$errmsg, 0, $this::MAXIMUM_LENGTH_FOR_LASTOUTPUT_FIELD, 'UTF-8', 1);
$this->lastresult = var_export($result, true);
$retval = $this->lastresult;
}

View File

@@ -324,6 +324,30 @@ if (empty($reshook)) {
$object->setProject($projectid);
}
if ($action == 'update_extras') {
$object->fetch($id);
$object->oldcopy = dol_clone($object);
// Fill array 'array_options' with data from update form
$ret = $extrafields->setOptionalsFromPost(null, $object, GETPOST('attribute', 'restricthtml'));
if ($ret < 0) {
$error++;
}
if (!$error) {
$result = $object->insertExtraFields('DON_MODIFY');
if ($result < 0) {
setEventMessages($object->error, $object->errors, 'errors');
$error++;
}
}
if ($error) {
$action = 'edit_extras';
}
}
// Actions to build doc
include DOL_DOCUMENT_ROOT.'/core/actions_builddoc.inc.php';

View File

@@ -378,15 +378,15 @@ class SupplierInvoices extends DolibarrApi
throw new RestException(400, 'Invoice ID is mandatory');
}
if (!DolibarrApi::_checkAccessToResource('fournisseur', $this->invoice->id, 'facture_fourn', 'facture')) {
throw new RestException(401, 'Access not allowed for login ' . DolibarrApiAccess::$user->login);
}
$result = $this->invoice->fetch($id);
if (!$result) {
throw new RestException(404, 'Invoice not found');
}
if (!DolibarrApi::_checkAccessToResource('fournisseur', $this->invoice->id, 'facture_fourn', 'facture')) {
throw new RestException(401, 'Access not allowed for login '.DolibarrApiAccess::$user->login);
}
$result = $this->invoice->getListOfPayments();
if ($result < 0) {
throw new RestException(405, $this->invoice->error);
@@ -428,6 +428,11 @@ class SupplierInvoices extends DolibarrApi
throw new RestException(400, 'Invoice ID is mandatory');
}
$result = $this->invoice->fetch($id);
if (!$result) {
throw new RestException(404, 'Invoice not found');
}
if (!DolibarrApi::_checkAccessToResource('fournisseur', $this->invoice->id, 'facture_fourn', 'facture')) {
throw new RestException(401, 'Access not allowed for login ' . DolibarrApiAccess::$user->login);
}
@@ -442,12 +447,6 @@ class SupplierInvoices extends DolibarrApi
throw new RestException(400, 'Payment mode ID is mandatory');
}
$result = $this->invoice->fetch($id);
if (!$result) {
throw new RestException(404, 'Invoice not found');
}
if (null !== $amount && $amount > 0) {
// We use the amount given in parameter
$paymentamount = $amount;