Merge branch '15.0' of git@github.com:Dolibarr/dolibarr.git into develop

This commit is contained in:
Laurent Destailleur 2022-04-30 17:28:55 +02:00
commit 7b8e08bbf6
7 changed files with 26 additions and 19 deletions

View File

@ -8532,7 +8532,7 @@ class Form
public function showLinkToObjectBlock($object, $restrictlinksto = array(), $excludelinksto = array()) public function showLinkToObjectBlock($object, $restrictlinksto = array(), $excludelinksto = array())
{ {
global $conf, $langs, $hookmanager; global $conf, $langs, $hookmanager;
global $bc, $action; global $action;
$linktoelem = ''; $linktoelem = '';
$linktoelemlist = ''; $linktoelemlist = '';
@ -8579,11 +8579,10 @@ class Form
); );
} }
// Can complete the possiblelink array
$hookmanager->initHooks(array('commonobject'));
$parameters = array('listofidcompanytoscan' => $listofidcompanytoscan);
if (!empty($listofidcompanytoscan)) { // If empty, we don't have criteria to scan the object we can link to if (!empty($listofidcompanytoscan)) { // If empty, we don't have criteria to scan the object we can link to
// Can complete the possiblelink array
$hookmanager->initHooks(array('commonobject'));
$parameters = array('listofidcompanytoscan' => $listofidcompanytoscan, 'possiblelinks' => $possiblelinks);
$reshook = $hookmanager->executeHooks('showLinkToObjectBlock', $parameters, $object, $action); // Note that $action and $object may have been modified by hook $reshook = $hookmanager->executeHooks('showLinkToObjectBlock', $parameters, $object, $action); // Note that $action and $object may have been modified by hook
} }

View File

@ -125,14 +125,14 @@ class mod_project_simple extends ModeleNumRefProjects
*/ */
public function getNextValue($objsoc, $project) public function getNextValue($objsoc, $project)
{ {
global $db, $conf; global $db;
// First, we get the max value // First, we get the max value
$posindice = strlen($this->prefix) + 6; $posindice = strlen($this->prefix) + 6;
$sql = "SELECT MAX(CAST(SUBSTRING(ref FROM ".$posindice.") AS SIGNED)) as max"; $sql = "SELECT MAX(CAST(SUBSTRING(ref FROM ".$posindice.") AS SIGNED)) as max";
$sql .= " FROM ".MAIN_DB_PREFIX."projet"; $sql .= " FROM ".MAIN_DB_PREFIX."projet";
$sql .= " WHERE ref LIKE '".$db->escape($this->prefix)."____-%'"; $sql .= " WHERE ref LIKE '".$db->escape($this->prefix)."____-%'";
$sql .= " AND entity = ".$conf->entity; $sql .= " AND entity IN (".getEntity('projectnumber', 1, $project).")";
$resql = $db->query($sql); $resql = $db->query($sql);
if ($resql) { if ($resql) {
@ -147,7 +147,7 @@ class mod_project_simple extends ModeleNumRefProjects
return -1; return -1;
} }
$date = empty($project->date_c) ?dol_now() : $project->date_c; $date = (empty($project->date_c) ? dol_now() : $project->date_c);
//$yymm = strftime("%y%m",time()); //$yymm = strftime("%y%m",time());
$yymm = strftime("%y%m", $date); $yymm = strftime("%y%m", $date);

View File

@ -136,8 +136,11 @@ class mod_project_universal extends ModeleNumRefProjects
return 0; return 0;
} }
$date = empty($project->date_c) ?dol_now() : $project->date_c; // Get entities
$numFinal = get_next_value($db, $mask, 'projet', 'ref', '', (is_object($objsoc) ? $objsoc->code_client : ''), $date); $entity = getEntity('projectnumber', 1, $project);
$date = (empty($project->date_c) ? dol_now() : $project->date_c);
$numFinal = get_next_value($db, $mask, 'projet', 'ref', '', (is_object($objsoc) ? $objsoc : ''), $date, 'next', false, null, $entity);
return $numFinal; return $numFinal;
} }

View File

@ -129,7 +129,7 @@ class mod_ticket_simple extends ModeleNumRefTicket
$sql .= " FROM ".MAIN_DB_PREFIX."ticket"; $sql .= " FROM ".MAIN_DB_PREFIX."ticket";
$search = $this->prefix."____-%"; $search = $this->prefix."____-%";
$sql .= " WHERE ref LIKE '".$db->escape($search)."'"; $sql .= " WHERE ref LIKE '".$db->escape($search)."'";
$sql .= " AND entity = ".$conf->entity; $sql .= " AND entity IN (".getEntity('ticketnumber', 1, $ticket).")";
$resql = $db->query($sql); $resql = $db->query($sql);
if ($resql) { if ($resql) {

View File

@ -134,8 +134,11 @@ class mod_ticket_universal extends ModeleNumRefTicket
return 0; return 0;
} }
// Get entities
$entity = getEntity('ticketnumber', 1, $ticket);
$date = empty($ticket->datec) ? dol_now() : $ticket->datec; $date = empty($ticket->datec) ? dol_now() : $ticket->datec;
$numFinal = get_next_value($db, $mask, 'ticket', 'ref', '', $objsoc->code_client, $date); $numFinal = get_next_value($db, $mask, 'ticket', 'ref', '', $objsoc->code_client, $date, 'next', false, null, $entity);
return $numFinal; return $numFinal;
} }

View File

@ -177,7 +177,7 @@ if ($action == 'updateMask') {
$file = dol_buildpath($reldir."core/modules/mymodule/doc/pdf_".$modele."_".strtolower($tmpobjectkey).".modules.php", 0); $file = dol_buildpath($reldir."core/modules/mymodule/doc/pdf_".$modele."_".strtolower($tmpobjectkey).".modules.php", 0);
if (file_exists($file)) { if (file_exists($file)) {
$filefound = 1; $filefound = 1;
$classname = "pdf_".$modele; $classname = "pdf_".$modele."_".strtolower($tmpobjectkey);
break; break;
} }
} }
@ -188,7 +188,7 @@ if ($action == 'updateMask') {
$module = new $classname($db); $module = new $classname($db);
if ($module->write_file($tmpobject, $langs) > 0) { if ($module->write_file($tmpobject, $langs) > 0) {
header("Location: ".DOL_URL_ROOT."/document.php?modulepart=".strtolower($tmpobjectkey)."&file=SPECIMEN.pdf"); header("Location: ".DOL_URL_ROOT."/document.php?modulepart=mymodule-".strtolower($tmpobjectkey)."&file=SPECIMEN.pdf");
return; return;
} else { } else {
setEventMessages($module->error, null, 'errors'); setEventMessages($module->error, null, 'errors');
@ -701,7 +701,8 @@ foreach ($myTmpObjects as $myTmpObjectKey => $myTmpObjectArray) {
// Preview // Preview
print '<td class="center">'; print '<td class="center">';
if ($module->type == 'pdf') { if ($module->type == 'pdf') {
print '<a href="'.$_SERVER["PHP_SELF"].'?action=specimen&module='.$name.'&object='.$myTmpObjectKey.'">'.img_object($langs->trans("Preview"), 'pdf').'</a>'; $newname = preg_replace('/_'.preg_quote(strtolower($myTmpObjectKey), '/').'/', '', $name);
print '<a href="'.$_SERVER["PHP_SELF"].'?action=specimen&module='.urlencode($newname).'&object='.urlencode($myTmpObjectKey).'">'.img_object($langs->trans("Preview"), 'pdf').'</a>';
} else { } else {
print img_object($langs->trans("PreviewNotAvailable"), 'generic'); print img_object($langs->trans("PreviewNotAvailable"), 'generic');
} }

View File

@ -120,10 +120,10 @@ if ($action == 'updateMask') {
$file = ''; $classname = ''; $filefound = 0; $file = ''; $classname = ''; $filefound = 0;
$dirmodels = array_merge(array('/'), (array) $conf->modules_parts['models']); $dirmodels = array_merge(array('/'), (array) $conf->modules_parts['models']);
foreach ($dirmodels as $reldir) { foreach ($dirmodels as $reldir) {
$file = dol_buildpath($reldir."core/modules/mymodule/doc/pdf_".$modele."_".strtolower($tmpobjectkey).".modules.php", 0); $file = dol_buildpath($reldir."core/modules/recruitment/doc/pdf_".$modele."_".strtolower($tmpobjectkey).".modules.php", 0);
if (file_exists($file)) { if (file_exists($file)) {
$filefound = 1; $filefound = 1;
$classname = "pdf_".$modele; $classname = "pdf_".$modele."_".strtolower($tmpobjectkey);
break; break;
} }
} }
@ -134,7 +134,7 @@ if ($action == 'updateMask') {
$module = new $classname($db); $module = new $classname($db);
if ($module->write_file($tmpobject, $langs) > 0) { if ($module->write_file($tmpobject, $langs) > 0) {
header("Location: ".DOL_URL_ROOT."/document.php?modulepart=".strtolower($tmpobjectkey)."&file=SPECIMEN.pdf"); header("Location: ".DOL_URL_ROOT."/document.php?modulepart=recruitment-".strtolower($tmpobjectkey)."&file=SPECIMEN.pdf");
return; return;
} else { } else {
setEventMessages($module->error, null, 'errors'); setEventMessages($module->error, null, 'errors');
@ -501,7 +501,8 @@ foreach ($myTmpObjects as $myTmpObjectKey => $myTmpObjectArray) {
// Preview // Preview
print '<td class="center">'; print '<td class="center">';
if ($module->type == 'pdf') { if ($module->type == 'pdf') {
print '<a href="'.$_SERVER["PHP_SELF"].'?action=specimen&module='.$name.'&object='.$myTmpObjectKey.'">'.img_object($langs->trans("Preview"), 'generic').'</a>'; $newname = preg_replace('/_'.preg_quote(strtolower($myTmpObjectKey), '/').'/', '', $name);
print '<a href="'.$_SERVER["PHP_SELF"].'?action=specimen&module='.urlencode($newname).'&object='.urlencode($myTmpObjectKey).'">'.img_object($langs->trans("Preview"), 'pdf').'</a>';
} else { } else {
print img_object($langs->trans("PreviewNotAvailable"), 'generic'); print img_object($langs->trans("PreviewNotAvailable"), 'generic');
} }