diff --git a/admin/object.php b/admin/object.php index 0905024c..9dffa6b2 100644 --- a/admin/object.php +++ b/admin/object.php @@ -65,6 +65,13 @@ $permissiontoread = $user->rights->$moduleNameLowerCase->adminpage->read; saturne_check_access($permissiontoread); +/* + * Action + */ + +// Actions set_mod, update_mask +require_once __DIR__ . '/../../saturne/core/tpl/actions/admin_conf_actions.tpl.php'; + /* * View */ diff --git a/core/modules/saturne/modules_saturne.php b/core/modules/saturne/modules_saturne.php index d2620c2a..517f41b5 100644 --- a/core/modules/saturne/modules_saturne.php +++ b/core/modules/saturne/modules_saturne.php @@ -226,9 +226,10 @@ abstract class CustomModeleNumRefSaturne extends ModeleNumRefSaturne /** * Return description of module * - * @return string Texte descripif + * @param String $mode Either "standard" for normal prefix or "custom" + * @return String Descriptive text */ - public function info(): string + public function info($mode = 'standard'): string { global $conf, $langs, $db, $moduleNameLowerCase; @@ -238,18 +239,29 @@ public function info(): string $form = new Form($db); $className = get_class($this); - $modName = str_replace('mod_', '', $className); - $confName = strtoupper($moduleNameLowerCase . '_' . $modName . '_ADDON'); + if ($mode == 'custom') { + $modName = explode('_', $className); + $type = $modName[1]; + $confName = dol_strtoupper($moduleNameLowerCase . '_' . $type . '_CUSTOM_ADDON'); + + $tooltip = $langs->trans("GenericMaskCodes", $langs->transnoentities(ucfirst($modName[1])), $langs->transnoentities(ucfirst($modName[1]))); + $tooltip .= $langs->trans("GenericMaskCodes2"); + $tooltip .= $langs->trans("GenericMaskCodes3"); + $tooltip .= $langs->trans("GenericMaskCodes5"); + } else { + $modName = str_replace('mod_', '', $className); + $confName = strtoupper($moduleNameLowerCase . '_' . $modName . '_ADDON'); + + $tooltip = $langs->trans("SaturneGenericMaskCodes"); + } $texte = $langs->trans('GenericNumRefModelDesc')."
\n"; - $texte .= '
'; + $texte .= ''; $texte .= ''; $texte .= ''; $texte .= ''; $texte .= ''; - $tooltip = $langs->trans("SaturneGenericMaskCodes"); - // Parametrage du prefix $texte .= ''; $texte .= ''; @@ -341,6 +353,29 @@ public function getNextValue(object $object): string return $this->prefix . $num; } + /** + * Return next custom value + * + * @return string Value if OK, 0 if KO + */ + public function getNextCustomValue(object $object): string + { + global $conf, $db, $moduleName; + + $type = dol_strtoupper($object->element); + $mask = getDolGlobalString(dol_strtoupper($moduleName) . '_' . $type . '_CUSTOM_ADDON'); + + if (dol_strlen($mask) <= 0) { + $this->error = 'NotConfigured'; + return 0; + } + + $date = (empty($object->date_c) ? (empty($object->date_creation) ? dol_now() : $object->date_creation) : $object->date_c); + $ret = get_next_value($db, $mask, $object->table_element, 'ref', '', (is_object($object) ? $object : ''), $date, 'next', false, null, $conf->entity); + + return $ret; + } + /** * Set prefix and suffix for custom value * diff --git a/core/tpl/actions/admin_conf_actions.tpl.php b/core/tpl/actions/admin_conf_actions.tpl.php index dfd300f8..a2aec3b2 100644 --- a/core/tpl/actions/admin_conf_actions.tpl.php +++ b/core/tpl/actions/admin_conf_actions.tpl.php @@ -45,7 +45,7 @@ } else { dolibarr_set_const($db, $documentMaskConst, $documentMask, 'chaine', 0, '', $conf->entity); setEventMessage('SavedConfig'); - header('Location: ' . $_SERVER['PHP_SELF'] . '?module_name=' . $moduleName); + header('Location: ' . $_SERVER['PHP_SELF'] . '?module_name=' . $moduleName . '&object_type=' . $objectType); exit; } }
'.$langs->trans("Mask").':'.$form->textwithpicto('', $tooltip, 1, 1).'