From 36ff576d1566377785c32c66a2c6df894aa93595 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20FRANCE?= Date: Thu, 23 Oct 2014 17:48:51 +0200 Subject: [PATCH 01/10] "Is Order shippable" icon --- htdocs/commande/list.php | 59 +++++++++++++++++++++++++++++++--------- 1 file changed, 46 insertions(+), 13 deletions(-) diff --git a/htdocs/commande/list.php b/htdocs/commande/list.php index bd31a438b05..f7c56130c2d 100644 --- a/htdocs/commande/list.php +++ b/htdocs/commande/list.php @@ -33,6 +33,7 @@ require_once DOL_DOCUMENT_ROOT.'/core/lib/date.lib.php'; require_once DOL_DOCUMENT_ROOT.'/core/class/html.formfile.class.php'; require_once DOL_DOCUMENT_ROOT.'/core/class/html.formother.class.php'; require_once DOL_DOCUMENT_ROOT.'/commande/class/commande.class.php'; +require_once DOL_DOCUMENT_ROOT .'/product/class/product.class.php'; $langs->load('orders'); $langs->load('deliveries'); @@ -325,22 +326,54 @@ if ($resql) $total=0; $subtotal=0; - $generic_commande = new Commande($db); - while ($i < min($num,$limit)) - { - $objp = $db->fetch_object($resql); - $var=!$var; - print ''; - print ''; + $generic_commande = new Commande($db); + $generic_product = new Product($db); + while ($i < min($num,$limit)) { + $objp = $db->fetch_object($resql); + $var=!$var; + print ''; + print ''; - $generic_commande->id=$objp->rowid; - $generic_commande->ref=$objp->ref; + $generic_commande->id=$objp->rowid; + $generic_commande->ref=$objp->ref; + $generic_commande->lines=array(); + $generic_commande->getLinesArray(); - print ''; - print ''; + print '
'; - print $generic_commande->getNomUrl(1,($viewstatut != 2?0:$objp->fk_statut)); - print '
'; + print ''; + // Shippable Icon + if (($objp->fk_statut > 0) && ($objp->fk_statut < 3)) { + print ''; + } + + // warning late icon print ''; - // Shippable Icon + // Shipping Icon if (($objp->fk_statut > 0) && ($objp->fk_statut < 3)) { print ''; - // Shipping Icon + // Shippable Icon if (($objp->fk_statut > 0) && ($objp->fk_statut < 3)) { - print ''; + if ($nbprod>0) { + print ''; + } } // warning late icon From 68fa6cec70b4299aa88c6dec108132b73c5f86ca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20FRANCE?= Date: Sat, 25 Oct 2014 11:34:21 +0200 Subject: [PATCH 08/10] Update commande.php --- htdocs/admin/commande.php | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/htdocs/admin/commande.php b/htdocs/admin/commande.php index e5b2e5e6b1d..89a78b5d6da 100644 --- a/htdocs/admin/commande.php +++ b/htdocs/admin/commande.php @@ -222,6 +222,18 @@ else if ($action == 'set_COMMANDE_FREE_TEXT') } } +//Activate Set Shippable Icon In List +else if ($action=="setshippableiconinlist") { + $setshippableiconinlist = GETPOST('value','int'); + $res = dolibarr_set_const($db, "SHIPPABLE_ORDER_ICON_IN_LIST", $setshippableiconinlist,'yesno',0,'',$conf->entity); + if (! $res > 0) $error++; + if (! $error) { + setEventMessage($langs->trans("SetupSaved")); + } else { + setEventMessage($langs->trans("Error"), 'errors'); + } +} + /* * View @@ -548,6 +560,22 @@ print '' print "\n"; print ''; +// Shippable Icon in List +$var=!$var; +print ""; +print ''; +print ''; +print ''; +print ''; + print '
'; + print $generic_commande->getNomUrl(1,($viewstatut != 2?0:$objp->fk_statut)); + print ''; + $shippable=0; + $text_info=''; + for ($lig=0; $lig<(count($generic_commande->lines)); $lig++) { + if ($generic_commande->lines[$lig]->product_type==0) { + $text_info .= $generic_commande->lines[$lig]->qty.' X '.$generic_commande->lines[$lig]->ref.' : '.dol_trunc($generic_commande->lines[$lig]->product_label, 28); + $generic_product->id = $generic_commande->lines[$lig]->fk_product; + $generic_product->load_stock(); + if ($generic_product->stock_reel<$generic_commande->lines[$lig]->qty) { + $shippable++; + $text_info.=''.$langs->trans('Available').' : '.$generic_product->stock_reel."
"; + } else { + $text_info.=''.$langs->trans('Available').' : '.$generic_product->stock_reel."
"; + } + } + } + if ($shippable==0) { + $text_icon = img_picto('', 'object_sending'); + $text_info = $langs->trans('Shippable').'
'.$text_info; + } else { + $text_icon = img_picto('', 'error'); + $text_info = $langs->trans('NonShippable').'
'.$text_info; + } + print $form->textwithtooltip('',$text_info,2,1,$text_icon,'',2); + print '
'; if (($objp->fk_statut > 0) && ($objp->fk_statut < 3) && max($db->jdate($objp->date_commande),$db->jdate($objp->date_livraison)) < ($now - $conf->commande->client->warning_delay)) print img_picto($langs->trans("Late"),"warning"); From 63e4275afbfc6c02f348a2e0c2503e7f166460b4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20FRANCE?= Date: Thu, 23 Oct 2014 18:32:29 +0200 Subject: [PATCH 02/10] Update list.php --- htdocs/commande/list.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/htdocs/commande/list.php b/htdocs/commande/list.php index f7c56130c2d..9fbe7f24c7f 100644 --- a/htdocs/commande/list.php +++ b/htdocs/commande/list.php @@ -356,9 +356,9 @@ if ($resql) $generic_product->load_stock(); if ($generic_product->stock_reel<$generic_commande->lines[$lig]->qty) { $shippable++; - $text_info.=''.$langs->trans('Available').' : '.$generic_product->stock_reel."
"; + $text_info.=''.$langs->trans('Available').' : '.$generic_product->stock_reel."
"; } else { - $text_info.=''.$langs->trans('Available').' : '.$generic_product->stock_reel."
"; + $text_info.='
"; } } } From 335b0b3c56a08e40739bbf164c60b205976d8f80 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20FRANCE?= Date: Thu, 23 Oct 2014 18:33:52 +0200 Subject: [PATCH 03/10] Update list.php --- htdocs/commande/list.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/commande/list.php b/htdocs/commande/list.php index 9fbe7f24c7f..21be169c823 100644 --- a/htdocs/commande/list.php +++ b/htdocs/commande/list.php @@ -358,7 +358,7 @@ if ($resql) $shippable++; $text_info.=''.$langs->trans('Available').' : '.$generic_product->stock_reel."
"; } else { - $text_info.='
"; + $text_info.=''.$langs->trans('Available').' : '.$generic_product->stock_reel."
"; } } } From 48a9be28a18f322b060eb6506293329889fd2bad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20FRANCE?= Date: Thu, 23 Oct 2014 18:39:12 +0200 Subject: [PATCH 04/10] Update deliveries.lang --- htdocs/langs/en_US/deliveries.lang | 2 ++ 1 file changed, 2 insertions(+) diff --git a/htdocs/langs/en_US/deliveries.lang b/htdocs/langs/en_US/deliveries.lang index cabd31a3a32..b2407f610e1 100644 --- a/htdocs/langs/en_US/deliveries.lang +++ b/htdocs/langs/en_US/deliveries.lang @@ -24,3 +24,5 @@ Deliverer=Deliverer : Sender=Sender Recipient=Recipient ErrorStockIsNotEnough=There's not enough stock +Shippable=Shippable +NonShippable=Non Shippable From ccbaba79fb12be75f9108578dd8c1b5fb9885598 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20FRANCE?= Date: Thu, 23 Oct 2014 18:42:02 +0200 Subject: [PATCH 05/10] Update deliveries.lang --- htdocs/langs/en_US/deliveries.lang | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/langs/en_US/deliveries.lang b/htdocs/langs/en_US/deliveries.lang index b2407f610e1..c96a506281d 100644 --- a/htdocs/langs/en_US/deliveries.lang +++ b/htdocs/langs/en_US/deliveries.lang @@ -25,4 +25,4 @@ Sender=Sender Recipient=Recipient ErrorStockIsNotEnough=There's not enough stock Shippable=Shippable -NonShippable=Non Shippable +NonShippable=Not Shippable From 8b4706cacd9de06cd95a7cbcf6b57560d7d6ae5c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20FRANCE?= Date: Fri, 24 Oct 2014 08:55:30 +0200 Subject: [PATCH 06/10] Update list.php --- htdocs/commande/list.php | 33 ++++++++++++++++++++++++++------- 1 file changed, 26 insertions(+), 7 deletions(-) diff --git a/htdocs/commande/list.php b/htdocs/commande/list.php index 21be169c823..ece12a159c1 100644 --- a/htdocs/commande/list.php +++ b/htdocs/commande/list.php @@ -344,25 +344,44 @@ if ($resql) print $generic_commande->getNomUrl(1,($viewstatut != 2?0:$objp->fk_statut)); print '
'; - $shippable=0; + $notshippable=0; $text_info=''; for ($lig=0; $lig<(count($generic_commande->lines)); $lig++) { if ($generic_commande->lines[$lig]->product_type==0) { - $text_info .= $generic_commande->lines[$lig]->qty.' X '.$generic_commande->lines[$lig]->ref.' : '.dol_trunc($generic_commande->lines[$lig]->product_label, 28); $generic_product->id = $generic_commande->lines[$lig]->fk_product; $generic_product->load_stock(); + // stock order and stock order_supplier + $stock_order=0; + $stock_order_supplier=0; + if (! empty($conf->global->STOCK_CALCULATE_ON_SHIPMENT)) { + if (! empty($conf->commande->enabled)) { + $generic_product->load_stats_commande(0,'1,2'); + $stock_order=$generic_product->stats_commande['qty']; + } + if (! empty($conf->fournisseur->enabled)) { + $generic_product->load_stats_commande_fournisseur(0,'3'); + $stock_order_supplier=$generic_product->stats_commande_fournisseur['qty']; + } + } + $text_info .= $generic_commande->lines[$lig]->qty.' X '.$generic_commande->lines[$lig]->ref.' '.dol_trunc($generic_commande->lines[$lig]->product_label, 25); + $text_stock_reel = $generic_product->stock_reel.'/'.$stock_order; if ($generic_product->stock_reel<$generic_commande->lines[$lig]->qty) { - $shippable++; - $text_info.=''.$langs->trans('Available').' : '.$generic_product->stock_reel."
"; + $notshippable++; + $text_info.=''.$langs->trans('Available').' : '.$text_stock_reel.''; } else { - $text_info.=''.$langs->trans('Available').' : '.$generic_product->stock_reel."
"; + $text_info.=''.$langs->trans('Available').' : '.$text_stock_reel.''; + } + if ($stock_order_supplier>0) { + $text_info.= ' '.$langs->trans('SupplierOrder').' : '.$stock_order_supplier.'
'; + } else { + $text_info.= '
'; } } } - if ($shippable==0) { + if ($notshippable==0) { $text_icon = img_picto('', 'object_sending'); $text_info = $langs->trans('Shippable').'
'.$text_info; } else { From 6a1d5edf9d14d793499d5695c63d75ee6da38ed4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20FRANCE?= Date: Fri, 24 Oct 2014 09:23:39 +0200 Subject: [PATCH 07/10] Update list.php --- htdocs/commande/list.php | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/htdocs/commande/list.php b/htdocs/commande/list.php index ece12a159c1..802fe9e1f91 100644 --- a/htdocs/commande/list.php +++ b/htdocs/commande/list.php @@ -344,13 +344,14 @@ if ($resql) print $generic_commande->getNomUrl(1,($viewstatut != 2?0:$objp->fk_statut)); print '
'; $notshippable=0; $text_info=''; + $nbprod=0; for ($lig=0; $lig<(count($generic_commande->lines)); $lig++) { if ($generic_commande->lines[$lig]->product_type==0) { + $nbprod++; // order contains real products $generic_product->id = $generic_commande->lines[$lig]->fk_product; $generic_product->load_stock(); // stock order and stock order_supplier @@ -388,8 +389,11 @@ if ($resql) $text_icon = img_picto('', 'error'); $text_info = $langs->trans('NonShippable').'
'.$text_info; } - print $form->textwithtooltip('',$text_info,2,1,$text_icon,'',2); - print '
'; + print $form->textwithtooltip('',$text_info,2,1,$text_icon,'',2); + print '
'.$langs->trans("ShippableOrderIconInList").' '; +if (!empty($conf->global->SHIPPABLE_ORDER_ICON_IN_LIST)) { + print ''; + print img_picto($langs->trans("Activated"),'switch_on'); +} else { + print ''; + print img_picto($langs->trans("Disabled"),'switch_off'); +} +print '
'; print '
'; From e08146d053f8793f7ca3dafa603f7568744ee6cf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20FRANCE?= Date: Sat, 25 Oct 2014 11:37:39 +0200 Subject: [PATCH 09/10] Update list.php --- htdocs/commande/list.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/commande/list.php b/htdocs/commande/list.php index 802fe9e1f91..84f8e455d11 100644 --- a/htdocs/commande/list.php +++ b/htdocs/commande/list.php @@ -345,7 +345,7 @@ if ($resql) print ''; // Shippable Icon - if (($objp->fk_statut > 0) && ($objp->fk_statut < 3)) { + if (($objp->fk_statut > 0) && ($objp->fk_statut < 3) && ! empty($conf->global->SHIPPABLE_ORDER_ICON_IN_LIST)) { $notshippable=0; $text_info=''; $nbprod=0; From 64a5a260dd76d2f923bf802aba21a99dba604026 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20FRANCE?= Date: Sat, 25 Oct 2014 11:54:38 +0200 Subject: [PATCH 10/10] Update admin.lang --- htdocs/langs/en_US/admin.lang | 1 + 1 file changed, 1 insertion(+) diff --git a/htdocs/langs/en_US/admin.lang b/htdocs/langs/en_US/admin.lang index 9f87b945d71..014229d62d5 100644 --- a/htdocs/langs/en_US/admin.lang +++ b/htdocs/langs/en_US/admin.lang @@ -1146,6 +1146,7 @@ HideTreadedOrders=Hide the treated or cancelled orders in the list ValidOrderAfterPropalClosed=To validate the order after proposal closer, makes it possible not to step by the provisional order FreeLegalTextOnOrders=Free text on orders WatermarkOnDraftOrders=Watermark on draft orders (none if empty) +ShippableOrderIconInList=Add an icon in Orders list which indicate if order is shippable ##### Clicktodial ##### ClickToDialSetup=Click To Dial module setup ClickToDialUrlDesc=Url called when a click on phone picto is done. In URL, you can use tags
__PHONETO__ that will be replaced with the phone number of person to call
__PHONEFROM__ that will be replaced with phone number of calling person (yours)
__LOGIN__ that will be replaced with your clicktodial login (defined on your user card)
__PASS__ that will be replaced with your clicktodial password (defined on your user card).