Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop
This commit is contained in:
commit
748c714b1b
2
.github/workflows/exakat.yml
vendored
2
.github/workflows/exakat.yml
vendored
@ -12,7 +12,7 @@ jobs:
|
||||
exakat:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/checkout@v3
|
||||
- name: Exakat
|
||||
uses: docker://exakat/exakat-ga
|
||||
with:
|
||||
|
||||
@ -2319,8 +2319,11 @@ if ($resql) {
|
||||
|
||||
$numlines = count($generic_commande->lines); // Loop on each line of order
|
||||
for ($lig = 0; $lig < $numlines; $lig++) {
|
||||
$reliquat = $generic_commande->lines[$lig]->qty - $generic_commande->expeditions[$generic_commande->lines[$lig]->id];
|
||||
|
||||
if (isset($generic_commande->expeditions[$generic_commande->lines[$lig]->id])) {
|
||||
$reliquat = $generic_commande->lines[$lig]->qty - $generic_commande->expeditions[$generic_commande->lines[$lig]->id];
|
||||
} else {
|
||||
$reliquat = $generic_commande->lines[$lig]->qty;
|
||||
}
|
||||
if ($generic_commande->lines[$lig]->product_type == 0 && $generic_commande->lines[$lig]->fk_product > 0) { // If line is a product and not a service
|
||||
$nbprod++; // order contains real products
|
||||
$generic_product->id = $generic_commande->lines[$lig]->fk_product;
|
||||
|
||||
@ -4312,7 +4312,7 @@ abstract class CommonObject
|
||||
if ($elementTable == 'commande_fournisseur_dispatch') {
|
||||
$fieldstatus = "status";
|
||||
}
|
||||
if (is_array($this->fields) && array_key_exists('status', $this->fields)) {
|
||||
if (isset($this->fields) && is_array($this->fields) && array_key_exists('status', $this->fields)) {
|
||||
$fieldstatus = 'status';
|
||||
}
|
||||
|
||||
|
||||
@ -1273,10 +1273,12 @@ class ExtraFields
|
||||
require_once DOL_DOCUMENT_ROOT.'/categories/class/categorie.class.php';
|
||||
$data = $form->select_all_categories(Categorie::$MAP_ID_TO_CODE[$InfoFieldList[5]], '', 'parent', 64, $InfoFieldList[6], 1, 1);
|
||||
$out .= '<option value="0"> </option>';
|
||||
foreach ($data as $data_key => $data_value) {
|
||||
$out .= '<option value="'.$data_key.'"';
|
||||
$out .= ($value == $data_key ? ' selected' : '');
|
||||
$out .= '>'.$data_value.'</option>';
|
||||
if (is_array($data)) {
|
||||
foreach ($data as $data_key => $data_value) {
|
||||
$out .= '<option value="'.$data_key.'"';
|
||||
$out .= ($value == $data_key ? ' selected' : '');
|
||||
$out .= '>'.$data_value.'</option>';
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -233,6 +233,12 @@ abstract class Stats
|
||||
return $data;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param int $year year number
|
||||
* @return int value
|
||||
*/
|
||||
protected abstract function getAverageByMonth($year);
|
||||
|
||||
/**
|
||||
* Return average of entity by month for several years
|
||||
*
|
||||
|
||||
@ -429,10 +429,10 @@ if (empty($reshook)) {
|
||||
if (empty($conf->global->MAIN_DISABLE_PDF_AUTOUPDATE)) {
|
||||
$outputlangs = $langs;
|
||||
$newlang = '';
|
||||
if ($conf->global->MAIN_MULTILANGS && empty($newlang) && GETPOST('lang_id', 'aZ09')) {
|
||||
if (!empty($conf->global->MAIN_MULTILANGS) && empty($newlang) && GETPOST('lang_id', 'aZ09')) {
|
||||
$newlang = GETPOST('lang_id', 'aZ09');
|
||||
}
|
||||
if ($conf->global->MAIN_MULTILANGS && empty($newlang)) {
|
||||
if (!empty($conf->global->MAIN_MULTILANGS) && empty($newlang)) {
|
||||
$newlang = $object->thirdparty->default_lang;
|
||||
}
|
||||
if (!empty($newlang)) {
|
||||
@ -982,7 +982,7 @@ if ($action == 'create') {
|
||||
print "</td></tr>\n";
|
||||
|
||||
// Other attributes
|
||||
$parameters = array('objectsrc' => $objectsrc, 'colspan' => ' colspan="3"', 'cols' => '3', 'socid' => $socid);
|
||||
$parameters = array('objectsrc' => isset($objectsrc) ? $objectsrc : '', 'colspan' => ' colspan="3"', 'cols' => '3', 'socid' => $socid);
|
||||
$reshook = $hookmanager->executeHooks('formObjectOptions', $parameters, $expe, $action); // Note that $action and $object may have been modified by hook
|
||||
print $hookmanager->resPrint;
|
||||
|
||||
@ -1178,7 +1178,7 @@ if ($action == 'create') {
|
||||
|
||||
// Qty already shipped
|
||||
print '<td class="center">';
|
||||
$quantityDelivered = $object->expeditions[$line->id];
|
||||
$quantityDelivered = isset($object->expeditions[$line->id]) ? $object->expeditions[$line->id] : '';
|
||||
print $quantityDelivered;
|
||||
print '<input name="qtydelivered'.$indiceAsked.'" id="qtydelivered'.$indiceAsked.'" type="hidden" value="'.$quantityDelivered.'">';
|
||||
print ''.$unit_order.'</td>';
|
||||
@ -1188,14 +1188,18 @@ if ($action == 'create') {
|
||||
if ($line->product_type == 1 && empty($conf->global->STOCK_SUPPORTS_SERVICES)) {
|
||||
$quantityToBeDelivered = 0;
|
||||
} else {
|
||||
$quantityToBeDelivered = $quantityAsked - $quantityDelivered;
|
||||
if (is_numeric($quantityDelivered)) {
|
||||
$quantityToBeDelivered = $quantityAsked - $quantityDelivered;
|
||||
} else {
|
||||
$quantityToBeDelivered = $quantityAsked;
|
||||
}
|
||||
}
|
||||
|
||||
$warehouseObject = null;
|
||||
if (count($warehousePicking) == 1 || !($line->fk_product > 0) || empty($conf->stock->enabled)) { // If warehouse was already selected or if product is not a predefined, we go into this part with no multiwarehouse selection
|
||||
print '<!-- Case warehouse already known or product not a predefined product -->';
|
||||
//ship from preselected location
|
||||
$stock = + $product->stock_warehouse[$warehouse_id]->real; // Convert to number
|
||||
$stock = + (isset($product->stock_warehouse[$warehouse_id]->real) ? $product->stock_warehouse[$warehouse_id]->real : 0); // Convert to number
|
||||
$deliverableQty = min($quantityToBeDelivered, $stock);
|
||||
if ($deliverableQty < 0) {
|
||||
$deliverableQty = 0;
|
||||
|
||||
@ -933,7 +933,7 @@ class Expedition extends CommonObject
|
||||
return -1;
|
||||
}
|
||||
|
||||
if ($conf->global->STOCK_MUST_BE_ENOUGH_FOR_SHIPMENT) {
|
||||
if (!empty($conf->global->STOCK_MUST_BE_ENOUGH_FOR_SHIPMENT)) {
|
||||
$product = new Product($this->db);
|
||||
$product->fetch($fk_product);
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user