From 94487cf411e094780f299ba4302a2edf34544215 Mon Sep 17 00:00:00 2001 From: florian HENRY Date: Mon, 8 Aug 2016 13:43:44 +0200 Subject: [PATCH 01/23] FIX #5594 --- htdocs/core/class/extrafields.class.php | 39 ++++++++++++++----------- 1 file changed, 22 insertions(+), 17 deletions(-) diff --git a/htdocs/core/class/extrafields.class.php b/htdocs/core/class/extrafields.class.php index d63c2536476..cf35dd1ee5c 100644 --- a/htdocs/core/class/extrafields.class.php +++ b/htdocs/core/class/extrafields.class.php @@ -675,7 +675,7 @@ class ExtraFields if ($showsize > 48) $showsize=48; } } - + if (in_array($type,array('date','datetime'))) { $tmp=explode(',',$size); @@ -812,7 +812,7 @@ class ExtraFields if (strpos($InfoFieldList[4], '$SEL$')!==false) { $InfoFieldList[4]=str_replace('$SEL$','SELECT',$InfoFieldList[4]); } - + // current object id can be use into filter if (strpos($InfoFieldList[4], '$ID$')!==false && !empty($objectid)) { $InfoFieldList[4]=str_replace('$ID$',$objectid,$InfoFieldList[4]); @@ -830,14 +830,14 @@ class ExtraFields $sqlwhere.= ' WHERE '.$InfoFieldList[4]; } } - else + else { $sqlwhere.= ' WHERE 1=1'; } // Some tables may have field, some other not. For the moment we disable it. - if (in_array($InfoFieldList[0],array('tablewithentity'))) + if (in_array($InfoFieldList[0],array('tablewithentity'))) { - $sqlwhere.= ' AND entity = '.$conf->entity; + $sqlwhere.= ' AND entity = '.$conf->entity; } $sql.=$sqlwhere; //print $sql; @@ -996,19 +996,19 @@ class ExtraFields $sql = 'SELECT ' . $keyList; $sql .= ' FROM ' . MAIN_DB_PREFIX . $InfoFieldList[0]; if (! empty($InfoFieldList[4])) { - + // can use SELECT request if (strpos($InfoFieldList[4], '$SEL$')!==false) { $InfoFieldList[4]=str_replace('$SEL$','SELECT',$InfoFieldList[4]); } - + // current object id can be use into filter if (strpos($InfoFieldList[4], '$ID$')!==false && !empty($objectid)) { $InfoFieldList[4]=str_replace('$ID$',$objectid,$InfoFieldList[4]); } else { $InfoFieldList[4]=str_replace('$ID$','0',$InfoFieldList[4]); } - + // We have to join on extrafield table if (strpos($InfoFieldList[4], 'extra') !== false) { $sql .= ' as main, ' . MAIN_DB_PREFIX . $InfoFieldList[0] . '_extrafields as extra'; @@ -1020,13 +1020,13 @@ class ExtraFields $sqlwhere .= ' WHERE 1=1'; } // Some tables may have field, some other not. For the moment we disable it. - if (in_array($InfoFieldList[0], array ('tablewithentity'))) + if (in_array($InfoFieldList[0], array ('tablewithentity'))) { $sqlwhere .= ' AND entity = ' . $conf->entity; } // $sql.=preg_replace('/^ AND /','',$sqlwhere); // print $sql; - + $sql .= $sqlwhere; dol_syslog(get_class($this) . '::showInputField type=chkbxlst',LOG_DEBUG); $resql = $this->db->query($sql); @@ -1232,7 +1232,12 @@ class ExtraFields { $sql.= ' as main'; } - $sql.= " WHERE ".$selectkey."='".$this->db->escape($value)."'"; + if ($selectkey=='rowid') { + $sql.= " WHERE ".$selectkey."=".$this->db->escape($value); + } else { + $sql.= " WHERE ".$selectkey."='".$this->db->escape($value)."'"; + } + //$sql.= ' AND entity = '.$conf->entity; dol_syslog(get_class($this).':showOutputField:$type=sellist', LOG_DEBUG); @@ -1391,10 +1396,10 @@ class ExtraFields $showsize=round($size); if ($showsize > 48) $showsize=48; } - + //print $type.'-'.$size; $out=$value; - + return $out; } @@ -1411,7 +1416,7 @@ class ExtraFields $type=$this->attribute_type[$key]; $align=''; - + if ($type == 'date') { $align="center"; @@ -1440,10 +1445,10 @@ class ExtraFields { $align="center"; } - + return $align; } - + /** * Return HTML string to print separator extrafield * @@ -1523,7 +1528,7 @@ class ExtraFields return 0; } } - + /** * return array_options array for object by extrafields value (using for data send by forms) * From 15f187c466f4ab64576fb11cc1c16e57580043dd Mon Sep 17 00:00:00 2001 From: florian HENRY Date: Mon, 8 Aug 2016 13:54:03 +0200 Subject: [PATCH 02/23] better test --- htdocs/core/class/extrafields.class.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/core/class/extrafields.class.php b/htdocs/core/class/extrafields.class.php index cf35dd1ee5c..237f1a36b81 100644 --- a/htdocs/core/class/extrafields.class.php +++ b/htdocs/core/class/extrafields.class.php @@ -1232,7 +1232,7 @@ class ExtraFields { $sql.= ' as main'; } - if ($selectkey=='rowid') { + if ($selectkey=='rowid' && is_int($value)) { $sql.= " WHERE ".$selectkey."=".$this->db->escape($value); } else { $sql.= " WHERE ".$selectkey."='".$this->db->escape($value)."'"; From 90cb71f34185c60f76fac15767d06dcab12fc542 Mon Sep 17 00:00:00 2001 From: florian HENRY Date: Mon, 8 Aug 2016 13:54:51 +0200 Subject: [PATCH 03/23] revert better fix --- htdocs/core/class/extrafields.class.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/core/class/extrafields.class.php b/htdocs/core/class/extrafields.class.php index 237f1a36b81..cf35dd1ee5c 100644 --- a/htdocs/core/class/extrafields.class.php +++ b/htdocs/core/class/extrafields.class.php @@ -1232,7 +1232,7 @@ class ExtraFields { $sql.= ' as main'; } - if ($selectkey=='rowid' && is_int($value)) { + if ($selectkey=='rowid') { $sql.= " WHERE ".$selectkey."=".$this->db->escape($value); } else { $sql.= " WHERE ".$selectkey."='".$this->db->escape($value)."'"; From dd905debb47ad6f4da1d36922021aba8d3896ac8 Mon Sep 17 00:00:00 2001 From: aspangaro Date: Tue, 9 Aug 2016 10:19:42 +0200 Subject: [PATCH 04/23] Uniformize presentation --- htdocs/fourn/card.php | 2 +- htdocs/societe/soc.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/htdocs/fourn/card.php b/htdocs/fourn/card.php index d8bb890c0dd..cdcdbd1a2ad 100644 --- a/htdocs/fourn/card.php +++ b/htdocs/fourn/card.php @@ -121,7 +121,7 @@ if ($id > 0 && empty($object->id)) if ($object->id > 0) { $title=$langs->trans("ThirdParty")." - ".$langs->trans('SupplierCard'); - if (! empty($conf->global->MAIN_HTML_TITLE) && preg_match('/thirdpartynameonly/',$conf->global->MAIN_HTML_TITLE) && $object->name) $title=$object->name." - ".$langs->trans('SupplierCard'); + if (! empty($conf->global->MAIN_HTML_TITLE) && preg_match('/thirdpartynameonly/',$conf->global->MAIN_HTML_TITLE) && $object->name) $title=$object->name." - ".$langs->trans('Supplier'); $help_url=''; llxHeader('',$title, $help_url); diff --git a/htdocs/societe/soc.php b/htdocs/societe/soc.php index 254ce7f5a0a..d818363bc14 100644 --- a/htdocs/societe/soc.php +++ b/htdocs/societe/soc.php @@ -739,7 +739,7 @@ if ($socid > 0 && empty($object->id)) } $title=$langs->trans("ThirdParty"); -if (! empty($conf->global->MAIN_HTML_TITLE) && preg_match('/thirdpartynameonly/',$conf->global->MAIN_HTML_TITLE) && $object->name) $title=$object->name; +if (! empty($conf->global->MAIN_HTML_TITLE) && preg_match('/thirdpartynameonly/',$conf->global->MAIN_HTML_TITLE) && $object->name) $title=$object->name." - ".$langs->trans('Card'); $help_url='EN:Module_Third_Parties|FR:Module_Tiers|ES:Empresas'; llxHeader('',$title,$help_url); From 321814fae3e53af149627e6d381e9e94ffab81bf Mon Sep 17 00:00:00 2001 From: florian HENRY Date: Tue, 9 Aug 2016 15:17:19 +0200 Subject: [PATCH 05/23] better fix for #5594 --- htdocs/core/class/extrafields.class.php | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/htdocs/core/class/extrafields.class.php b/htdocs/core/class/extrafields.class.php index cf35dd1ee5c..52c3b2f5cb9 100644 --- a/htdocs/core/class/extrafields.class.php +++ b/htdocs/core/class/extrafields.class.php @@ -1232,9 +1232,11 @@ class ExtraFields { $sql.= ' as main'; } - if ($selectkey=='rowid') { + if ($selectkey=='rowid' && empty($value)) { + $sql.= " WHERE ".$selectkey."=0"; + } elseif ($selectkey=='rowid') { $sql.= " WHERE ".$selectkey."=".$this->db->escape($value); - } else { + }else { $sql.= " WHERE ".$selectkey."='".$this->db->escape($value)."'"; } From a1d139691922ecdbaf00cbc8e4c7b2ccabb08b5c Mon Sep 17 00:00:00 2001 From: aspangaro Date: Wed, 10 Aug 2016 07:40:40 +0200 Subject: [PATCH 06/23] Uniformize presentation --- htdocs/fourn/card.php | 2 +- htdocs/margin/tabs/productMargins.php | 18 ++++++++++++++---- htdocs/product/card.php | 19 +++++++++++++------ htdocs/product/composition/card.php | 20 ++++++++++++++------ htdocs/product/document.php | 18 ++++++++++++++---- htdocs/product/fournisseurs.php | 25 ++++++++++++++++--------- htdocs/product/info.php | 18 ++++++++++++++---- htdocs/product/price.php | 18 ++++++++++++++---- htdocs/product/stats/card.php | 17 ++++++++++++++++- htdocs/product/stats/facture.php | 16 +++++++++++++++- htdocs/product/stock/product.php | 17 +++++++++++++++-- htdocs/product/traduction.php | 18 ++++++++++++++---- 12 files changed, 160 insertions(+), 46 deletions(-) diff --git a/htdocs/fourn/card.php b/htdocs/fourn/card.php index cdcdbd1a2ad..f03e511f8d0 100644 --- a/htdocs/fourn/card.php +++ b/htdocs/fourn/card.php @@ -120,7 +120,7 @@ if ($id > 0 && empty($object->id)) if ($object->id > 0) { - $title=$langs->trans("ThirdParty")." - ".$langs->trans('SupplierCard'); + $title=$langs->trans("ThirdParty")." - ".$langs->trans('Supplier'); if (! empty($conf->global->MAIN_HTML_TITLE) && preg_match('/thirdpartynameonly/',$conf->global->MAIN_HTML_TITLE) && $object->name) $title=$object->name." - ".$langs->trans('Supplier'); $help_url=''; llxHeader('',$title, $help_url); diff --git a/htdocs/margin/tabs/productMargins.php b/htdocs/margin/tabs/productMargins.php index 35bd8e85155..f6d94fb8135 100644 --- a/htdocs/margin/tabs/productMargins.php +++ b/htdocs/margin/tabs/productMargins.php @@ -69,11 +69,21 @@ if ($id > 0 || ! empty($ref)) { $result = $object->fetch($id, $ref); - $helpurl=''; - if (GETPOST("type") == '0' || ($object->type == Product::TYPE_PRODUCT)) $helpurl='EN:Module_Products|FR:Module_Produits|ES:Módulo_Productos'; - if (GETPOST("type") == '1' || ($object->type == Product::TYPE_SERVICE)) $helpurl='EN:Module_Services_En|FR:Module_Services|ES:Módulo_Servicios'; + $title = $langs->trans('ProductServiceCard'); + $helpurl = ''; + $shortlabel = dol_trunc($object->label,16); + if (GETPOST("type") == '0' || ($object->type == Product::TYPE_PRODUCT)) + { + $title = $langs->trans('Product')." ". $shortlabel ." - ".$langs->trans('Card'); + $helpurl='EN:Module_Products|FR:Module_Produits|ES:Módulo_Productos'; + } + if (GETPOST("type") == '1' || ($object->type == Product::TYPE_SERVICE)) + { + $title = $langs->trans('Service')." ". $shortlabel ." - ".$langs->trans('Card'); + $helpurl='EN:Module_Services_En|FR:Module_Services|ES:Módulo_Servicios'; + } - llxHeader("", $langs->trans("CardProduct".$object->type), $help_url); + llxHeader('', $title, $helpurl); /* * En mode visu diff --git a/htdocs/product/card.php b/htdocs/product/card.php index f06009ecfa7..d3f0ea70eb6 100644 --- a/htdocs/product/card.php +++ b/htdocs/product/card.php @@ -811,12 +811,19 @@ if (empty($reshook)) * View */ -$helpurl=''; -if (GETPOST("type") == '0' || ($object->type == Product::TYPE_PRODUCT)) $helpurl='EN:Module_Products|FR:Module_Produits|ES:Módulo_Productos'; -if (GETPOST("type") == '1' || ($object->type == Product::TYPE_SERVICE)) $helpurl='EN:Module_Services_En|FR:Module_Services|ES:Módulo_Servicios'; - -if (isset($_GET['type'])) $title = $langs->trans('CardProduct'.GETPOST('type')); -else $title = $langs->trans('ProductServiceCard'); +$title = $langs->trans('ProductServiceCard'); +$helpurl = ''; +$shortlabel = dol_trunc($object->label,16); +if (GETPOST("type") == '0' || ($object->type == Product::TYPE_PRODUCT)) +{ + $title = $langs->trans('Product')." ". $shortlabel ." - ".$langs->trans('Card'); + $helpurl='EN:Module_Products|FR:Module_Produits|ES:Módulo_Productos'; +} +if (GETPOST("type") == '1' || ($object->type == Product::TYPE_SERVICE)) +{ + $title = $langs->trans('Service')." ". $shortlabel ." - ".$langs->trans('Card'); + $helpurl='EN:Module_Services_En|FR:Module_Services|ES:Módulo_Servicios'; +} llxHeader('', $title, $helpurl); diff --git a/htdocs/product/composition/card.php b/htdocs/product/composition/card.php index a65adb1c4b3..ef9c34f32ee 100644 --- a/htdocs/product/composition/card.php +++ b/htdocs/product/composition/card.php @@ -133,10 +133,6 @@ else if($action==='save_composed_product') * View */ -$helpurl=''; -if (GETPOST("type") == '0' || ($object->type == Product::TYPE_PRODUCT)) $helpurl='EN:Module_Products|FR:Module_Produits|ES:Módulo_Productos'; -if (GETPOST("type") == '1' || ($object->type == Product::TYPE_SERVICE)) $helpurl='EN:Module_Services_En|FR:Module_Services|ES:Módulo_Servicios'; - $product_fourn = new ProductFournisseur($db); $productstatic = new Product($db); $form = new Form($db); @@ -177,10 +173,22 @@ if ($action == 'search') $resql = $db->query($sql); } -//print $sql; +$title = $langs->trans('ProductServiceCard'); +$helpurl = ''; +$shortlabel = dol_trunc($object->label,16); +if (GETPOST("type") == '0' || ($object->type == Product::TYPE_PRODUCT)) +{ + $title = $langs->trans('Product')." ". $shortlabel ." - ".$langs->trans('AssociatedProducts'); + $helpurl='EN:Module_Products|FR:Module_Produits|ES:Módulo_Productos'; +} +if (GETPOST("type") == '1' || ($object->type == Product::TYPE_SERVICE)) +{ + $title = $langs->trans('Service')." ". $shortlabel ." - ".$langs->trans('AssociatedProducts'); + $helpurl='EN:Module_Services_En|FR:Module_Services|ES:Módulo_Servicios'; +} -llxHeader("", $langs->trans("CardProduct".$object->type), $helpurl); +llxHeader('', $title, $helpurl); $head=product_prepare_head($object); $titre=$langs->trans("CardProduct".$object->type); diff --git a/htdocs/product/document.php b/htdocs/product/document.php index cddcff12374..05d25b4085a 100644 --- a/htdocs/product/document.php +++ b/htdocs/product/document.php @@ -166,11 +166,21 @@ if ($action=='filemerge') $form = new Form($db); -$helpurl=''; -if (GETPOST("type") == '0' || ($object->type == Product::TYPE_PRODUCT)) $helpurl='EN:Module_Products|FR:Module_Produits|ES:Módulo_Productos'; -if (GETPOST("type") == '1' || ($object->type == Product::TYPE_SERVICE)) $helpurl='EN:Module_Services_En|FR:Module_Services|ES:Módulo_Servicios'; +$title = $langs->trans('ProductServiceCard'); +$helpurl = ''; +$shortlabel = dol_trunc($object->label,16); +if (GETPOST("type") == '0' || ($object->type == Product::TYPE_PRODUCT)) +{ + $title = $langs->trans('Product')." ". $shortlabel ." - ".$langs->trans('Documents'); + $helpurl='EN:Module_Products|FR:Module_Produits|ES:Módulo_Productos'; +} +if (GETPOST("type") == '1' || ($object->type == Product::TYPE_SERVICE)) +{ + $title = $langs->trans('Service')." ". $shortlabel ." - ".$langs->trans('Documents'); + $helpurl='EN:Module_Services_En|FR:Module_Services|ES:Módulo_Servicios'; +} -llxHeader("", $langs->trans("CardProduct".$object->type), $help_url); +llxHeader('', $title, $helpurl); if ($object->id) diff --git a/htdocs/product/fournisseurs.php b/htdocs/product/fournisseurs.php index 3eb08370aba..05d70e7eb26 100644 --- a/htdocs/product/fournisseurs.php +++ b/htdocs/product/fournisseurs.php @@ -274,19 +274,26 @@ if (empty($reshook)) * view */ -$helpurl=''; -if (GETPOST("type") == '0' || ($object->type == Product::TYPE_PRODUCT)) $helpurl='EN:Module_Products|FR:Module_Produits|ES:Módulo_Productos'; -if (GETPOST("type") == '1' || ($object->type == Product::TYPE_SERVICE)) $helpurl='EN:Module_Services_En|FR:Module_Services|ES:Módulo_Servicios'; +$title = $langs->trans('ProductServiceCard'); +$helpurl = ''; +$shortlabel = dol_trunc($object->label,16); +if (GETPOST("type") == '0' || ($object->type == Product::TYPE_PRODUCT)) +{ + $title = $langs->trans('Product')." ". $shortlabel ." - ".$langs->trans('BuyingPrices'); + $helpurl='EN:Module_Products|FR:Module_Produits|ES:Módulo_Productos'; +} +if (GETPOST("type") == '1' || ($object->type == Product::TYPE_SERVICE)) +{ + $title = $langs->trans('Service')." ". $shortlabel ." - ".$langs->trans('BuyingPrices'); + $helpurl='EN:Module_Services_En|FR:Module_Services|ES:Módulo_Servicios'; +} + +llxHeader('', $title, $helpurl); $form = new Form($db); if ($id > 0 || $ref) { - if ($action <> 're-edit') - { - llxHeader("", $langs->trans("CardProduct".$object->type), $helpurl); - } - if ($result) { if ($action == 'ask_remove_pf') { @@ -365,7 +372,7 @@ if ($id > 0 || $ref) print ''; // Supplier - print '
'.$langs->trans("Supplier").''; + print '
'.$langs->trans("Supplier").''; if ($rowid) { $supplier=new Fournisseur($db); diff --git a/htdocs/product/info.php b/htdocs/product/info.php index 71f1908e434..f725d0e17d9 100644 --- a/htdocs/product/info.php +++ b/htdocs/product/info.php @@ -56,11 +56,21 @@ if ($reshook < 0) setEventMessages($hookmanager->error, $hookmanager->errors, 'e * View */ -$helpurl=''; -if (GETPOST("type") == '0' || ($object->type == Product::TYPE_PRODUCT)) $helpurl='EN:Module_Products|FR:Module_Produits|ES:Módulo_Productos'; -if (GETPOST("type") == '1' || ($object->type == Product::TYPE_SERVICE)) $helpurl='EN:Module_Services_En|FR:Module_Services|ES:Módulo_Servicios'; +$title = $langs->trans('ProductServiceCard'); +$helpurl = ''; +$shortlabel = dol_trunc($object->label,16); +if (GETPOST("type") == '0' || ($object->type == Product::TYPE_PRODUCT)) +{ + $title = $langs->trans('Product')." ". $shortlabel ." - ".$langs->trans('Info'); + $helpurl='EN:Module_Products|FR:Module_Produits|ES:Módulo_Productos'; +} +if (GETPOST("type") == '1' || ($object->type == Product::TYPE_SERVICE)) +{ + $title = $langs->trans('Service')." ". $shortlabel ." - ".$langs->trans('Info'); + $helpurl='EN:Module_Services_En|FR:Module_Services|ES:Módulo_Servicios'; +} -$title=$langs->trans("Product"); +llxHeader('', $title, $helpurl); $form=new Form($b); diff --git a/htdocs/product/price.php b/htdocs/product/price.php index c645d76062e..420fde73839 100644 --- a/htdocs/product/price.php +++ b/htdocs/product/price.php @@ -619,11 +619,21 @@ if (! empty($id) || ! empty($ref)) $object->fetch($id, $ref); } -$helpurl=''; -if (GETPOST("type") == '0' || ($object->type == Product::TYPE_PRODUCT)) $helpurl='EN:Module_Products|FR:Module_Produits|ES:Módulo_Productos'; -if (GETPOST("type") == '1' || ($object->type == Product::TYPE_SERVICE)) $helpurl='EN:Module_Services_En|FR:Module_Services|ES:Módulo_Servicios'; +$title = $langs->trans('ProductServiceCard'); +$helpurl = ''; +$shortlabel = dol_trunc($object->label,16); +if (GETPOST("type") == '0' || ($object->type == Product::TYPE_PRODUCT)) +{ + $title = $langs->trans('Product')." ". $shortlabel ." - ".$langs->trans('SellingPrices'); + $helpurl='EN:Module_Products|FR:Module_Produits|ES:Módulo_Productos'; +} +if (GETPOST("type") == '1' || ($object->type == Product::TYPE_SERVICE)) +{ + $title = $langs->trans('Service')." ". $shortlabel ." - ".$langs->trans('SellingPrices'); + $helpurl='EN:Module_Services_En|FR:Module_Services|ES:Módulo_Servicios'; +} -llxHeader("", $langs->trans("CardProduct" . $object->type), $hepl_url); +llxHeader('', $title, $helpurl); $head = product_prepare_head($object); $titre = $langs->trans("CardProduct" . $object->type); diff --git a/htdocs/product/stats/card.php b/htdocs/product/stats/card.php index f9f2fe51b5f..0bc4eafa316 100644 --- a/htdocs/product/stats/card.php +++ b/htdocs/product/stats/card.php @@ -94,7 +94,22 @@ if (! empty($id) || ! empty($ref) || GETPOST('id') == 'all') else { $result = $object->fetch($id,$ref); - llxHeader("",$langs->trans("CardProduct".$object->type)); + + $title = $langs->trans('ProductServiceCard'); + $helpurl = ''; + $shortlabel = dol_trunc($object->label,16); + if (GETPOST("type") == '0' || ($object->type == Product::TYPE_PRODUCT)) + { + $title = $langs->trans('Product')." ". $shortlabel ." - ".$langs->trans('Statistics'); + $helpurl='EN:Module_Products|FR:Module_Produits|ES:Módulo_Productos'; + } + if (GETPOST("type") == '1' || ($object->type == Product::TYPE_SERVICE)) + { + $title = $langs->trans('Service')." ". $shortlabel ." - ".$langs->trans('Statistics'); + $helpurl='EN:Module_Services_En|FR:Module_Services|ES:Módulo_Servicios'; + } + + llxHeader('', $title, $helpurl); } diff --git a/htdocs/product/stats/facture.php b/htdocs/product/stats/facture.php index 6f3f8546454..e9eb3d41859 100644 --- a/htdocs/product/stats/facture.php +++ b/htdocs/product/stats/facture.php @@ -90,7 +90,21 @@ if ($id > 0 || ! empty($ref)) $reshook=$hookmanager->executeHooks('doActions',$parameters,$product,$action); // Note that $action and $object may have been modified by some hooks if ($reshook < 0) setEventMessages($hookmanager->error, $hookmanager->errors, 'errors'); - llxHeader("","",$langs->trans("CardProduct".$product->type)); + $title = $langs->trans('ProductServiceCard'); + $helpurl = ''; + $shortlabel = dol_trunc($object->label,16); + if (GETPOST("type") == '0' || ($object->type == Product::TYPE_PRODUCT)) + { + $title = $langs->trans('Product')." ". $shortlabel ." - ".$langs->trans('Referers'); + $helpurl='EN:Module_Products|FR:Module_Produits|ES:Módulo_Productos'; + } + if (GETPOST("type") == '1' || ($object->type == Product::TYPE_SERVICE)) + { + $title = $langs->trans('Service')." ". $shortlabel ." - ".$langs->trans('Referers'); + $helpurl='EN:Module_Services_En|FR:Module_Services|ES:Módulo_Servicios'; + } + + llxHeader('', $title, $helpurl); if ($result > 0) { diff --git a/htdocs/product/stock/product.php b/htdocs/product/stock/product.php index 9bc37ad5a7a..30536a6fd3f 100644 --- a/htdocs/product/stock/product.php +++ b/htdocs/product/stock/product.php @@ -407,8 +407,21 @@ if ($id > 0 || $ref) $object->load_stock(); - $help_url='EN:Module_Stocks_En|FR:Module_Stock|ES:Módulo_Stocks'; - llxHeader("",$langs->trans("CardProduct".$object->type),$help_url); + $title = $langs->trans('ProductServiceCard'); + $helpurl = ''; + $shortlabel = dol_trunc($object->label,16); + if (GETPOST("type") == '0' || ($object->type == Product::TYPE_PRODUCT)) + { + $title = $langs->trans('Product')." ". $shortlabel ." - ".$langs->trans('Stock'); + $helpurl='EN:Module_Products|FR:Module_Produits|ES:Módulo_Productos'; + } + if (GETPOST("type") == '1' || ($object->type == Product::TYPE_SERVICE)) + { + $title = $langs->trans('Service')." ". $shortlabel ." - ".$langs->trans('Stock'); + $helpurl='EN:Module_Services_En|FR:Module_Services|ES:Módulo_Servicios'; + } + + llxHeader('', $title, $helpurl); if ($result > 0) { diff --git a/htdocs/product/traduction.php b/htdocs/product/traduction.php index 0460eca7c4c..28d6dc925fd 100644 --- a/htdocs/product/traduction.php +++ b/htdocs/product/traduction.php @@ -163,11 +163,21 @@ $result = $object->fetch($id,$ref); * View */ -$helpurl=''; -if (GETPOST("type") == '0' || ($object->type == Product::TYPE_PRODUCT)) $helpurl='EN:Module_Products|FR:Module_Produits|ES:Módulo_Productos'; -if (GETPOST("type") == '1' || ($object->type == Product::TYPE_SERVICE)) $helpurl='EN:Module_Services_En|FR:Module_Services|ES:Módulo_Servicios'; +$title = $langs->trans('ProductServiceCard'); +$helpurl = ''; +$shortlabel = dol_trunc($object->label,16); +if (GETPOST("type") == '0' || ($object->type == Product::TYPE_PRODUCT)) +{ + $title = $langs->trans('Product')." ". $shortlabel ." - ".$langs->trans('Translation'); + $helpurl='EN:Module_Products|FR:Module_Produits|ES:Módulo_Productos'; +} +if (GETPOST("type") == '1' || ($object->type == Product::TYPE_SERVICE)) +{ + $title = $langs->trans('Service')." ". $shortlabel ." - ".$langs->trans('Translation'); + $helpurl='EN:Module_Services_En|FR:Module_Services|ES:Módulo_Servicios'; +} -llxHeader("", $langs->trans("Translation"), $help_url); +llxHeader('', $title, $helpurl); $form = new Form($db); $formadmin=new FormAdmin($db); From c391ca5b329e2b45ab9f8265d02949feea6c72c5 Mon Sep 17 00:00:00 2001 From: aspangaro Date: Wed, 10 Aug 2016 14:17:01 +0200 Subject: [PATCH 07/23] Uniformize presentation on opensurvey --- htdocs/opensurvey/card.php | 7 ++++--- htdocs/opensurvey/results.php | 8 +++++--- htdocs/opensurvey/wizard/create_survey.php | 12 ++++++------ 3 files changed, 15 insertions(+), 12 deletions(-) diff --git a/htdocs/opensurvey/card.php b/htdocs/opensurvey/card.php index b1c69268325..26cf85cb3d6 100644 --- a/htdocs/opensurvey/card.php +++ b/htdocs/opensurvey/card.php @@ -188,10 +188,11 @@ if ($object->fk_user_creat) $userstatic->fetch($object->fk_user_creat); } - +$title = $object->titre." - ".$langs->trans('Card'); +$helpurl = ''; $arrayofjs=array(); $arrayofcss=array('/opensurvey/css/style.css'); -llxHeader('',$object->titre, 0, 0, 0, 0, $arrayofjs, $arrayofcss); +llxHeader('',$title, $helpurl, 0, 0, 0, $arrayofjs, $arrayofcss); // Define format of choices @@ -219,7 +220,7 @@ print ''; $linkback = ''.$langs->trans("BackToList").''; // Ref -print ''; +print ''; print ''; diff --git a/htdocs/opensurvey/results.php b/htdocs/opensurvey/results.php index 93ccd93729b..23ccbc6c8a5 100644 --- a/htdocs/opensurvey/results.php +++ b/htdocs/opensurvey/results.php @@ -49,7 +49,7 @@ $nblignes=$object->fetch_lines(); * Actions */ -//Return to the results +// Return to the results if (GETPOST('retoursondage')) { header('Location: results.php?id='.$_GET['id']); exit; @@ -403,9 +403,11 @@ if ($result <= 0) exit; } +$title = $object->titre." - ".$langs->trans('Card'); +$helpurl = ''; $arrayofjs=array(); $arrayofcss=array('/opensurvey/css/style.css'); -llxHeader('',$object->titre, 0, 0, 0, 0, $arrayofjs, $arrayofcss); +llxHeader('',$title, $helpurl, 0, 0, 0, $arrayofjs, $arrayofcss); // Define format of choices @@ -432,7 +434,7 @@ print '
'.$langs->trans('Ref').'
'.$langs->trans('Ref').''; print $form->showrefnav($object, 'id', $linkback, 1, 'id_sondage', 'id_sondage'); print '
'; $linkback = ''.$langs->trans("BackToList").''; // Ref -print ''; +print ''; print ''; diff --git a/htdocs/opensurvey/wizard/create_survey.php b/htdocs/opensurvey/wizard/create_survey.php index c9ba1324a70..94ec2a7c247 100644 --- a/htdocs/opensurvey/wizard/create_survey.php +++ b/htdocs/opensurvey/wizard/create_survey.php @@ -1,7 +1,7 @@ * Copyright (C) 2014 Marcos García - * Copyright (C) 2015 Alexandre Spangaro + * Copyright (C) 2015-2016 Alexandre Spangaro * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -133,15 +133,15 @@ llxHeader('', $langs->trans("OpenSurvey"), '', "", 0, 0, $arrayofjs, $arrayofcss print load_fiche_titre($langs->trans("CreatePoll").' (1 / 2)'); -//debut du formulaire +// debut du formulaire print '
'."\n"; dol_fiche_head(); -//Affichage des différents champs textes a remplir +// Affichage des différents champs textes a remplir print '
'.$langs->trans('Ref').'
'.$langs->trans('Ref').''; print $form->showrefnav($object, 'id', $linkback, 1, 'id_sondage', 'id_sondage'); print '
'."\n"; -print ''."\n"; +print ''."\n"; if (! $_SESSION["titre"] && (GETPOST('creation_sondage_date') || GETPOST('creation_sondage_autre'))) { setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("PollTitle")), null, 'errors'); @@ -180,7 +180,7 @@ if ($_SESSION['allow_comments']) $allow_comments = 'checked'; if (isset($_POST['allow_comments'])) $allow_comments=GETPOST('allow_comments')?'checked':''; print ' '.$langs->trans('CanComment').'
'."\n"; -if ($_SESSION['allow_spy']) $allow_spy = 'checed'; +if ($_SESSION['allow_spy']) $allow_spy = 'checked'; if (isset($_POST['allow_spy'])) $allow_spy=GETPOST('allow_spy')?'checked':''; print ' '.$langs->trans('CanSeeOthersVote').'
'."\n"; @@ -193,7 +193,7 @@ if (GETPOST('choix_sondage')) } else { - //affichage des boutons pour choisir sondage date ou autre + // affichage des boutons pour choisir sondage date ou autre print '
'. $langs->trans("PollTitle") .'
'. $langs->trans("PollTitle") .'
'."\n"; print ' '."\n"; print ''."\n"; From c442ff0d2b634d43a4871f93b7b6d5de3b91afb9 Mon Sep 17 00:00:00 2001 From: aspangaro Date: Wed, 10 Aug 2016 14:29:19 +0200 Subject: [PATCH 08/23] Fix: Missing language file for user export when the module members is on --- htdocs/core/modules/modUser.class.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/core/modules/modUser.class.php b/htdocs/core/modules/modUser.class.php index 48de5a48a6c..759b68555b7 100644 --- a/htdocs/core/modules/modUser.class.php +++ b/htdocs/core/modules/modUser.class.php @@ -68,7 +68,7 @@ class modUser extends DolibarrModules // Dependancies $this->depends = array(); $this->requiredby = array(); - $this->langfiles = array("main","users","companies"); + $this->langfiles = array("main","users","companies","members"); // Constants $this->const = array(); From b5771ebbfc2a67f5eec7ecb3c7a31f714758f74b Mon Sep 17 00:00:00 2001 From: aspangaro Date: Wed, 10 Aug 2016 14:39:11 +0200 Subject: [PATCH 09/23] Fix: Missing language key for bank export --- htdocs/langs/en_US/bills.lang | 1 + 1 file changed, 1 insertion(+) diff --git a/htdocs/langs/en_US/bills.lang b/htdocs/langs/en_US/bills.lang index af2f6174315..f89e4f1121e 100644 --- a/htdocs/langs/en_US/bills.lang +++ b/htdocs/langs/en_US/bills.lang @@ -380,6 +380,7 @@ ExtraInfos=Extra infos RegulatedOn=Regulated on ChequeNumber=Check N° ChequeOrTransferNumber=Check/Transfer N° +ChequeBordereau=Check schedule ChequeMaker=Check/Transfer transmitter ChequeBank=Bank of Check CheckBank=Check From 8028b779663c78dd877faa7d6c57aeff1829fd6b Mon Sep 17 00:00:00 2001 From: aspangaro Date: Wed, 10 Aug 2016 14:39:51 +0200 Subject: [PATCH 10/23] Fix: MIssing language file for category members export --- htdocs/core/modules/modCategorie.class.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/core/modules/modCategorie.class.php b/htdocs/core/modules/modCategorie.class.php index 17141b6200d..446ca6cee6e 100644 --- a/htdocs/core/modules/modCategorie.class.php +++ b/htdocs/core/modules/modCategorie.class.php @@ -65,7 +65,7 @@ class modCategorie extends DolibarrModules // Config pages $this->config_page_url = array('categorie.php@categories'); - $this->langfiles = array("products","companies","categories"); + $this->langfiles = array("products","companies","categories","members"); // Constants $this->const = array(); From cdd84244b2c931fe55e3cf5617da8d3ce0ef88b0 Mon Sep 17 00:00:00 2001 From: aspangaro Date: Wed, 10 Aug 2016 14:48:26 +0200 Subject: [PATCH 11/23] Fix: Missing Language file and key for category contact export --- htdocs/core/modules/modCategorie.class.php | 2 +- htdocs/langs/en_US/companies.lang | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/htdocs/core/modules/modCategorie.class.php b/htdocs/core/modules/modCategorie.class.php index 446ca6cee6e..fcc931a9ed2 100644 --- a/htdocs/core/modules/modCategorie.class.php +++ b/htdocs/core/modules/modCategorie.class.php @@ -182,7 +182,7 @@ class modCategorie extends DolibarrModules 'u.label' => "Label", 'u.description' => "Description", 'p.rowid' => 'ContactId', - 'p.civility' => 'Civility', + 'p.civility' => 'UserTitle', 'p.lastname' => 'LastName', 'p.firstname' => 'Firstname', 'p.address' => 'Address', diff --git a/htdocs/langs/en_US/companies.lang b/htdocs/langs/en_US/companies.lang index b80562833b2..76bf2961c62 100644 --- a/htdocs/langs/en_US/companies.lang +++ b/htdocs/langs/en_US/companies.lang @@ -261,6 +261,7 @@ AddContactAddress=Create contact/address EditContact=Edit contact EditContactAddress=Edit contact/address Contact=Contact +ContactId=Contact id ContactsAddresses=Contacts/Addresses NoContactDefinedForThirdParty=No contact defined for this third party NoContactDefined=No contact defined From b52648674dfb941204910aa48b4ee3d46ede8f79 Mon Sep 17 00:00:00 2001 From: aspangaro Date: Wed, 10 Aug 2016 15:01:43 +0200 Subject: [PATCH 12/23] Uniformize presentation on contact --- htdocs/contact/card.php | 32 ++++++++++++++++---------------- htdocs/contact/perso.php | 8 ++++---- 2 files changed, 20 insertions(+), 20 deletions(-) diff --git a/htdocs/contact/card.php b/htdocs/contact/card.php index 512beec77ef..31eb96d633f 100644 --- a/htdocs/contact/card.php +++ b/htdocs/contact/card.php @@ -5,7 +5,7 @@ * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2007 Franky Van Liedekerke * Copyright (C) 2013 Florian Henry - * Copyright (C) 2013-2015 Alexandre Spangaro + * Copyright (C) 2013-2016 Alexandre Spangaro * Copyright (C) 2014 Juanjo Menent * Copyright (C) 2015 Jean-François Ferry * @@ -529,10 +529,10 @@ else // Name - print ''; - print ''; - print ''; - print ''; + print ''; + print ''; + print ''; + print ''; // Company if (empty($conf->global->SOCIETE_DISABLE_CONTACTS)) @@ -554,7 +554,7 @@ else } // Civility - print ''; @@ -783,10 +783,10 @@ else } // Lastname - print ''; - print ''; - print ''; - print ''; + print ''; + print ''; + print ''; + print ''; // Company if (empty($conf->global->SOCIETE_DISABLE_CONTACTS)) @@ -890,7 +890,7 @@ else print $form->selectarray('priv',$selectarray,$object->priv,0); print ''; - // Note Public + // Note Public print ''; - // Statut + // Status print ''; print ''; // Civility - print ''; @@ -1122,7 +1122,7 @@ else // Categories if (! empty($conf->categorie->enabled) && ! empty($user->rights->categorie->lire)) { - print ''; + print ''; print ''; @@ -1141,7 +1141,7 @@ else if (! empty($conf->propal->enabled)) { - print ''; } diff --git a/htdocs/contact/perso.php b/htdocs/contact/perso.php index 5feafcbb6b3..03e62523922 100644 --- a/htdocs/contact/perso.php +++ b/htdocs/contact/perso.php @@ -151,12 +151,12 @@ if ($action == 'edit') print '
'. $langs->trans("CreateSurveyDate") .'
lastname).'" autofocus="autofocus">firstname).'">
lastname).'" autofocus="autofocus">firstname).'">
'; + print '
'; print $formcompany->select_civility(GETPOST("civility_id",'alpha')?GETPOST("civility_id",'alpha'):$object->civility_id); print '
lastname).'" autofocus="autofocus">firstname).'">
lastname).'" autofocus="autofocus">firstname).'">
'; $doleditor = new DolEditor('note_public', $object->note_public, '', 80, 'dolibarr_notes', 'In', 0, false, true, ROWS_3, 70); print $doleditor->Create(1); @@ -902,7 +902,7 @@ else print $doleditor->Create(1); print '
'.$langs->trans("Status").''; print $object->getLibStatut(4); @@ -1058,7 +1058,7 @@ else // Company if (empty($conf->global->SOCIETE_DISABLE_CONTACTS)) { - print '
'.$langs->trans("ThirdParty").''; + print '
'.$langs->trans("ThirdParty").''; if ($object->socid > 0) { $objsoc->fetch($object->socid); @@ -1074,7 +1074,7 @@ else print '
'.$langs->trans("UserTitle").''; + print '
'.$langs->trans("UserTitle").''; print $object->getCivilityLabel(); print '
' . $langs->trans( "Categories" ) . '
' . $langs->trans("Categories") . ''; print $form->showCategories( $object->id, 'contact', 1 ); print '
'.$langs->trans("ContactForProposals").''; + print '
'.$langs->trans("ContactForProposals").''; print $object->ref_propal?$object->ref_propal:$langs->trans("NoContactForAnyProposal"); print '
'; // Ref - print ''; // Photo - print ''; // Name - print ''; - print ''; + print ''; + print ''; // Company if (empty($conf->global->SOCIETE_DISABLE_CONTACTS)) From 4e39c41215854c40493cd6b7433630e50aeb5571 Mon Sep 17 00:00:00 2001 From: aspangaro Date: Wed, 10 Aug 2016 15:07:53 +0200 Subject: [PATCH 13/23] Fix: Typo on invoice export --- htdocs/core/modules/modFacture.class.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/core/modules/modFacture.class.php b/htdocs/core/modules/modFacture.class.php index c4f9dc20243..28a275c3863 100644 --- a/htdocs/core/modules/modFacture.class.php +++ b/htdocs/core/modules/modFacture.class.php @@ -223,7 +223,7 @@ class modFacture extends DolibarrModules $this->export_label[$r]='CustomersInvoicesAndPayments'; // Translation key (used only if key ExportDataset_xxx_z not found) $this->export_icon[$r]='bill'; $this->export_permission[$r]=array(array("facture","facture","export")); - $this->export_fields_array[$r]=array('s.rowid'=>"IdCompany",'s.nom'=>'CompanyName','s.address'=>'Address','s.zip'=>'Zip','s.town'=>'Town','c.code'=>'CountryCode','s.phone'=>'Phone','s.siren'=>'ProfId1','s.siret'=>'ProfId2','s.ape'=>'ProfId3','s.idprof4'=>'ProfId4','s.code_compta'=>'CustomerAccountancyCode','s.code_compta_fournisseur'=>'SupplierAccountancyCode','s.tva_intra'=>'VATIntra','f.rowid'=>"InvoiceId",'f.facnumber'=>"InvoiceRef",'f.datec'=>"InvoiceDateCreation",'f.datef'=>"DateInvoice",'f.date_lim_reglement'=>"DateDue",'f.total'=>"TotalHT",'f.total_ttc'=>"TotalTTC",'f.tva'=>"TotalVAT",'f.paye'=>"InvoicePaid",'f.fk_statut'=>'InvoiceStatus','f.note_private'=>"NotePrivate",'f.note_public'=>"NotePublic",'f.fk_user_author'=>'CreatedById','uc.login'=>'CreatedByLogin','f.fk_user_valid'=>'ValidatedById','uv.login'=>'ValidatedByLogin','pj.ref'=>'ProjectRef','p.rowid'=>'PaymentId','p.ref'=>'PaymentRef','p.amount'=>'AmountPayment','pf.amount'=>'AmountPaymentDistributedOnInvoice','p.datep'=>'DatePayment','p.num_paiement'=>'PaymentNumber','pt.code'=>'IdPaymentMode','pt.libelle'=>'LabelPaiementMode','p.note'=>'PaymentNote','p.fk_bank'=>'IdTransaction','ba.ref'=>'AccountRef'); + $this->export_fields_array[$r]=array('s.rowid'=>"IdCompany",'s.nom'=>'CompanyName','s.address'=>'Address','s.zip'=>'Zip','s.town'=>'Town','c.code'=>'CountryCode','s.phone'=>'Phone','s.siren'=>'ProfId1','s.siret'=>'ProfId2','s.ape'=>'ProfId3','s.idprof4'=>'ProfId4','s.code_compta'=>'CustomerAccountancyCode','s.code_compta_fournisseur'=>'SupplierAccountancyCode','s.tva_intra'=>'VATIntra','f.rowid'=>"InvoiceId",'f.facnumber'=>"InvoiceRef",'f.datec'=>"InvoiceDateCreation",'f.datef'=>"DateInvoice",'f.date_lim_reglement'=>"DateDue",'f.total'=>"TotalHT",'f.total_ttc'=>"TotalTTC",'f.tva'=>"TotalVAT",'f.paye'=>"InvoicePaid",'f.fk_statut'=>'InvoiceStatus','f.note_private'=>"NotePrivate",'f.note_public'=>"NotePublic",'f.fk_user_author'=>'CreatedById','uc.login'=>'CreatedByLogin','f.fk_user_valid'=>'ValidatedById','uv.login'=>'ValidatedByLogin','pj.ref'=>'ProjectRef','p.rowid'=>'PaymentId','p.ref'=>'PaymentRef','p.amount'=>'AmountPayment','pf.amount'=>'AmountPaymentDistributedOnInvoice','p.datep'=>'DatePayment','p.num_paiement'=>'PaymentNumber','pt.code'=>'IdPaymentMode','pt.libelle'=>'LabelPaymentMode','p.note'=>'PaymentNote','p.fk_bank'=>'IdTransaction','ba.ref'=>'AccountRef'); //$this->export_TypeFields_array[$r]=array('s.rowid'=>"List:societe:nom",'s.nom'=>'Text','s.address'=>'Text','s.zip'=>'Text','s.town'=>'Text','c.code'=>'Text','s.phone'=>'Text','s.siren'=>'Text','s.siret'=>'Text','s.ape'=>'Text','s.idprof4'=>'Text','s.code_compta'=>'Text','s.code_compta_fournisseur'=>'Text','s.tva_intra'=>'Text','f.rowid'=>"List:facture:facnumber",'f.facnumber'=>"Text",'f.datec'=>"Date",'f.datef'=>"Date",'f.date_lim_reglement'=>"Date",'f.total'=>"Numeric",'f.total_ttc'=>"Numeric",'f.tva'=>"Numeric",'f.paye'=>"Boolean",'f.fk_statut'=>'Status','f.note_private'=>"Text",'f.note_public'=>"Text",'pf.amount'=>'Numeric','p.datep'=>'Date','p.num_paiement'=>'Numeric','p.fk_bank'=>'Numeric'); $this->export_TypeFields_array[$r]=array('s.nom'=>'Text','s.address'=>'Text','s.zip'=>'Text','s.town'=>'Text','c.code'=>'Text','s.phone'=>'Text','s.siren'=>'Text','s.siret'=>'Text','s.ape'=>'Text','s.idprof4'=>'Text','s.code_compta'=>'Text','s.code_compta_fournisseur'=>'Text','s.tva_intra'=>'Text','f.rowid'=>"Numeric",'f.facnumber'=>"Text",'f.datec'=>"Date",'f.datef'=>"Date",'f.date_lim_reglement'=>"Date",'f.total'=>"Numeric",'f.total_ttc'=>"Numeric",'f.tva'=>"Numeric",'f.paye'=>"Boolean",'f.fk_statut'=>'Status','f.note_private'=>"Text",'f.note_public'=>"Text",'pj.ref'=>'Text','p.amount'=>'Numeric','pf.amount'=>'Numeric','p.rowid'=>'Numeric','p.ref'=>'Text','p.datep'=>'Date','p.num_paiement'=>'Numeric','p.fk_bank'=>'Numeric','p.note'=>'Text','pt.code'=>'Text','pt.libelle'=>'text','ba.ref'=>'Text'); $this->export_entities_array[$r]=array('s.rowid'=>"company",'s.nom'=>'company','s.address'=>'company','s.zip'=>'company','s.town'=>'company','c.code'=>'company','s.phone'=>'company','s.siren'=>'company','s.siret'=>'company','s.ape'=>'company','s.idprof4'=>'company','s.code_compta'=>'company','s.code_compta_fournisseur'=>'company','s.tva_intra'=>'company','f.rowid'=>"invoice",'f.facnumber'=>"invoice",'f.datec'=>"invoice",'f.datef'=>"invoice",'f.date_lim_reglement'=>"invoice",'f.total'=>"invoice",'f.total_ttc'=>"invoice",'f.tva'=>"invoice",'f.paye'=>"invoice",'f.fk_statut'=>'invoice','f.note_private'=>"invoice",'f.note_public'=>"invoice",'pj.ref'=>'project','p.rowid'=>'payment','p.ref'=>'payment','p.amount'=>'payment','pf.amount'=>'payment','p.datep'=>'payment','p.num_paiement'=>'payment','pt.code'=>'payment','pt.libelle'=>'payment','p.note'=>'payment','f.fk_user_author'=>'user','uc.login'=>'user','f.fk_user_valid'=>'user','uv.login'=>'user','p.fk_bank'=>'account','ba.ref'=>'account'); From 26df66f9ac5960d6a1a5287a7489700e5049559d Mon Sep 17 00:00:00 2001 From: aspangaro Date: Wed, 10 Aug 2016 15:11:51 +0200 Subject: [PATCH 14/23] Fix: Missing language file for salaries export --- htdocs/core/modules/modSalaries.class.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/core/modules/modSalaries.class.php b/htdocs/core/modules/modSalaries.class.php index 659ba30a0b9..c9f46012443 100644 --- a/htdocs/core/modules/modSalaries.class.php +++ b/htdocs/core/modules/modSalaries.class.php @@ -73,7 +73,7 @@ class modSalaries extends DolibarrModules $this->depends = array(); $this->requiredby = array(); $this->conflictwith = array(); - $this->langfiles = array("salaries"); + $this->langfiles = array("salaries","bills"); // Constants $this->const = array(); From 1313ef99d534eba222f4ef77c33f0e2e9604c400 Mon Sep 17 00:00:00 2001 From: aspangaro Date: Wed, 10 Aug 2016 15:16:30 +0200 Subject: [PATCH 15/23] Uniformize presentation on categories --- htdocs/categories/card.php | 5 +++-- htdocs/categories/viewcat.php | 3 ++- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/htdocs/categories/card.php b/htdocs/categories/card.php index 6281307218c..8af76ce8647 100644 --- a/htdocs/categories/card.php +++ b/htdocs/categories/card.php @@ -215,7 +215,8 @@ if (($action == 'add' || $action == 'confirmed') && $user->rights->categorie->cr $form = new Form($db); $formother = new FormOther($db); -llxHeader("","",$langs->trans("Categories")); +$helpurl=''; +llxHeader("",$langs->trans("Categories"),$helpurl); if ($user->rights->categorie->creer) { @@ -244,7 +245,7 @@ if ($user->rights->categorie->creer) // Ref print ''; - print ''; // Description diff --git a/htdocs/categories/viewcat.php b/htdocs/categories/viewcat.php index 09fda82223b..f5cb88f85f4 100644 --- a/htdocs/categories/viewcat.php +++ b/htdocs/categories/viewcat.php @@ -169,7 +169,8 @@ if ($type == Categorie::TYPE_PRODUCT && $elemid && $action == 'addintocategory' $form = new Form($db); $formother = new FormOther($db); -llxHeader("","",$langs->trans("Categories")); +$helpurl=''; +llxHeader("",$langs->trans("Categories"),$helpurl); if ($type == Categorie::TYPE_PRODUCT) $title=$langs->trans("ProductsCategoryShort"); elseif ($type == Categorie::TYPE_SUPPLIER) $title=$langs->trans("SuppliersCategoryShort"); From f9a9d4d2d82698b8d6e3057a551a8700a7d471ec Mon Sep 17 00:00:00 2001 From: fappels Date: Thu, 11 Aug 2016 20:59:56 +0200 Subject: [PATCH 16/23] Fix sellby without hour check --- htdocs/product/stock/class/mouvementstock.class.php | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/htdocs/product/stock/class/mouvementstock.class.php b/htdocs/product/stock/class/mouvementstock.class.php index 7df27c9383c..7d7dd66bd10 100644 --- a/htdocs/product/stock/class/mouvementstock.class.php +++ b/htdocs/product/stock/class/mouvementstock.class.php @@ -149,7 +149,6 @@ class MouvementStock extends CommonObject { if ($eatby) { - $eatbywithouthour=$eatby; $tmparray=dol_getdate($eatby, true); $eatbywithouthour=dol_mktime(0, 0, 0, $tmparray['mon'], $tmparray['mday'], $tmparray['year']); if ($this->db->jdate($obj->eatby) != $eatby && $this->db->jdate($obj->eatby) != $eatbywithouthour) // We test date without hours and with hours for backward compatibility @@ -187,9 +186,8 @@ class MouvementStock extends CommonObject { if ($sellby) { - $sellbywithouthour=$sellby; - $tmparray=dol_getdate($eatby, true); - $eatbywithouthour=dol_mktime(0, 0, 0, $tmparray['mon'], $tmparray['mday'], $tmparray['year']); + $tmparray=dol_getdate($sellby, true); + $sellbywithouthour=dol_mktime(0, 0, 0, $tmparray['mon'], $tmparray['mday'], $tmparray['year']); if ($this->db->jdate($obj->sellby) != $sellby && $this->db->jdate($obj->sellby) != $sellbywithouthour) // We test date without hours and with hours for backward compatibility { // If found and eatby/sellby defined into table and provided and differs, return error From b6f9aa4592b62e853a64ee8243af985f11fbb5d0 Mon Sep 17 00:00:00 2001 From: fappels Date: Thu, 11 Aug 2016 21:10:56 +0200 Subject: [PATCH 17/23] Fix SQL error insert supplier order line $this->fk_multicurrency not set gives SQL error --- htdocs/fourn/class/fournisseur.commande.class.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/fourn/class/fournisseur.commande.class.php b/htdocs/fourn/class/fournisseur.commande.class.php index 5021061ec19..bc2d323a855 100644 --- a/htdocs/fourn/class/fournisseur.commande.class.php +++ b/htdocs/fourn/class/fournisseur.commande.class.php @@ -1448,7 +1448,7 @@ class CommandeFournisseur extends CommonOrder $sql.= "'".price2num($total_localtax2)."',"; $sql.= "'".price2num($total_ttc)."',"; $sql.= ($fk_unit ? "'".$this->db->escape($fk_unit)."'":"null"); - $sql.= ", ".$this->fk_multicurrency; + $sql.= ", ".($this->fk_multicurrency ? $this->fk_multicurrency : "null"); $sql.= ", '".$this->db->escape($this->multicurrency_code)."'"; $sql.= ", ".price2num($pu_ht * $this->multicurrency_tx); $sql.= ", ".$multicurrency_total_ht; From b7420372b7ea8d39fc043caeec25ad195921c7aa Mon Sep 17 00:00:00 2001 From: aspangaro Date: Fri, 12 Aug 2016 22:53:30 +0200 Subject: [PATCH 18/23] Uniformize presentation, add button cancel everywhere --- htdocs/compta/bank/card.php | 6 +++++- htdocs/compta/sociales/charges.php | 10 ++++++---- htdocs/product/card.php | 6 +++++- htdocs/product/stock/card.php | 6 +++++- htdocs/resource/add.php | 12 ++++++------ 5 files changed, 27 insertions(+), 13 deletions(-) diff --git a/htdocs/compta/bank/card.php b/htdocs/compta/bank/card.php index d4de4e5efb1..a29a0d768bd 100644 --- a/htdocs/compta/bank/card.php +++ b/htdocs/compta/bank/card.php @@ -507,7 +507,11 @@ if ($action == 'create') dol_fiche_end(); - print '
'; + print '
'; + print ''; + print '     '; + print ''; + print '
'; print ''; } diff --git a/htdocs/compta/sociales/charges.php b/htdocs/compta/sociales/charges.php index 6e7c9ad93c2..d00219857d6 100644 --- a/htdocs/compta/sociales/charges.php +++ b/htdocs/compta/sociales/charges.php @@ -260,7 +260,7 @@ if ($action == 'create') print '
'.$langs->trans("Ref").''; + print '
'.$langs->trans("Ref").''; print $object->id; print ''; + print ''; print $form->showphoto('contact',$object)."\n"; if ($object->photo) print "
\n"; @@ -170,8 +170,8 @@ if ($action == 'edit') print '
'.$langs->trans("Lastname").' / '.$langs->trans("Label").''.$object->lastname.''.$langs->trans("Firstname").''.$object->firstname.'
'.$langs->trans("Lastname").' / '.$langs->trans("Label").''.$object->lastname.'
'.$langs->trans("Firstname").''.$object->firstname.'
'.$langs->trans("Ref").''; + print ''.$langs->trans("Ref").''; print'
'; print ""; // Label - print ''; print ''; @@ -305,8 +305,10 @@ if ($action == 'create') dol_fiche_end(); print '
'; - print ''; - print '
'; + print ''; + print '     '; + print ''; + print '
'; print ''; } @@ -496,7 +498,7 @@ if ($id > 0) if ($action == 'edit') { - print '
'; + print '
'; print ''; print '   '; print ''; diff --git a/htdocs/product/card.php b/htdocs/product/card.php index f06009ecfa7..7b0ff7fb635 100644 --- a/htdocs/product/card.php +++ b/htdocs/product/card.php @@ -1145,7 +1145,11 @@ else dol_fiche_end(); - print '
'; + print '
'; + print ''; + print '     '; + print ''; + print '
'; print ''; } diff --git a/htdocs/product/stock/card.php b/htdocs/product/stock/card.php index 9dcb51fe8ef..d9381af9b5e 100644 --- a/htdocs/product/stock/card.php +++ b/htdocs/product/stock/card.php @@ -234,7 +234,11 @@ if ($action == 'create') dol_fiche_end(); - print '
'; + print '
'; + print ''; + print '     '; + print ''; + print '
'; print ''; } diff --git a/htdocs/resource/add.php b/htdocs/resource/add.php index 70d1da95969..7608e1b6cf3 100644 --- a/htdocs/resource/add.php +++ b/htdocs/resource/add.php @@ -135,7 +135,7 @@ if (! $action) // Ref / label $field = 'ref'; print '
'; - print ''; print ''; - // Delivery date - print ''; + if (empty($conf->global->ORDER_DISABLE_DELIVERY_DATE)) + { + // Delivery date + print ''; + } // Amount HT print ''; From a1323756a96d78f6ba27cfc21836be69756ad543 Mon Sep 17 00:00:00 2001 From: florian HENRY Date: Wed, 17 Aug 2016 10:23:23 +0200 Subject: [PATCH 21/23] FIX : in PgSQL no quote "word style" is permitted around column name --- htdocs/core/db/pgsql.class.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/core/db/pgsql.class.php b/htdocs/core/db/pgsql.class.php index 048ef2d450d..304006402c2 100644 --- a/htdocs/core/db/pgsql.class.php +++ b/htdocs/core/db/pgsql.class.php @@ -1093,7 +1093,7 @@ class DoliDBPgsql extends DoliDB */ function DDLDropField($table,$field_name) { - $sql= "ALTER TABLE ".$table." DROP COLUMN `".$field_name."`"; + $sql= "ALTER TABLE ".$table." DROP COLUMN ".$field_name; dol_syslog($sql,LOG_DEBUG); if (! $this->query($sql)) { From 5c51cb0f29c6aa8e844cd16c575dedc56282dc3b Mon Sep 17 00:00:00 2001 From: florian HENRY Date: Wed, 17 Aug 2016 14:40:05 +0200 Subject: [PATCH 22/23] FIX : PgSQL Module Ressource list crash #5637 --- htdocs/resource/class/resource.class.php | 3 --- 1 file changed, 3 deletions(-) diff --git a/htdocs/resource/class/resource.class.php b/htdocs/resource/class/resource.class.php index c323ad17e69..ea575bc6ce8 100644 --- a/htdocs/resource/class/resource.class.php +++ b/htdocs/resource/class/resource.class.php @@ -393,7 +393,6 @@ class Resource extends CommonObject } } } - $sql.= " GROUP BY t.rowid"; $sql.= $this->db->order($sortfield,$sortorder); $this->num_all = 0; if (empty($conf->global->MAIN_DISABLE_FULL_SCANLIST)) @@ -473,7 +472,6 @@ class Resource extends CommonObject } } } - $sql.= " GROUP BY t.rowid"; $sql.= $this->db->order($sortfield,$sortorder); if ($limit) $sql.= $this->db->plimit($limit+1,$offset); dol_syslog(get_class($this)."::fetch_all", LOG_DEBUG); @@ -559,7 +557,6 @@ class Resource extends CommonObject } } } - $sql.= " GROUP BY t.resource_id"; $sql.= $this->db->order($sortfield,$sortorder); if ($limit) $sql.= $this->db->plimit($limit+1,$offset); dol_syslog(get_class($this)."::fetch_all", LOG_DEBUG); From ddc480b6c90aa10b83c8b6fb5d48eb37ba41bfbc Mon Sep 17 00:00:00 2001 From: florian HENRY Date: Wed, 17 Aug 2016 14:51:25 +0200 Subject: [PATCH 23/23] other fix for PgSQL and style --- htdocs/resource/class/resource.class.php | 37 +++++++++++------------- 1 file changed, 17 insertions(+), 20 deletions(-) diff --git a/htdocs/resource/class/resource.class.php b/htdocs/resource/class/resource.class.php index ea575bc6ce8..0f4809fc1b4 100644 --- a/htdocs/resource/class/resource.class.php +++ b/htdocs/resource/class/resource.class.php @@ -339,7 +339,7 @@ class Resource extends CommonObject if ($this->db->query($sql)) { $sql = "DELETE FROM ".MAIN_DB_PREFIX."element_resources"; - $sql.= " WHERE element_type='resource' AND resource_id ='".$this->db->escape($rowid)."'"; + $sql.= " WHERE element_type='resource' AND resource_id =".$this->db->escape($rowid); dol_syslog(get_class($this)."::delete", LOG_DEBUG); if ($this->db->query($sql)) { @@ -409,10 +409,10 @@ class Resource extends CommonObject $num = $this->db->num_rows($resql); if ($num) { - $i = 0; - while ($i < $num) + $this->lines=array(); + while ($obj = $this->db->fetch_object($resql)) { - $obj = $this->db->fetch_object($resql); + $line = new Resource($this->db); $line->id = $obj->rowid; $line->ref = $obj->ref; @@ -420,8 +420,7 @@ class Resource extends CommonObject $line->fk_code_type_resource = $obj->fk_code_type_resource; $line->type_label = $obj->type_label; - $this->lines[$i] = $line; - $i++; + $this->lines[] = $line; } $this->db->free($resql); } @@ -482,10 +481,9 @@ class Resource extends CommonObject $num = $this->db->num_rows($resql); if ($num) { - $i = 0; - while ($i < $num) + $this->lines=array(); + while ($obj = $this->db->fetch_object($resql)) { - $obj = $this->db->fetch_object($resql); $line = new Resource($this->db); $line->id = $obj->rowid; $line->resource_id = $obj->resource_id; @@ -500,9 +498,8 @@ class Resource extends CommonObject $line->objresource = fetchObjectByElement($obj->resource_id,$obj->resource_type); if($obj->element_id && $obj->element_type) $line->objelement = fetchObjectByElement($obj->element_id,$obj->element_type); - $this->lines[$i] = $line; + $this->lines[] = $line; - $i++; } $this->db->free($resql); } @@ -567,10 +564,9 @@ class Resource extends CommonObject $num = $this->db->num_rows($resql); if ($num) { - $i = 0; - while ($i < $num) + $this->lines=array(); + while ($obj = $this->db->fetch_object($resql)) { - $obj = $this->db->fetch_object($resql); $line = new Resource($this->db); $line->id = $obj->rowid; $line->resource_id = $obj->resource_id; @@ -581,9 +577,7 @@ class Resource extends CommonObject $line->mandatory = $obj->mandatory; $line->fk_user_create = $obj->fk_user_create; - $this->lines[$i] = fetchObjectByElement($obj->resource_id,$obj->resource_type); - - $i++; + $this->lines[] = fetchObjectByElement($obj->resource_id,$obj->resource_type); } $this->db->free($resql); } @@ -754,10 +748,13 @@ class Resource extends CommonObject } - /* + /** * Return an array with resources linked to the element * - * + * @param string $element Element + * @param int $element_id Id + * @param string $resource_type Type + * @return array Aray of resources */ function getElementResources($element,$element_id,$resource_type='') { @@ -765,7 +762,7 @@ class Resource extends CommonObject // Links beetween objects are stored in this table $sql = 'SELECT rowid, resource_id, resource_type, busy, mandatory'; $sql.= ' FROM '.MAIN_DB_PREFIX.'element_resources'; - $sql.= " WHERE element_id='".$element_id."' AND element_type='".$element."'"; + $sql.= " WHERE element_id=".$element_id." AND element_type='".$this->db->escape($element)."'"; if($resource_type) $sql.=" AND resource_type LIKE '%".$resource_type."%'"; $sql .= ' ORDER BY resource_type';
'; + print ''; print $langs->trans("Label"); print '
'; + print ''; print $langs->trans('ResourceFormLabel_'.$field); print ''; @@ -166,11 +166,11 @@ if (! $action) dol_fiche_end(''); - echo '
', - '', - '   ', - '', - '
'; + print '
'; + print ''; + print '     '; + print ''; + print '
'; print ''; } From 3932a32399270553f48e285e35c5fff5f00a2f1c Mon Sep 17 00:00:00 2001 From: florian HENRY Date: Tue, 16 Aug 2016 09:00:52 +0200 Subject: [PATCH 19/23] FIX : #5629 PgSQL Interger string stylish error --- htdocs/core/class/commonobject.class.php | 152 ++++++++++++----------- 1 file changed, 79 insertions(+), 73 deletions(-) diff --git a/htdocs/core/class/commonobject.class.php b/htdocs/core/class/commonobject.class.php index c3140118745..3279d372a0e 100644 --- a/htdocs/core/class/commonobject.class.php +++ b/htdocs/core/class/commonobject.class.php @@ -448,7 +448,7 @@ abstract class CommonObject global $conf, $langs; $countriesusingstate=array('AU','US','IN','GB','ES','UK','TR'); // See also option MAIN_FORCE_STATE_INTO_ADDRESS - + $contactid=0; $thirdpartyid=0; if ($this->element == 'societe') @@ -465,12 +465,12 @@ abstract class CommonObject $contactid=$this->contact_id; $thirdpartyid=$object->fk_soc; } - + $out=''; - + $outdone=0; $coords = $this->getFullAddress(1,', '); - if ($coords) + if ($coords) { if (! empty($conf->use_javascript_ajax)) { @@ -485,7 +485,7 @@ abstract class CommonObject } if (! in_array($this->country_code,$countriesusingstate) && empty($conf->global->MAIN_FORCE_STATE_INTO_ADDRESS) // If MAIN_FORCE_STATE_INTO_ADDRESS is on, state is already returned previously with getFullAddress - && empty($conf->global->SOCIETE_DISABLE_STATE) && $this->state) + && empty($conf->global->SOCIETE_DISABLE_STATE) && $this->state) { $out.=($outdone?' - ':'').$this->state; $outdone++; @@ -516,15 +516,15 @@ abstract class CommonObject if (! empty($this->office_fax)) { $out.=dol_print_phone($this->fax,$this->country_code,$contactid,$thirdpartyid,'AC_FAX',' ','fax',$langs->trans("Fax")); $outdone++; } - + $out.='
'; $outdone=0; - if (! empty($this->email)) + if (! empty($this->email)) { $out.=dol_print_email($this->email,$this->id,$object->id,'AC_EMAIL',0,0,1); $outdone++; } - if (! empty($this->url)) + if (! empty($this->url)) { $out.=dol_print_url($this->url,'',0,1); $outdone++; @@ -535,12 +535,12 @@ abstract class CommonObject if ($this->skype) $out.=dol_print_skype($this->skype,$this->id,$object->id,'AC_SKYPE'); $outdone++; } - + $out.=''; - + return $out; } - + /** * Add a link between element $this->element and a contact * @@ -595,50 +595,56 @@ abstract class CommonObject } } - $datecreate = dol_now(); - - $this->db->begin(); - // Insertion dans la base - $sql = "INSERT INTO ".MAIN_DB_PREFIX."element_contact"; - $sql.= " (element_id, fk_socpeople, datecreate, statut, fk_c_type_contact) "; - $sql.= " VALUES (".$this->id.", ".$fk_socpeople." , " ; - $sql.= "'".$this->db->idate($datecreate)."'"; - $sql.= ", 4, '". $id_type_contact . "' "; - $sql.= ")"; - dol_syslog(get_class($this)."::add_contact", LOG_DEBUG); - $resql=$this->db->query($sql); - if ($resql) - { - if (! $notrigger) - { - $result=$this->call_trigger(strtoupper($this->element).'_ADD_CONTACT', $user); - if ($result < 0) - { - $this->db->rollback(); + if(! empty($id_type_contact)) { + + $datecreate = dol_now(); + + $this->db->begin(); + + // Insertion dans la base + $sql = "INSERT INTO ".MAIN_DB_PREFIX."element_contact"; + $sql.= " (element_id, fk_socpeople, datecreate, statut, fk_c_type_contact) "; + $sql.= " VALUES (".$this->id.", ".$fk_socpeople." , " ; + $sql.= "'".$this->db->idate($datecreate)."'"; + $sql.= ", 4, ". $id_type_contact . " "; + $sql.= ")"; + dol_syslog(get_class($this)."::add_contact", LOG_DEBUG); + + $resql=$this->db->query($sql); + if ($resql) + { + if (! $notrigger) + { + $result=$this->call_trigger(strtoupper($this->element).'_ADD_CONTACT', $user); + if ($result < 0) + { + $this->db->rollback(); + return -1; + } + } + + $this->db->commit(); + return 1; + } + else + { + if ($this->db->errno() == 'DB_ERROR_RECORD_ALREADY_EXISTS') + { + $this->error=$this->db->errno(); + $this->db->rollback(); + return -2; + } + else + { + $this->error=$this->db->error(); + $this->db->rollback(); return -1; } - } - - $this->db->commit(); - return 1; - } - else - { - if ($this->db->errno() == 'DB_ERROR_RECORD_ALREADY_EXISTS') - { - $this->error=$this->db->errno(); - $this->db->rollback(); - return -2; - } - else - { - $this->error=$this->db->error(); - $this->db->rollback(); - return -1; - } + } } + return 1; } /** @@ -1196,7 +1202,7 @@ abstract class CommonObject if (!empty($id) && !empty($field) && !empty($table)) { $sql = "SELECT ".$field." FROM ".MAIN_DB_PREFIX.$table; $sql.= " WHERE rowid = ".$id; - + dol_syslog(get_class($this).'::getValueFrom', LOG_DEBUG); $resql = $this->db->query($sql); if ($resql) @@ -2275,8 +2281,8 @@ abstract class CommonObject * - all parameters empty -> we look all link to current object (current object can be source or target) * - one couple id+type is provided -> this will set $justsource or $justtarget * - one couple id+type is provided and other type is provided -> this will set $justsource or $justtarget + criteria on other type - * - * + * + * * @param int $sourceid Object source id (if not defined, id of object) * @param string $sourcetype Object source type (if not defined, element name of object) * @param int $targetid Object target id (if not defined, id of object) @@ -3223,7 +3229,7 @@ abstract class CommonObject $text.= ' - '.(! empty($line->label)?$line->label:$label); $description.=(! empty($conf->global->PRODUIT_DESC_IN_FORM)?'':dol_htmlentitiesbr($line->description)); // Description is what to show on popup. We shown nothing if already into desc. } - + $line->pu_ttc = price2num($line->subprice * (1 + ($line->tva_tx/100)), 'MU'); // Output template part (modules that overwrite templates must declare this into descriptor) @@ -3662,7 +3668,7 @@ abstract class CommonObject return -1; } } - + // We save charset_output to restore it because write_file can change it if needed for // output format that does not support UTF8. $sav_charset_output=$outputlangs->charset_output; @@ -3726,13 +3732,13 @@ abstract class CommonObject /* For default values */ /** - * Return the default value to use for a field when showing the create form of object. + * Return the default value to use for a field when showing the create form of object. * Return values in this order: * 1) If parameter is available into POST, we return it first. * 2) If not but an alternate value was provided as parameter of function, we return it. - * 3) If not but a constant $conf->global->OBJECTELEMENT_FIELDNAME is set, we return it (It is better to use the dedicated table). + * 3) If not but a constant $conf->global->OBJECTELEMENT_FIELDNAME is set, we return it (It is better to use the dedicated table). * 4) Return value found into database (TODO No yet implemented) - * + * * @param string $fieldname Name of field * @param string $alternatevalue Alternate value to use * @return string Default value @@ -3743,27 +3749,27 @@ abstract class CommonObject // If param is has been posted with use this value first. if (isset($_POST[$fieldname])) return GETPOST($fieldname, 2); - + if (isset($alternatevalue)) return $alternatevalue; - + $newelement=$this->element; if ($newelement == 'facture') $newelement='invoice'; if ($newelement == 'commande') $newelement='order'; - if (empty($newelement)) + if (empty($newelement)) { dol_syslog("Ask a default value using common method getDefaultCreateValueForField on an object with no property ->element defined. Return empty string.", LOG_WARNING); return ''; } - + $keyforfieldname=strtoupper($newelement.'_DEFAULT_'.$fieldname); //var_dump($keyforfieldname); if (isset($conf->global->$keyforfieldname)) return $conf->global->$keyforfieldname; - - // TODO Ad here a scan into table llx_overwrite_default with a filter on $this->element and $fieldname - + + // TODO Ad here a scan into table llx_overwrite_default with a filter on $this->element and $fieldname + } - - + + /* For triggers */ @@ -3963,7 +3969,7 @@ abstract class CommonObject { $res=$object->fetch(0,$value); if ($res > 0) $this->array_options[$key]=$object->id; - else + else { $this->error="Ref '".$value."' for object '".$object->element."' not found"; $this->db->rollback(); @@ -4196,25 +4202,25 @@ abstract class CommonObject return true; } - + /** * define buy price if not defined * set buy price = sell price if ForceBuyingPriceIfNull configured, * else if calculation MARGIN_TYPE = 'pmp' and pmp is calculated, set pmp as buyprice * else set min buy price as buy price - * + * * @param float $unitPrice product unit price * @param float $discountPercent line discount percent * @param int $fk_product product id * * @return float <0 if ko, buyprice if ok */ - public function defineBuyPrice($unitPrice = 0, $discountPercent = 0, $fk_product = 0) + public function defineBuyPrice($unitPrice = 0, $discountPercent = 0, $fk_product = 0) { global $conf; - + $buyPrice = 0; - + if (($unitPrice > 0) && (isset($conf->global->ForceBuyingPriceIfNull) && $conf->global->ForceBuyingPriceIfNull == 1)) { $buyPrice = $unitPrice * (1 - $discountPercent / 100); From c385b86793e2760108eb322625ee56cf224be10b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Josep=20Llu=C3=ADs?= Date: Tue, 16 Aug 2016 23:12:02 +0200 Subject: [PATCH 20/23] Bug: delivery date value is not hide with global ORDER_DISABLE_DELIVERY_DATE In title and in filter the delivery date column is well hidden. The error is only in column value, --- htdocs/commande/list.php | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/htdocs/commande/list.php b/htdocs/commande/list.php index cfb8486be6f..401be745957 100644 --- a/htdocs/commande/list.php +++ b/htdocs/commande/list.php @@ -587,10 +587,13 @@ if ($resql) print dol_print_date($db->jdate($objp->date_commande), 'day'); print '
'; - print dol_print_date($db->jdate($objp->date_delivery), 'day'); - print ''; + print dol_print_date($db->jdate($objp->date_delivery), 'day'); + print ''.price($objp->total_ht).'