diff --git a/htdocs/admin/defaultvalues.php b/htdocs/admin/defaultvalues.php
new file mode 100644
index 00000000000..4a4815e726b
--- /dev/null
+++ b/htdocs/admin/defaultvalues.php
@@ -0,0 +1,279 @@
+
+ *
+ * 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
+ * the Free Software Foundation; either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+/**
+ * \file htdocs/admin/defaultvalues.php
+ * \brief Page to set default values used used in a create form
+ */
+
+require '../main.inc.php';
+require_once DOL_DOCUMENT_ROOT.'/core/lib/admin.lib.php';
+require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php';
+require_once DOL_DOCUMENT_ROOT.'/core/class/html.formadmin.class.php';
+
+$langs->load("companies");
+$langs->load("products");
+$langs->load("admin");
+$langs->load("sms");
+$langs->load("other");
+$langs->load("errors");
+
+if (!$user->admin) accessforbidden();
+
+$id=GETPOST('rowid','int');
+$action=GETPOST('action','alpha');
+
+$mode = GETPOST('mode')?GETPOST('mode'):'overwrite';
+
+$limit = GETPOST("limit")?GETPOST("limit","int"):$conf->liste_limit;
+$sortfield = GETPOST("sortfield",'alpha');
+$sortorder = GETPOST("sortorder",'alpha');
+$page = GETPOST("page",'int');
+if ($page == -1) { $page = 0; }
+$offset = $limit * $page;
+$pageprev = $page - 1;
+$pagenext = $page + 1;
+if (! $sortfield) $sortfield='lang,transkey';
+if (! $sortorder) $sortorder='ASC';
+
+
+/*
+ * Actions
+ */
+
+if (GETPOST('cancel')) { $action='list'; $massaction=''; }
+if (! GETPOST('confirmmassaction') && $massaction != 'presend' && $massaction != 'confirm_presend') { $massaction=''; }
+
+$parameters=array('socid'=>$socid);
+$reshook=$hookmanager->executeHooks('doActions',$parameters,$object,$action); // Note that $action and $object may have been modified by some hooks
+if ($reshook < 0) setEventMessages($hookmanager->error, $hookmanager->errors, 'errors');
+
+include DOL_DOCUMENT_ROOT.'/core/actions_changeselectedfields.inc.php';
+
+// Purge search criteria
+if (GETPOST("button_removefilter_x") || GETPOST("button_removefilter.x") || GETPOST("button_removefilter")) // All test are required to be compatible with all browsers
+{
+ $transkey='';
+ $transvalue='';
+ $toselect='';
+ $search_array_options=array();
+}
+
+
+if ($action == 'add' || (GETPOST('add') && $action != 'update'))
+{
+ $error=0;
+
+ if (empty($langcode))
+ {
+ setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("Language")), null, 'errors');
+ $error++;
+ }
+ if ($transkey == '')
+ {
+ setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("Key")), null, 'errors');
+ $error++;
+ }
+ if ($transvalue == '')
+ {
+ setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("NewTranslationStringToShow")), null, 'errors');
+ $error++;
+ }
+ if (! $error)
+ {
+ $sql = "INSERT INTO ".MAIN_DB_PREFIX."overwrite_trans(lang, transkey, transvalue) VALUES ('".$db->escape($langcode)."','".$db->escape($transkey)."','".$db->escape($transvalue)."')";
+ $result = $db->query($sql);
+ if ($result > 0)
+ {
+ setEventMessages($langs->trans("RecordSaved"), null, 'mesgs');
+ $action="";
+ $transkey="";
+ $transvalue="";
+ }
+ else
+ {
+ dol_print_error($db);
+ $action='';
+ }
+ }
+}
+
+// Delete line from delete picto
+if ($action == 'delete')
+{
+ $sql = "DELETE FROM ".MAIN_DB_PREFIX."overwrite_trans WHERE rowid = ".$db->escape($id);
+ $result = $db->query($sql);
+ if ($result >= 0)
+ {
+ setEventMessages($langs->trans("RecordDeleted"), null, 'mesgs');
+ }
+ else
+ {
+ dol_print_error($db);
+ }
+}
+
+
+
+
+
+
+/*
+ * View
+ */
+
+$formadmin = new FormAdmin($db);
+
+$wikihelp='EN:Setup|FR:Paramétrage|ES:Configuración';
+llxHeader('',$langs->trans("Setup"),$wikihelp);
+
+print load_fiche_titre($langs->trans("DefaultValues"),'','title_setup');
+
+print $langs->trans("DefaultValuesDesc")."
\n";
+print "
\n";
+
+$param='&mode='.$mode;
+if (! empty($contextpage) && $contextpage != $_SERVER["PHP_SELF"]) $param.='&contextpage='.$contextpage;
+if ($limit > 0 && $limit != $conf->liste_limit) $param.='&limit='.$limit;
+if ($optioncss != '') $param.='&optioncss='.$optioncss;
+if ($langcode) $param.='&langcode='.urlencode($langcode);
+if ($transkey) $param.='&transkey='.urlencode($transkey);
+if ($transvalue) $param.='&transvalue='.urlencode($transvalue);
+
+
+print '
\n";
+
+
+llxFooter();
+
+$db->close();
diff --git a/htdocs/admin/translation.php b/htdocs/admin/translation.php
index 4dbfc53c821..bb485c41999 100644
--- a/htdocs/admin/translation.php
+++ b/htdocs/admin/translation.php
@@ -57,10 +57,6 @@ if (! $sortfield) $sortfield='lang,transkey';
if (! $sortorder) $sortorder='ASC';
-/*
- * Actions
- */
-
/*
* Actions
*/
diff --git a/htdocs/core/lib/admin.lib.php b/htdocs/core/lib/admin.lib.php
index edfeef064f2..5c4df1bcd91 100644
--- a/htdocs/core/lib/admin.lib.php
+++ b/htdocs/core/lib/admin.lib.php
@@ -598,6 +598,35 @@ function translation_prepare_head()
}
+/**
+ * Prepare array with list of tabs
+ *
+ * @return array Array of tabs to show
+ */
+function defaultvalues_prepare_head()
+{
+ global $langs, $conf, $user;
+ $h = 0;
+ $head = array();
+
+ $head[$h][0] = DOL_URL_ROOT."/admin/defaultvalues.php?mode=overwrite";
+ $head[$h][1] = $langs->trans("DefaultValuesOverwriteKey");
+ $head[$h][2] = 'overwrite';
+ $h++;
+
+ /*$head[$h][0] = DOL_URL_ROOT."/admin/translation.php?mode=searchkey";
+ $head[$h][1] = $langs->trans("TranslationKeySearch");
+ $head[$h][2] = 'searchkey';
+ $h++;*/
+
+ complete_head_from_modules($conf,$langs,null,$head,$h,'defaultvalues_admin');
+
+ complete_head_from_modules($conf,$langs,null,$head,$h,'defaultvalues_admin','remove');
+
+
+ return $head;
+}
+
/**
* Return list of session
diff --git a/htdocs/core/menus/standard/eldy.lib.php b/htdocs/core/menus/standard/eldy.lib.php
index c0da3e8af0e..f85885def1d 100644
--- a/htdocs/core/menus/standard/eldy.lib.php
+++ b/htdocs/core/menus/standard/eldy.lib.php
@@ -545,6 +545,7 @@ function print_left_eldy_menu($db,$menu_array_before,$menu_array_after,&$tabMenu
$newmenu->add("/admin/ihm.php?mainmenu=home", $langs->trans("GUISetup"),1);
$newmenu->add("/admin/translation.php?mainmenu=home", $langs->trans("Translation"),1);
+ $newmenu->add("/admin/defaultvalues.php?mainmenu=home", $langs->trans("DefaultValues"),1, $conf->global->MAIN_FEATURES_LEVEL);
$newmenu->add("/admin/boxes.php?mainmenu=home", $langs->trans("Boxes"),1);
$newmenu->add("/admin/delais.php?mainmenu=home",$langs->trans("MenuWarnings"),1);
$newmenu->add("/admin/security_other.php?mainmenu=home", $langs->trans("Security"),1);