Merge branch '11.0' of git@github.com:Dolibarr/dolibarr.git into 12.0

This commit is contained in:
Laurent Destailleur 2021-01-31 18:55:11 +01:00
commit d023afb66f
3 changed files with 11 additions and 2 deletions

View File

@ -5493,6 +5493,7 @@ abstract class CommonObject
$mandatorypb = false; $mandatorypb = false;
if ($attributeType == 'link' && $this->array_options[$key] == '-1') $mandatorypb = true; if ($attributeType == 'link' && $this->array_options[$key] == '-1') $mandatorypb = true;
if ($this->array_options[$key] === '') $mandatorypb = true; if ($this->array_options[$key] === '') $mandatorypb = true;
if ($attributeType == 'sellist' && $this->array_options[$key] == '0') $mandatorypb = true;
if ($mandatorypb) if ($mandatorypb)
{ {
dol_syslog("Mandatory extra field ".$key." is empty"); dol_syslog("Mandatory extra field ".$key." is empty");

View File

@ -2058,9 +2058,12 @@ class ExtraFields
if ($this->attributes[$object->table_element]['required'][$key]) // Value is required if ($this->attributes[$object->table_element]['required'][$key]) // Value is required
{ {
// Check if empty without using GETPOST, value can be alpha, int, array, etc... // check if functionally empty without using GETPOST (depending on the type of extrafield, a
// technically non-empty value may be treated as empty functionally).
// value can be alpha, int, array, etc...
if ((!is_array($_POST["options_".$key]) && empty($_POST["options_".$key]) && $this->attributes[$object->table_element]['type'][$key] != 'select' && $_POST["options_".$key] != '0') if ((!is_array($_POST["options_".$key]) && empty($_POST["options_".$key]) && $this->attributes[$object->table_element]['type'][$key] != 'select' && $_POST["options_".$key] != '0')
|| (!is_array($_POST["options_".$key]) && empty($_POST["options_".$key]) && $this->attributes[$object->table_element]['type'][$key] == 'select') || (!is_array($_POST["options_".$key]) && empty($_POST["options_".$key]) && $this->attributes[$object->table_element]['type'][$key] == 'select')
|| (!is_array($_POST["options_".$key]) && isset($_POST["options_".$key]) && $this->attributes[$object->table_element]['type'][$key] == 'sellist' && $_POST['options_' . $key] == '0')
|| (is_array($_POST["options_".$key]) && empty($_POST["options_".$key]))) || (is_array($_POST["options_".$key]) && empty($_POST["options_".$key])))
{ {
//print 'ccc'.$value.'-'.$this->attributes[$object->table_element]['required'][$key]; //print 'ccc'.$value.'-'.$this->attributes[$object->table_element]['required'][$key];

View File

@ -3234,6 +3234,7 @@ class CommandeFournisseur extends CommonOrder
{ {
if (is_array($supplierorderdispatch->lines) && count($supplierorderdispatch->lines) > 0) if (is_array($supplierorderdispatch->lines) && count($supplierorderdispatch->lines) > 0)
{ {
require_once DOL_DOCUMENT_ROOT.'/htdocs/product/class/product.class.php';
$date_liv = dol_now(); $date_liv = dol_now();
// Build array with quantity deliverd by product // Build array with quantity deliverd by product
@ -3241,7 +3242,11 @@ class CommandeFournisseur extends CommonOrder
$qtydelivered[$line->fk_product] += $line->qty; $qtydelivered[$line->fk_product] += $line->qty;
} }
foreach ($this->lines as $line) { foreach ($this->lines as $line) {
$qtywished[$line->fk_product] += $line->qty; if ($line->product_type == Product::TYPE_PRODUCT ||
($line->product_type == Product::TYPE_SERVICE && !empty($conf->global->STOCK_SUPPORTS_SERVICES))
) {
$qtywished[$line->fk_product] += $line->qty;
}
} }
//Compare array //Compare array
$diff_array = array_diff_assoc($qtydelivered, $qtywished); // Warning: $diff_array is done only on common keys. $diff_array = array_diff_assoc($qtydelivered, $qtywished); // Warning: $diff_array is done only on common keys.