forked from Wavyzz/dolibarr
Merge remote-tracking branch 'origin/3.7' into develop
Conflicts: htdocs/expedition/class/expedition.class.php htdocs/install/mysql/migration/3.6.0-3.7.0.sql htdocs/langs/en_US/stocks.lang
This commit is contained in:
@@ -108,6 +108,8 @@ For users:
|
|||||||
- New : Use of MAIN_USE_FILECACHE_EXPORT_EXCEL_DIR to use disk cache for big excel export.
|
- New : Use of MAIN_USE_FILECACHE_EXPORT_EXCEL_DIR to use disk cache for big excel export.
|
||||||
- New : Option on extrafields to have them always editable regardless of the document status.
|
- New : Option on extrafields to have them always editable regardless of the document status.
|
||||||
- New : New module PrintIPP to print without opening document is available as stable.
|
- New : New module PrintIPP to print without opening document is available as stable.
|
||||||
|
- New : Introduce hidden option STOCK_WAREHOUSE_NOT_REQUIRED_FOR_SHIPMENTS to solve at no risk
|
||||||
|
a missing control on missing warehouse.
|
||||||
- Fix: [ bug #1487 ] PAYMENT_DELETE trigger does not intercept trigger action
|
- Fix: [ bug #1487 ] PAYMENT_DELETE trigger does not intercept trigger action
|
||||||
- Fix: [ bug #1470, #1472, #1473] User trigger problem
|
- Fix: [ bug #1470, #1472, #1473] User trigger problem
|
||||||
- Fix: [ bug #1489, #1491 ] Intervention trigger problem
|
- Fix: [ bug #1489, #1491 ] Intervention trigger problem
|
||||||
|
|||||||
@@ -113,9 +113,9 @@ class modMyModule extends DolibarrModules
|
|||||||
$this->const = array();
|
$this->const = array();
|
||||||
|
|
||||||
// Array to add new pages in new tabs
|
// Array to add new pages in new tabs
|
||||||
// Example: $this->tabs = array('objecttype:+tabname1:Title1:mylangfile@mymodule:$user->rights->mymodule->read:/mymodule/mynewtab1.php?id=__ID__', // To add a new tab identified by code tabname1
|
// Example: $this->tabs = array('objecttype:+tabname1:Title1:mylangfile@mymodule:$user->rights->mymodule->read:/mymodule/mynewtab1.php?id=__ID__', // To add a new tab identified by code tabname1
|
||||||
// 'objecttype:+tabname2:Title2:mylangfile@mymodule:$user->rights->othermodule->read:/mymodule/mynewtab2.php?id=__ID__', // To add another new tab identified by code tabname2
|
// 'objecttype:+tabname2:SUBSTITUTION_Title2:mylangfile@mymodule:$user->rights->othermodule->read:/mymodule/mynewtab2.php?id=__ID__', // To add another new tab identified by code tabname2. Label will be result of calling all substitution functions on 'Title2' key.
|
||||||
// 'objecttype:-tabname:NU:conditiontoremove'); // To remove an existing tab identified by code tabname
|
// 'objecttype:-tabname:NU:conditiontoremove'); // To remove an existing tab identified by code tabname
|
||||||
// where objecttype can be
|
// where objecttype can be
|
||||||
// 'categories_x' to add a tab in category view (replace 'x' by type of category (0=product, 1=supplier, 2=customer, 3=member)
|
// 'categories_x' to add a tab in category view (replace 'x' by type of category (0=product, 1=supplier, 2=customer, 3=member)
|
||||||
// 'contact' to add a tab in contact view
|
// 'contact' to add a tab in contact view
|
||||||
|
|||||||
@@ -67,7 +67,7 @@ class Canvas
|
|||||||
$newaction = $action;
|
$newaction = $action;
|
||||||
if ($newaction == 'add') $newaction='create';
|
if ($newaction == 'add') $newaction='create';
|
||||||
if ($newaction == 'update') $newaction='edit';
|
if ($newaction == 'update') $newaction='edit';
|
||||||
if (empty($newaction) || $newaction == 'delete' || $newaction == 'create_user') $newaction='view';
|
if (empty($newaction) || $newaction == 'delete' || $newaction == 'create_user' || $newaction == 'presend' || $newaction == 'send') $newaction='view';
|
||||||
return $newaction;
|
return $newaction;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -748,10 +748,12 @@ class Expedition extends CommonObject
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Add a expedition line
|
* Add a expedition line.
|
||||||
|
* If STOCK_WAREHOUSE_NOT_REQUIRED_FOR_SHIPMENTS is set, you can add a shipment line, with no stock source defined
|
||||||
|
* If STOCK_MUST_BE_ENOUGH_FOR_SHIPMENT is not set, you can add a shipment line, even if not enough into stock
|
||||||
*
|
*
|
||||||
* @param int $entrepot_id Id of warehouse
|
* @param int $entrepot_id Id of warehouse
|
||||||
* @param int $id Id of source line
|
* @param int $id Id of source line (order line)
|
||||||
* @param int $qty Quantity
|
* @param int $qty Quantity
|
||||||
* @return int <0 if KO, >0 if OK
|
* @return int <0 if KO, >0 if OK
|
||||||
*/
|
*/
|
||||||
@@ -766,19 +768,25 @@ class Expedition extends CommonObject
|
|||||||
$line->origin_line_id = $id;
|
$line->origin_line_id = $id;
|
||||||
$line->qty = $qty;
|
$line->qty = $qty;
|
||||||
|
|
||||||
if ($conf->global->STOCK_MUST_BE_ENOUGH_FOR_SHIPMENT)
|
$orderline = new OrderLine($this->db);
|
||||||
{
|
$orderline->fetch($id);
|
||||||
$orderline = new OrderLine($this->db);
|
$fk_product = $orderline->fk_product;
|
||||||
$orderline->fetch($id);
|
|
||||||
$fk_product = $orderline->fk_product;
|
|
||||||
|
|
||||||
if (!empty($orderline->fk_product))
|
if (! empty($orderline->fk_product))
|
||||||
|
{
|
||||||
|
if (! ($entrepot_id > 0) && empty($conf->global->STOCK_WAREHOUSE_NOT_REQUIRED_FOR_SHIPMENTS))
|
||||||
|
{
|
||||||
|
$this->error=$langs->trans("ErrorWarehouseRequiredIntoShipmentLine");
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($conf->global->STOCK_MUST_BE_ENOUGH_FOR_SHIPMENT) // FIXME Check is done for stock of product, it must be done for stock of product into warehouse if $entrepot_id defined
|
||||||
{
|
{
|
||||||
$product=new Product($this->db);
|
$product=new Product($this->db);
|
||||||
$result=$product->fetch($fk_product);
|
$result=$product->fetch($fk_product);
|
||||||
$product_type=$product->type;
|
$product_type=$product->type;
|
||||||
|
|
||||||
if($product_type == 0 && $product->stock_reel < $qty)
|
if ($product_type == 0 && $product->stock_reel < $qty)
|
||||||
{
|
{
|
||||||
$this->error=$langs->trans('ErrorStockIsNotEnough');
|
$this->error=$langs->trans('ErrorStockIsNotEnough');
|
||||||
$this->db->rollback();
|
$this->db->rollback();
|
||||||
@@ -816,6 +824,12 @@ class Expedition extends CommonObject
|
|||||||
}
|
}
|
||||||
$linebatch->dluo_qty=$value['q'];
|
$linebatch->dluo_qty=$value['q'];
|
||||||
$tab[]=$linebatch;
|
$tab[]=$linebatch;
|
||||||
|
|
||||||
|
if ($conf->global->STOCK_MUST_BE_ENOUGH_FOR_SHIPMENT)
|
||||||
|
{
|
||||||
|
// TODO
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
$line->entrepot_id = $linebatch->entrepot_id;
|
$line->entrepot_id = $linebatch->entrepot_id;
|
||||||
|
|||||||
@@ -1156,4 +1156,5 @@ ALTER TABLE llx_resource MODIFY COLUMN entity integer DEFAULT 1 NOT NULL;
|
|||||||
ALTER TABLE llx_product ADD CONSTRAINT fk_product_barcode_type FOREIGN KEY (fk_barcode_type) REFERENCES llx_c_barcode_type(rowid);
|
ALTER TABLE llx_product ADD CONSTRAINT fk_product_barcode_type FOREIGN KEY (fk_barcode_type) REFERENCES llx_c_barcode_type(rowid);
|
||||||
|
|
||||||
-- this update change the old formated url on llx_bank_url
|
-- this update change the old formated url on llx_bank_url
|
||||||
UPDATE llx_bank_url set url = replace( url, 'fiche.php', 'card.php');
|
UPDATE llx_bank_url set url = REPLACE( url, 'fiche.php', 'card.php');
|
||||||
|
|
||||||
|
|||||||
@@ -193,9 +193,9 @@ if (! GETPOST("action") || preg_match('/upgrade/i',GETPOST('action')))
|
|||||||
// Test database version is not forbidden for migration
|
// Test database version is not forbidden for migration
|
||||||
$dbversion_disallowed=array(
|
$dbversion_disallowed=array(
|
||||||
array('type'=>'mysql','version'=>array(5,5,40)),
|
array('type'=>'mysql','version'=>array(5,5,40)),
|
||||||
array('type'=>'mysqli','version'=>array(5,5,40)),
|
array('type'=>'mysqli','version'=>array(5,5,40))
|
||||||
array('type'=>'mysql','version'=>array(5,5,41)),
|
//,array('type'=>'mysql','version'=>array(5,5,41)),
|
||||||
array('type'=>'mysqli','version'=>array(5,5,41))
|
//array('type'=>'mysqli','version'=>array(5,5,41))
|
||||||
);
|
);
|
||||||
$listofforbiddenversion='';
|
$listofforbiddenversion='';
|
||||||
foreach ($dbversion_disallowed as $dbversion_totest)
|
foreach ($dbversion_disallowed as $dbversion_totest)
|
||||||
|
|||||||
@@ -18,4 +18,4 @@ printQty=Qty: %d
|
|||||||
AddDispatchBatchLine=Add a line for Shelf Life dispatching
|
AddDispatchBatchLine=Add a line for Shelf Life dispatching
|
||||||
BatchDefaultNumber=Undefined
|
BatchDefaultNumber=Undefined
|
||||||
WhenProductBatchModuleOnOptionAreForced=When module Batch/Serial is on, increase/decrease stock mode is forced to last choice and can't be edited. Other options can be defined as you want.
|
WhenProductBatchModuleOnOptionAreForced=When module Batch/Serial is on, increase/decrease stock mode is forced to last choice and can't be edited. Other options can be defined as you want.
|
||||||
ProductDoesNotUseBatchSerial=This product does not use batch/serial number
|
ProductDoesNotUseBatchSerial=This product does not use batch/serial number
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ QtyOrdered=Qty ordered
|
|||||||
QtyShipped=Qty shipped
|
QtyShipped=Qty shipped
|
||||||
QtyToShip=Qty to ship
|
QtyToShip=Qty to ship
|
||||||
QtyReceived=Qty received
|
QtyReceived=Qty received
|
||||||
KeepToShip=Keep to ship
|
KeepToShip=Remain to ship
|
||||||
OtherSendingsForSameOrder=Other shipments for this order
|
OtherSendingsForSameOrder=Other shipments for this order
|
||||||
DateSending=Date sending order
|
DateSending=Date sending order
|
||||||
DateSendingShort=Date sending order
|
DateSendingShort=Date sending order
|
||||||
|
|||||||
@@ -130,3 +130,4 @@ IsInPackage=Contained into package
|
|||||||
ShowWarehouse=Show warehouse
|
ShowWarehouse=Show warehouse
|
||||||
MovementCorrectStock=Stock content correction for product %s
|
MovementCorrectStock=Stock content correction for product %s
|
||||||
MovementTransferStock=Stock transfer of product %s into another warehouse
|
MovementTransferStock=Stock transfer of product %s into another warehouse
|
||||||
|
WarehouseMustBeSelectedAtFirstStepWhenProductBatchModuleOn=Source warehouse must be defined here when batch module is on. It will be used to list wich lot/serial is available for product that required lot/serial data for movement. If you want to send products from different warehouses, just make the shipment into several steps.
|
||||||
|
|||||||
@@ -43,8 +43,8 @@ if ($page == -1) { $page = 0; }
|
|||||||
$offset = $conf->liste_limit * $page;
|
$offset = $conf->liste_limit * $page;
|
||||||
$pageprev = $page - 1;
|
$pageprev = $page - 1;
|
||||||
$pagenext = $page + 1;
|
$pagenext = $page + 1;
|
||||||
if (! $sortfield) $sortfield="p.titre";
|
if (! $sortfield) $sortfield="p.date_fin";
|
||||||
if (! $sortorder) $sortorder="ASC";
|
if (! $sortorder) $sortorder="DESC";
|
||||||
if ($page < 0) {
|
if ($page < 0) {
|
||||||
$page = 0;
|
$page = 0;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user