diff --git a/htdocs/admin/defaultvalues.php b/htdocs/admin/defaultvalues.php index 984ddfbefd7..2e4d25ae294 100644 --- a/htdocs/admin/defaultvalues.php +++ b/htdocs/admin/defaultvalues.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2017-2018 Laurent Destailleur * Copyright (C) 2017-2018 Regis Houssin * * This program is free software; you can redistribute it and/or modify @@ -17,8 +17,13 @@ */ /** - * \file htdocs/admin/defaultvalues.php - * \brief Page to set default values used used in a create form + * \file htdocs/admin/defaultvalues.php + * \brief Page to set default values used used in a create form + * Default values are stored into $user->default_values[url]['createform']['querystring'|'_noquery_'][paramkey]=paramvalue + * Default filters are stored into $user->default_values[url]['filters']['querystring'|'_noquery_'][paramkey]=paramvalue + * Default sort order are stored into $user->default_values[url]['sortorder']['querystring'|'_noquery_'][paramkey]=paramvalue + * Default focus are stored into $user->default_values[url]['focus']['querystring'|'_noquery_'][paramkey]=paramvalue + * Mandatory fields are stored into $user->default_values[url]['mandatory']['querystring'|'_noquery_'][paramkey]=paramvalue */ require '../main.inc.php'; @@ -234,6 +239,10 @@ if ($mode == 'focus') { print info_admin($langs->trans("FeatureNotYetAvailable")).'
'; } +if ($mode == 'mandatory') +{ + print info_admin($langs->trans("FeatureNotYetAvailable")).'
'; +} print ''; print ''; @@ -261,7 +270,7 @@ else } print_liste_field_titre($textkey,$_SERVER["PHP_SELF"],'param','',$param,'',$sortfield,$sortorder); // Value -if ($mode != 'focus') +if ($mode != 'focus' && $mode != 'mandatory') { if ($mode != 'sortorder') { @@ -301,7 +310,7 @@ print ''; print ''; print ''; // Value -if ($mode != 'focus') +if ($mode != 'focus' && $mode != 'mandatory') { print ''; print ''; @@ -313,13 +322,14 @@ if (! empty($conf->multicompany->enabled) && !$user->entity) print ''; print ''; print ''; - print ''; } else { print ''; print ''; + print ''; } +print ''; $disabled=''; if (empty($conf->global->MAIN_ENABLE_DEFAULT_VALUES)) $disabled=' disabled="disabled"'; print ''; @@ -363,7 +373,7 @@ if ($result) print ''."\n"; // Value - if ($mode != 'focus') + if ($mode != 'focus' && $mode != 'mandatory') { print ''; /*print ''; @@ -376,6 +386,9 @@ if ($result) print ''; } + // Multicompany + print ''; + // Actions print ''; if ($action != 'edit' || GETPOST('rowid') != $obj->rowid) diff --git a/htdocs/core/lib/admin.lib.php b/htdocs/core/lib/admin.lib.php index c900a30ea18..4014adfc272 100644 --- a/htdocs/core/lib/admin.lib.php +++ b/htdocs/core/lib/admin.lib.php @@ -729,6 +729,11 @@ function defaultvalues_prepare_head() $head[$h][2] = 'focus'; $h++; + $head[$h][0] = DOL_URL_ROOT."/admin/defaultvalues.php?mode=mandatory"; + $head[$h][1] = $langs->trans("DefaultMandatory"); + $head[$h][2] = 'mandatory'; + $h++; + /*$head[$h][0] = DOL_URL_ROOT."/admin/translation.php?mode=searchkey"; $head[$h][1] = $langs->trans("TranslationKeySearch"); $head[$h][2] = 'searchkey'; diff --git a/htdocs/core/lib/functions.lib.php b/htdocs/core/lib/functions.lib.php index 8b7e4b70c63..22291c6b4d8 100644 --- a/htdocs/core/lib/functions.lib.php +++ b/htdocs/core/lib/functions.lib.php @@ -430,7 +430,7 @@ function GETPOST($paramname, $check='none', $method=0, $filter=null, $options=nu } elseif (isset($user->default_values[$relativepathstring]['filters'])) { - foreach($user->default_values[$relativepathstring]['filters'] as $defkey => $defval) + foreach($user->default_values[$relativepathstring]['filters'] as $defkey => $defval) // $defkey is a querystring like 'a=b&c=d', $defval is key of user { $qualified = 0; if ($defkey != '_noquery_') @@ -586,7 +586,6 @@ function GETPOST($paramname, $check='none', $method=0, $filter=null, $options=nu // Save data into session if key start with 'search_' or is 'smonth', 'syear', 'month', 'year' if (empty($method) || $method == 3 || $method == 4) { - //if (preg_match('/^search_/', $paramname) || in_array($paramname, array('sortorder', 'sortfield", 'smonth', 'syear', 'month', 'year'))) if (preg_match('/^search_/', $paramname) || in_array($paramname, array('sortorder','sortfield'))) { //var_dump($paramname.' - '.$out.' '.$user->default_values[$relativepathstring]['filters'][$paramname]); @@ -595,8 +594,7 @@ function GETPOST($paramname, $check='none', $method=0, $filter=null, $options=nu // - posted value not empty, or // - if posted value is empty and a default value exists that is not empty (it means we did a filter to an empty value when default was not). - //if (! empty($out) || ! empty($user->default_values[$relativepathstring]['filters'][$paramname])) - if ($out != '') // $out = '0' like 'abc' is a search criteria to keep + if ($out != '') // $out = '0' or 'abc', it is a search criteria to keep { $user->lastsearch_values_tmp[$relativepathstring][$paramname]=$out; } diff --git a/htdocs/langs/en_US/admin.lang b/htdocs/langs/en_US/admin.lang index 90305eeab3b..af1ba72f8f6 100644 --- a/htdocs/langs/en_US/admin.lang +++ b/htdocs/langs/en_US/admin.lang @@ -1437,6 +1437,7 @@ DefaultCreateForm=Default values (on forms to create) DefaultSearchFilters=Default search filters DefaultSortOrder=Default sort orders DefaultFocus=Default focus fields +DefaultMandatory=Mandatory form fields ##### Products ##### ProductSetup=Products module setup ServiceSetup=Services module setup