From 219bcb0d54f5c1b332d9df453c1b50e441e88599 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Mon, 27 Mar 2017 22:44:50 +0200 Subject: [PATCH] Work on 6.0 features. --- htdocs/admin/modules.php | 67 +++++++------ ...nLog.class.php => modBlockedLog.class.php} | 17 ++-- htdocs/core/modules/modFacture.class.php | 5 +- htdocs/langs/en_US/admin.lang | 1 + htdocs/product/admin/dynamic_prices.php | 88 ++++++++++-------- htdocs/product/dynamic_price/editor.php | 20 ++-- htdocs/product/stock/mouvement.php | 93 ++++++++++--------- htdocs/theme/eldy/style.css.php | 13 +-- 8 files changed, 163 insertions(+), 141 deletions(-) rename htdocs/core/modules/{modBlockChainLog.class.php => modBlockedLog.class.php} (86%) diff --git a/htdocs/admin/modules.php b/htdocs/admin/modules.php index 52b250e8cf0..bfaeabf67d4 100644 --- a/htdocs/admin/modules.php +++ b/htdocs/admin/modules.php @@ -471,12 +471,10 @@ if ($mode == 'common') if (! empty($moreforfilter)) { - //print '
'; print $moreforfilter; $parameters=array(); $reshook=$hookmanager->executeHooks('printFieldPreListTitle',$parameters); // Note that $action and $object may have been modified by hook print $hookmanager->resPrint; - //print '
'; } @@ -485,8 +483,6 @@ if ($mode == 'common') $moreforfilter=''; // Show list of modules - print '
'; - print ''."\n"; $oldfamily=''; @@ -570,14 +566,15 @@ if ($mode == 'common') // Print a separator if we change family if ($familykey!=$oldfamily) { - print ''."\n"; - print '
'; + if ($oldfamily) print '

'; + $familytext=empty($familyinfo[$familykey]['label'])?$familykey:$familyinfo[$familykey]['label']; - print $familytext; - print "\n"; - print ''.$langs->trans("SetupShort").''."\n"; - print "\n"; - $atleastoneforfamily=0; + print_fiche_titre($familytext, '', ''); + + print '
'; + print ''."\n"; + + $atleastoneforfamily=0; } $atleastoneforfamily++; @@ -606,43 +603,38 @@ if ($mode == 'common') $imginfo="info_black"; } - print '\n"; + print ''."\n"; - // Picto - print ' '; - - // Name - print '\n"; // Desc - print '\n"; // Help - print ''; // Version - print '\n"; @@ -651,8 +643,12 @@ if ($mode == 'common') { $disableSetup = 0; - print ''; + print ''; } else { - print ''; + print ''; } } else { - print ''; + print ''; } } else // Module not yet activated { - print '\n"; - print ''; + print ''; } print "\n"; } + print "
'; + // Picto + Name of module + print ' '; $alttext=''; //if (is_array($objMod->need_dolibarr_version)) $alttext.=($alttext?' - ':'').'Dolibarr >= '.join('.',$objMod->need_dolibarr_version); //if (is_array($objMod->phpmin)) $alttext.=($alttext?' - ':'').'PHP >= '.join('.',$objMod->phpmin); if (! empty($objMod->picto)) { if (preg_match('/^\//i',$objMod->picto)) print img_picto($alttext,$objMod->picto,' width="14px"',1); - else print img_object($alttext,$objMod->picto,' width="14px"'); + else print img_object($alttext, $objMod->picto, 'class="valignmiddle" width="14px"'); } else { - print img_object($alttext,'generic'); + print img_object($alttext, 'generic', 'class="valignmiddle"'); } - print ''.$objMod->getName(); + print ' '.$objMod->getName().''; print "'; + print ''; print nl2br($objMod->getDesc()); print "'; - + print ''; //print $form->textwithpicto('', $text, 1, $imginfo, 'minheight20', 0, 2, 1); print ''.img_picto($langs->trans("ClickToShowDescription"), $imginfo).''; - print ''; + print ''; print $versiontrans; print "'; - if (! empty($objMod->disabled)) + print ''; + if (! empty($arrayofwarnings[$modName])) + { + print ''."\n"; + } + if (! empty($objMod->disabled)) { print $langs->trans("Disabled"); } @@ -674,7 +670,7 @@ if ($mode == 'common') { if (is_array($objMod->config_page_url)) { - print ''; + print ''; $i=0; foreach ($objMod->config_page_url as $page) { @@ -700,22 +696,22 @@ if ($mode == 'common') } else if (preg_match('/^([^@]+)@([^@]+)$/i',$objMod->config_page_url,$regs)) { - print ''.img_picto($langs->trans("Setup"),"setup",'style="padding-right: 6px"').''.img_picto($langs->trans("Setup"),"setup",'style="padding-right: 6px"').''.img_picto($langs->trans("Setup"),"setup",'style="padding-right: 6px"').''.img_picto($langs->trans("Setup"),"setup",'style="padding-right: 6px"').''.img_picto($langs->trans("NothingToSetup"),"setup",'class="opacitytransp" style="padding-right: 6px"').''.img_picto($langs->trans("NothingToSetup"),"setup",'class="opacitytransp" style="padding-right: 6px"').''; + print ''; if (! empty($objMod->always_enabled)) { // Should never happened @@ -754,17 +750,20 @@ if ($mode == 'common') } } print ''."\n"; - print ''; + print ''; print img_picto($langs->trans("Disabled"),'switch_off'); print "\n"; } print "'.img_picto($langs->trans("NothingToSetup"),"setup",'class="opacitytransp" style="padding-right: 6px"').''.img_picto($langs->trans("NothingToSetup"),"setup",'class="opacitytransp" style="padding-right: 6px"').'
\n"; print '
'; diff --git a/htdocs/core/modules/modBlockChainLog.class.php b/htdocs/core/modules/modBlockedLog.class.php similarity index 86% rename from htdocs/core/modules/modBlockChainLog.class.php rename to htdocs/core/modules/modBlockedLog.class.php index dbf9cc406e9..30e4734e843 100644 --- a/htdocs/core/modules/modBlockChainLog.class.php +++ b/htdocs/core/modules/modBlockedLog.class.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2017 Laurent Destailleur * * 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 @@ -16,20 +16,19 @@ */ /** - * \defgroup blockchainlog Module BlockChainLog + * \defgroup blockedlog Module BlockedLog * \brief Add a log into a block chain for some actions. - * \file htdocs/core/modules/modBlockChainLog.class.php - * \ingroup blockchainlog - * \brief Description and activation file for module BlockChainLog + * \file htdocs/core/modules/modBlockedLog.class.php + * \ingroup blockedlog + * \brief Description and activation file for module BlockedLog */ include_once DOL_DOCUMENT_ROOT .'/core/modules/DolibarrModules.class.php'; /** * Class to describe a Cron module */ -class modBlockChainLog extends DolibarrModules +class modBlockedLog extends DolibarrModules { - /** * Constructor. Define names, constants, directories, boxes, permissions * @@ -47,14 +46,14 @@ class modBlockChainLog extends DolibarrModules $this->family = "technic"; // Module label (no space allowed), used if translation string 'ModuleXXXName' not found (where XXX is value of numeric property 'numero' of module) $this->name = preg_replace('/^mod/i','',get_class($this)); - $this->description = "Enable a log of some business events into a non reversible block chain. This module may be mandatory for some countries."; + $this->description = "Enable a log on some business events into a reserved log. This module may be mandatory for some countries."; $this->version = 'development'; // 'development', 'experimental' or 'dolibarr' or version // Key used in llx_const table to save module status enabled/disabled (where MYMODULE is value of property name of module in uppercase) $this->const_name = 'MAIN_MODULE_'.strtoupper($this->name); // Where to store the module in setup page (0=common,1=interface,2=others,3=very specific) $this->special = 1; // Name of image file used for this module. - $this->picto='skype'; + $this->picto='technic'; // Data directories to create when module is enabled $this->dirs = array(); diff --git a/htdocs/core/modules/modFacture.class.php b/htdocs/core/modules/modFacture.class.php index d6e6bfd2575..8022b21279f 100644 --- a/htdocs/core/modules/modFacture.class.php +++ b/htdocs/core/modules/modFacture.class.php @@ -64,11 +64,12 @@ class modFacture extends DolibarrModules $this->dirs = array("/facture/temp"); // Dependencies - $this->depends = array('always'=>"modSociete", 'FR'=>'modBlockChainLog'); + $this->depends = array('always'=>"modSociete", 'FR'=>'modBlockedLog'); $this->requiredby = array("modComptabilite","modAccounting"); $this->conflictwith = array(); $this->langfiles = array("bills","companies","compta","products"); - $this->warnings_activation = array(); // Warning to show when we activate module. array('always'='text') or array('FR'='text') + $this->warnings_activation = array('FR'=>'WarningNoteModuleInvoiceForFrenchLaw'); // Warning to show when we activate module. array('always'='text') or array('FR'='text') + $this->warnings_activation = array(); $this->warnings_activation_ext = array('FR'=>'WarningInstallationMayBecomeNotCompliantWithLaw'); // Warning to show when we activate an external module. array('always'='text') or array('FR'='text') // Config pages diff --git a/htdocs/langs/en_US/admin.lang b/htdocs/langs/en_US/admin.lang index b8ba74995a7..3831fb49007 100644 --- a/htdocs/langs/en_US/admin.lang +++ b/htdocs/langs/en_US/admin.lang @@ -1663,6 +1663,7 @@ ModuleEnabledAdminMustCheckRights=Module has been activated. Permissions for act UserHasNoPermissions=This user has no permission defined TypeCdr=Use "None" if the date of payment term is date of invoice plus a delta in days (delta is field "Nb of days")
Use "At end of month", if, after delta, the date must be increased to reach the end of month (+ an optional "Offset" in days)
Use "Current/Next" to have payment term date being the first Nth of the month (N is stored into field "Nb of days") BaseCurrency=Reference currency of the company (go into setup of company to change this) +WarningNoteModuleInvoiceForFrenchLaw=This module %s is compliant with french laws (Loi Finance 2016). WarningInstallationMayBecomeNotCompliantWithLaw=You try to install the module %s that is an external module. Activate an external module only if it does not alterate negatively the behavior required by your country laws (%s). If the module bring a non legal feature, you are the only responsible for the use of a non-compliant software. ##### Resource #### ResourceSetup=Configuration du module Resource diff --git a/htdocs/product/admin/dynamic_prices.php b/htdocs/product/admin/dynamic_prices.php index 7949b47c346..4345ea095ae 100644 --- a/htdocs/product/admin/dynamic_prices.php +++ b/htdocs/product/admin/dynamic_prices.php @@ -16,7 +16,7 @@ */ /** - * \file htdocs/product/admin/expression_globals.php + * \file htdocs/product/admin/dynamic_prices.php * \ingroup product * \brief Page for configuring dynamic prices */ @@ -161,16 +161,25 @@ if ($action != 'create_updater' && $action != 'edit_updater') { print ' '; //Space for buttons print ''; - $var=True; - foreach ($price_globals->listGlobalVariables() as $i=>$entry) { - $var = !$var; - print ''; - print ''.$entry->code.''; - print ''.$entry->description.''; - print ''.price($entry->value).''; - print 'id.'">'.img_edit().'  '; - print 'id.'">'.img_delete().''; - print ''; + $arrayglobalvars=$price_globals->listGlobalVariables(); + if (! empty($arrayglobalvars)) + { + foreach ($arrayglobalvars as $i=>$entry) { + $var = !$var; + print ''; + print ''.$entry->code.''; + print ''.$entry->description.''; + print ''.price($entry->value).''; + print 'id.'">'.img_edit().'  '; + print 'id.'">'.img_delete().''; + print ''; + } + } + else + { + print ''; + print $langs->trans("None"); + print ''; } print ''; @@ -218,16 +227,9 @@ if ($action == 'create_variable' || $action == 'edit_variable') { print ''; print ''; print ''; -} else if ($action != 'create_updater') { - //Action Buttons - print '
'; - print ''.$langs->trans("Add").''; - print '
'; - //Separator is only need for updaters table is showed after buttons - print '

'; } -//Updaters table +// Updaters table if ($action != 'create_variable' && $action != 'edit_variable') { print $langs->trans("GlobalVariableUpdaters"); print ''; @@ -241,26 +243,34 @@ if ($action != 'create_variable' && $action != 'edit_variable') { print ''; //Space for buttons print ''; - $var=True; - foreach ($price_updaters->listUpdaters() as $i=>$entry) { - $code = ""; - if ($entry->fk_variable > 0) { - $res = $price_globals->fetch($entry->fk_variable); - if ($res > 0) { - $code = $price_globals->code; - } - } - $var = !$var; - print ''; - print ''; - print ''; - print ''; - print ''; - print ''; - print ''; - print ''; - print ''; + $arraypriceupdaters = $price_updaters->listUpdaters(); + if (! empty($arraypriceupdaters)) + { + foreach ($arraypriceupdaters as $i=>$entry) { + $code = ""; + if ($entry->fk_variable > 0) { + $res = $price_globals->fetch($entry->fk_variable); + if ($res > 0) { + $code = $price_globals->code; + } + } + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + } + } + else + { + print ''; } print '
 
'.$code.''.$entry->description.''.$langs->trans("GlobalVariableUpdaterType".$entry->type).''.$entry->parameters.''.$entry->update_interval.''.$entry->getLastUpdated().'id.'">'.img_edit().'  '; - print 'id.'">'.img_delete().'
'.$code.''.$entry->description.''.$langs->trans("GlobalVariableUpdaterType".$entry->type).''.$entry->parameters.''.$entry->update_interval.''.$entry->getLastUpdated().'id.'">'.img_edit().'  '; + print 'id.'">'.img_delete().'
'; + print $langs->trans("None"); + print '
'; diff --git a/htdocs/product/dynamic_price/editor.php b/htdocs/product/dynamic_price/editor.php index 0b93d17749a..055da4a3ad7 100644 --- a/htdocs/product/dynamic_price/editor.php +++ b/htdocs/product/dynamic_price/editor.php @@ -16,9 +16,9 @@ */ /** - * \file htdocs/product/dynamic_price/editor.php + * \file htdocs/product/dynamic_price/editor.php * \ingroup product - * \brief Page for editing expression + * \brief Page for editing expression */ require '../../main.inc.php'; @@ -60,6 +60,7 @@ else if ($action != 'delete') $price_expression->fetch($eid); } + /* * Actions */ @@ -157,23 +158,28 @@ if ($action == 'delete') } } + /* * View */ -//Header -llxHeader("","",$langs->trans("CardProduct".$product->type)); -print load_fiche_titre($langs->trans("PriceExpressionEditor")); $form = new Form($db); +llxHeader("","",$langs->trans("CardProduct".$product->type)); + +print load_fiche_titre($langs->trans("PriceExpressionEditor")); + //Form/Table print '
'; print ''; print ''; + +dol_fiche_head(); + print ''; // Price expression selector -print ''; print '
'.$langs->trans("PriceExpressionSelected").''; +print '
'.$langs->trans("PriceExpressionSelected").''; $price_expression_list = array(0 => $langs->trans("New")); //Put the new as first option foreach ($price_expression->list_price_expression() as $entry) { $price_expression_list[$entry->id] = $entry->title; @@ -204,6 +210,8 @@ $doleditor->Create(); print '
'; +dol_fiche_end(); + //Buttons print '
'; print ''; diff --git a/htdocs/product/stock/mouvement.php b/htdocs/product/stock/mouvement.php index d2ba81db86c..a3742dcc00d 100644 --- a/htdocs/product/stock/mouvement.php +++ b/htdocs/product/stock/mouvement.php @@ -1,6 +1,6 @@ - * Copyright (C) 2004-2015 Laurent Destailleur + * Copyright (C) 2004-2017 Laurent Destailleur * Copyright (C) 2005-2014 Regis Houssin * Copyright (C) 2015 Juanjo Menent * @@ -418,7 +418,7 @@ $sql.= " e.label as stock, e.rowid as entrepot_id, e.lieu,"; $sql.= " m.rowid as mid, m.value as qty, m.datem, m.fk_user_author, m.label, m.inventorycode, m.fk_origin, m.origintype,"; $sql.= " m.batch,"; $sql.= " pl.rowid as lotid, pl.eatby, pl.sellby,"; -$sql.= " u.login"; +$sql.= " u.login, u.photo, u.lastname, u.firstname"; // Add fields from extrafields foreach ($extrafields->attribute_label as $key => $val) $sql.=($extrafields->attribute_type[$key] != 'separate' ? ",ef.".$key.' as options_'.$key : ''); // Add fields from hooks @@ -728,43 +728,8 @@ if ($resql) print '
'; print ''."\n"; - print ""; - if (! empty($arrayfields['m.rowid']['checked'])) print_liste_field_titre($arrayfields['m.rowid']['label'],$_SERVER["PHP_SELF"],'m.rowid','',$param,'',$sortfield,$sortorder); - if (! empty($arrayfields['m.datem']['checked'])) print_liste_field_titre($arrayfields['m.datem']['label'],$_SERVER["PHP_SELF"],'m.datem','',$param,'',$sortfield,$sortorder); - if (! empty($arrayfields['p.ref']['checked'])) print_liste_field_titre($arrayfields['p.ref']['label'],$_SERVER["PHP_SELF"],'p.ref','',$param,'',$sortfield,$sortorder); - if (! empty($arrayfields['p.label']['checked'])) print_liste_field_titre($arrayfields['p.label']['label'],$_SERVER["PHP_SELF"],'p.label','',$param,'',$sortfield,$sortorder); - if (! empty($arrayfields['m.batch']['checked'])) print_liste_field_titre($arrayfields['m.batch']['label'],$_SERVER["PHP_SELF"],'m.batch','',$param,'align="center"',$sortfield,$sortorder); - if (! empty($arrayfields['pl.eatby']['checked'])) print_liste_field_titre($arrayfields['pl.eatby']['label'],$_SERVER["PHP_SELF"],'pl.eatby','',$param,'align="center"',$sortfield,$sortorder); - if (! empty($arrayfields['pl.sellby']['checked'])) print_liste_field_titre($arrayfields['pl.sellby']['label'],$_SERVER["PHP_SELF"],'pl.sellby','',$param,'align="center"',$sortfield,$sortorder); - if (! empty($arrayfields['e.label']['checked'])) print_liste_field_titre($arrayfields['e.label']['label'],$_SERVER["PHP_SELF"], "e.label","",$param,"",$sortfield,$sortorder); // We are on a specific warehouse card, no filter on other should be possible - if (! empty($arrayfields['m.fk_user_author']['checked'])) print_liste_field_titre($arrayfields['m.fk_user_author']['label'],$_SERVER["PHP_SELF"], "m.fk_user_author","",$param,"",$sortfield,$sortorder); - if (! empty($arrayfields['m.inventorycode']['checked'])) print_liste_field_titre($arrayfields['m.inventorycode']['label'],$_SERVER["PHP_SELF"], "m.inventorycode","",$param,"",$sortfield,$sortorder); - if (! empty($arrayfields['m.label']['checked'])) print_liste_field_titre($arrayfields['m.label']['label'],$_SERVER["PHP_SELF"], "m.label","",$param,"",$sortfield,$sortorder); - if (! empty($arrayfields['origin']['checked'])) print_liste_field_titre($arrayfields['origin']['label'],$_SERVER["PHP_SELF"], "","",$param,"",$sortfield,$sortorder); - if (! empty($arrayfields['m.value']['checked'])) print_liste_field_titre($langs->trans("Qty"),$_SERVER["PHP_SELF"], "m.value","",$param,'align="right"',$sortfield,$sortorder); - // Extra fields - if (is_array($extrafields->attribute_label) && count($extrafields->attribute_label)) - { - foreach($extrafields->attribute_label as $key => $val) - { - if (! empty($arrayfields["ef.".$key]['checked'])) - { - $align=$extrafields->getAlignFlag($key); - print_liste_field_titre($extralabels[$key],$_SERVER["PHP_SELF"],"ef.".$key,"",$param,($align?'align="'.$align.'"':''),$sortfield,$sortorder); - } - } - } - // Hook fields - $parameters=array('arrayfields'=>$arrayfields); - $reshook=$hookmanager->executeHooks('printFieldListTitle',$parameters); // Note that $action and $object may have been modified by hook - print $hookmanager->resPrint; - if (! empty($arrayfields['m.datec']['checked'])) print_liste_field_titre($arrayfields['p.datec']['label'],$_SERVER["PHP_SELF"],"p.datec","",$param,'align="center" class="nowrap"',$sortfield,$sortorder); - if (! empty($arrayfields['m.tms']['checked'])) print_liste_field_titre($arrayfields['p.tms']['label'],$_SERVER["PHP_SELF"],"p.tms","",$param,'align="center" class="nowrap"',$sortfield,$sortorder); - print_liste_field_titre($selectedfields, $_SERVER["PHP_SELF"],"",'','','align="right"',$sortfield,$sortorder,'maxwidthsearch '); - print "\n"; - // Lignes des champs de filtre - print ''; + print ''; if (! empty($arrayfields['m.rowid']['checked'])) { // Ref @@ -901,9 +866,44 @@ if ($resql) print ''; print "\n"; + print ''; + if (! empty($arrayfields['m.rowid']['checked'])) print_liste_field_titre($arrayfields['m.rowid']['label'],$_SERVER["PHP_SELF"],'m.rowid','',$param,'',$sortfield,$sortorder); + if (! empty($arrayfields['m.datem']['checked'])) print_liste_field_titre($arrayfields['m.datem']['label'],$_SERVER["PHP_SELF"],'m.datem','',$param,'',$sortfield,$sortorder); + if (! empty($arrayfields['p.ref']['checked'])) print_liste_field_titre($arrayfields['p.ref']['label'],$_SERVER["PHP_SELF"],'p.ref','',$param,'',$sortfield,$sortorder); + if (! empty($arrayfields['p.label']['checked'])) print_liste_field_titre($arrayfields['p.label']['label'],$_SERVER["PHP_SELF"],'p.label','',$param,'',$sortfield,$sortorder); + if (! empty($arrayfields['m.batch']['checked'])) print_liste_field_titre($arrayfields['m.batch']['label'],$_SERVER["PHP_SELF"],'m.batch','',$param,'align="center"',$sortfield,$sortorder); + if (! empty($arrayfields['pl.eatby']['checked'])) print_liste_field_titre($arrayfields['pl.eatby']['label'],$_SERVER["PHP_SELF"],'pl.eatby','',$param,'align="center"',$sortfield,$sortorder); + if (! empty($arrayfields['pl.sellby']['checked'])) print_liste_field_titre($arrayfields['pl.sellby']['label'],$_SERVER["PHP_SELF"],'pl.sellby','',$param,'align="center"',$sortfield,$sortorder); + if (! empty($arrayfields['e.label']['checked'])) print_liste_field_titre($arrayfields['e.label']['label'],$_SERVER["PHP_SELF"], "e.label","",$param,"",$sortfield,$sortorder); // We are on a specific warehouse card, no filter on other should be possible + if (! empty($arrayfields['m.fk_user_author']['checked'])) print_liste_field_titre($arrayfields['m.fk_user_author']['label'],$_SERVER["PHP_SELF"], "m.fk_user_author","",$param,"",$sortfield,$sortorder); + if (! empty($arrayfields['m.inventorycode']['checked'])) print_liste_field_titre($arrayfields['m.inventorycode']['label'],$_SERVER["PHP_SELF"], "m.inventorycode","",$param,"",$sortfield,$sortorder); + if (! empty($arrayfields['m.label']['checked'])) print_liste_field_titre($arrayfields['m.label']['label'],$_SERVER["PHP_SELF"], "m.label","",$param,"",$sortfield,$sortorder); + if (! empty($arrayfields['origin']['checked'])) print_liste_field_titre($arrayfields['origin']['label'],$_SERVER["PHP_SELF"], "","",$param,"",$sortfield,$sortorder); + if (! empty($arrayfields['m.value']['checked'])) print_liste_field_titre($langs->trans("Qty"),$_SERVER["PHP_SELF"], "m.value","",$param,'align="right"',$sortfield,$sortorder); + // Extra fields + if (is_array($extrafields->attribute_label) && count($extrafields->attribute_label)) + { + foreach($extrafields->attribute_label as $key => $val) + { + if (! empty($arrayfields["ef.".$key]['checked'])) + { + $align=$extrafields->getAlignFlag($key); + print_liste_field_titre($extralabels[$key],$_SERVER["PHP_SELF"],"ef.".$key,"",$param,($align?'align="'.$align.'"':''),$sortfield,$sortorder); + } + } + } + // Hook fields + $parameters=array('arrayfields'=>$arrayfields); + $reshook=$hookmanager->executeHooks('printFieldListTitle',$parameters); // Note that $action and $object may have been modified by hook + print $hookmanager->resPrint; + if (! empty($arrayfields['m.datec']['checked'])) print_liste_field_titre($arrayfields['p.datec']['label'],$_SERVER["PHP_SELF"],"p.datec","",$param,'align="center" class="nowrap"',$sortfield,$sortorder); + if (! empty($arrayfields['m.tms']['checked'])) print_liste_field_titre($arrayfields['p.tms']['label'],$_SERVER["PHP_SELF"],"p.tms","",$param,'align="center" class="nowrap"',$sortfield,$sortorder); + print_liste_field_titre($selectedfields, $_SERVER["PHP_SELF"],"",'','','align="right"',$sortfield,$sortorder,'maxwidthsearch '); + print "\n"; + + $arrayofuniqueproduct=array(); - $var=True; while ($i < min($num,$limit)) { $objp = $db->fetch_object($resql); @@ -913,6 +913,7 @@ if ($resql) $productstatic->label=$objp->produit; $productstatic->type=$objp->type; $productstatic->entity=$objp->entity; + $productlot->id = $objp->lotid; $productlot->batch= $objp->batch; $productlot->eatby= $objp->eatby; @@ -929,8 +930,7 @@ if ($resql) $origin = ''; } - $var=!$var; - print ""; + print ""; // Id movement if (! empty($arrayfields['m.rowid']['checked'])) { @@ -984,10 +984,13 @@ if ($resql) // Author if (! empty($arrayfields['m.fk_user_author']['checked'])) { - print '\n"; } if (! empty($arrayfields['m.inventorycode']['checked'])) @@ -998,7 +1001,7 @@ if ($resql) if (! empty($arrayfields['m.label']['checked'])) { // Label of movement - print ''; + print ''; } if (! empty($arrayfields['origin']['checked'])) { diff --git a/htdocs/theme/eldy/style.css.php b/htdocs/theme/eldy/style.css.php index c8c0dda380b..babc2a190e2 100644 --- a/htdocs/theme/eldy/style.css.php +++ b/htdocs/theme/eldy/style.css.php @@ -272,18 +272,19 @@ input.select2-input { .liste_titre input[name=smonth], .liste_titre input[name=month], .liste_titre input[name=month_lim] { margin-right: 4px; } +input, input.flat, form.flat select, select, select.flat, .dataTables_length label select { + global->THEME_ELDY_SHOW_BORDER_INPUT)) + print "border: none;" + ?> +} input, input.flat, textarea, textarea.flat, form.flat select, select, select.flat, .dataTables_length label select { font-size: px; font-family: ; - -global->THEME_ELDY_SHOW_BORDER_INPUT)) - print "border: none;" -?> - - border-bottom: solid 1px rgba(0,0,0,.2); outline: none; margin: 0px 0px 0px 0px; + border-bottom: solid 1px rgba(0,0,0,.2); } + input { line-height: 17px; padding: 4px;
'; + print ''; $userstatic->id=$objp->fk_user_author; - $userstatic->lastname=$objp->login; - print $userstatic->getNomUrl(1); + $userstatic->login=$objp->login; + $userstatic->lastname=$objp->lastname; + $userstatic->firstname=$objp->firstname; + $userstatic->photo=$objp->photo; + print $userstatic->getNomUrl(-1); print "'.$objp->label.''.$objp->label.'