Skip to content

Commit

Permalink
#903 [NumberingModule] add: custom numbering module from native dolibarr
Browse files Browse the repository at this point in the history
  • Loading branch information
evarisk-micka committed Apr 11, 2024
1 parent 88e368d commit 769c6b9
Showing 1 changed file with 41 additions and 6 deletions.
47 changes: 41 additions & 6 deletions core/modules/saturne/modules_saturne.php
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand All @@ -238,8 +239,21 @@ 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 = dol_strtoupper($modName[1]);
$confName = strtoupper(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')."<br>\n";
$texte .= '<form action="' . $_SERVER['PHP_SELF'] . '?module_name=' . $moduleNameLowerCase . '" method="POST">';
Expand All @@ -248,8 +262,6 @@ public function info(): string
$texte .= '<input type="hidden" name="mask" value="'. $confName .'">';
$texte .= '<table class="nobordernopadding" width="100%">';

$tooltip = $langs->trans("SaturneGenericMaskCodes");

// Parametrage du prefix
$texte .= '<tr><td>'.$langs->trans("Mask").':</td>';
$texte .= '<td class="right">'.$form->textwithpicto('<input type="text" class="flat minwidth175" name="addon_value" value="'.$conf->global->$confName.'">', $tooltip, 1, 1).'</td>';
Expand Down Expand Up @@ -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, $moduleNameUpperCase;

$type = dol_strtoupper($object->element);
$mask = getDolGlobalString($moduleNameUpperCase . '_' . $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
*
Expand Down

0 comments on commit 769c6b9

Please sign in to comment.