Uniformize code and add more comment to understand workflow
This commit is contained in:
parent
714b5556f3
commit
66ea799eb7
@ -533,6 +533,12 @@ if (empty($reshook))
|
||||
$object->set_billed();
|
||||
}
|
||||
|
||||
elseif ($action == 'classifyclosed')
|
||||
{
|
||||
$object->fetch($id);
|
||||
$object->setClosed();
|
||||
}
|
||||
|
||||
include DOL_DOCUMENT_ROOT.'/core/actions_printing.inc.php';
|
||||
|
||||
// Actions to send emails
|
||||
@ -1780,10 +1786,14 @@ else if ($id || $ref)
|
||||
{
|
||||
if ($user->rights->expedition->creer && $object->statut > 0 && ! $object->billed)
|
||||
{
|
||||
$label="Close"; // = Transferred/Received
|
||||
$label="Close"; $paramaction='classifyclosed'; // = Transferred/Received
|
||||
// Label here should be "Close" or "ClassifyBilled" if we decided to make bill on shipments instead of orders
|
||||
if (! empty($conf->global->WORKFLOW_BILL_ON_SHIPMENT)) $label="ClassifyBilled";
|
||||
print '<a class="butAction" href="'.$_SERVER["PHP_SELF"].'?id='.$object->id.'&action=classifybilled">'.$langs->trans($label).'</a>';
|
||||
if (! empty($conf->global->WORKFLOW_BILL_ON_SHIPMENT)) // TODO Quand l'option est on, il faut avoir le bouton en plus et non en remplacement du Close.
|
||||
{
|
||||
$label="ClassifyBilled";
|
||||
$paramaction='classifybilled';
|
||||
}
|
||||
print '<a class="butAction" href="'.$_SERVER["PHP_SELF"].'?id='.$object->id.'&action='.$paramaction.'">'.$langs->trans($label).'</a>';
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -1795,11 +1795,11 @@ class Expedition extends CommonObject
|
||||
}
|
||||
|
||||
/**
|
||||
* Classify the shipping as invoiced
|
||||
* Classify the shipping as closed
|
||||
*
|
||||
* @return int <0 if ko, >0 if ok
|
||||
*/
|
||||
function set_billed()
|
||||
function setClosed()
|
||||
{
|
||||
global $conf;
|
||||
|
||||
@ -1809,7 +1809,32 @@ class Expedition extends CommonObject
|
||||
$resql=$this->db->query($sql);
|
||||
if ($resql)
|
||||
{
|
||||
//TODO: Add option/checkbox to set order billed if 100% of order is shipped
|
||||
// TODO: Add option/checkbox to set order billed if 100% of order is shipped
|
||||
$this->statut=2;
|
||||
return 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
dol_print_error($this->db);
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Classify the shipping as invoiced (used when WORKFLOW_BILL_ON_SHIPMENT is on)
|
||||
*
|
||||
* @return int <0 if ko, >0 if ok
|
||||
*/
|
||||
function set_billed()
|
||||
{
|
||||
global $conf;
|
||||
|
||||
$sql = 'UPDATE '.MAIN_DB_PREFIX.'expedition SET fk_statut=2, billed=1'; // TODO Update only billed
|
||||
$sql .= ' WHERE rowid = '.$this->id.' AND fk_statut > 0';
|
||||
|
||||
$resql=$this->db->query($sql);
|
||||
if ($resql)
|
||||
{
|
||||
$this->statut=2;
|
||||
$this->billed=1;
|
||||
return 1;
|
||||
|
||||
@ -36,6 +36,8 @@ ALTER TABLE llx_product_customer_price_log ADD COLUMN localtax1_type varchar(10)
|
||||
ALTER TABLE llx_product_customer_price_log ADD COLUMN localtax2_type varchar(10) NOT NULL DEFAULT '0' after localtax2_tx;
|
||||
|
||||
|
||||
ALTER TABLE llx_expedition ADD COLUMN billed smallint DEFAULT 0;
|
||||
|
||||
CREATE TABLE llx_product_lot (
|
||||
rowid integer AUTO_INCREMENT PRIMARY KEY,
|
||||
tms timestamp,
|
||||
|
||||
@ -40,8 +40,9 @@ create table llx_expedition
|
||||
fk_address integer DEFAULT NULL, -- delivery address (deprecated)
|
||||
fk_shipping_method integer,
|
||||
tracking_number varchar(50),
|
||||
fk_statut smallint DEFAULT 0,
|
||||
|
||||
fk_statut smallint DEFAULT 0, -- 0 = draft, 1 = validated, 2 = billed or closed depending on WORKFLOW_BILL_ON_SHIPMENT option
|
||||
billed smallint DEFAULT 0,
|
||||
|
||||
height float, -- height
|
||||
width float, -- with
|
||||
size_units integer, -- unit of all sizes (height, width, depth)
|
||||
|
||||
Loading…
Reference in New Issue
Block a user