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

This commit is contained in:
Laurent Destailleur 2022-04-11 20:43:50 +02:00
commit 155dfbda94
2 changed files with 45 additions and 35 deletions

View File

@ -5307,8 +5307,15 @@ abstract class CommonObject
$attributeLabel = $extrafields->attributes[$this->table_element]['label'][$attributeKey]; $attributeLabel = $extrafields->attributes[$this->table_element]['label'][$attributeKey];
$attributeParam = $extrafields->attributes[$this->table_element]['param'][$attributeKey]; $attributeParam = $extrafields->attributes[$this->table_element]['param'][$attributeKey];
$attributeRequired = $extrafields->attributes[$this->table_element]['required'][$attributeKey]; $attributeRequired = $extrafields->attributes[$this->table_element]['required'][$attributeKey];
$attributeUnique = $extrafields->attributes[$this->table_element]['unique'][$attributeKey];
$attrfieldcomputed = $extrafields->attributes[$this->table_element]['computed'][$attributeKey]; $attrfieldcomputed = $extrafields->attributes[$this->table_element]['computed'][$attributeKey];
// If we clone, we have to clean unique extrafields to prevent duplicates.
// This behaviour can be prevented by external code by changing $this->context['createfromclone'] value in createFrom hook
if (! empty($this->context['createfromclone']) && $this->context['createfromclone'] == 'createfromclone' && ! empty($attributeUnique)) {
$new_array_options[$key] = null;
}
// Similar code than into insertExtraFields // Similar code than into insertExtraFields
if ($attributeRequired) if ($attributeRequired)
{ {

View File

@ -449,10 +449,9 @@ if (empty($reshook))
$subject = $societeName." - ".$langs->transnoentitiesnoconv("HolidaysToValidate"); $subject = $societeName." - ".$langs->transnoentitiesnoconv("HolidaysToValidate");
// Content // Content
$message = $langs->transnoentitiesnoconv("Hello")." ".$destinataire->firstname.",\n"; $message = "<p>".$langs->transnoentitiesnoconv("Hello")." ".$destinataire->firstname.",</p>\n";
$message .= "\n";
$message .= $langs->transnoentities("HolidaysToValidateBody")."\n"; $message .= "<p>".$langs->transnoentities("HolidaysToValidateBody")."</p>\n";
$delayForRequest = $object->getConfCP('delayForRequest'); $delayForRequest = $object->getConfCP('delayForRequest');
//$delayForRequest = $delayForRequest * (60*60*24); //$delayForRequest = $delayForRequest * (60*60*24);
@ -464,8 +463,7 @@ if (empty($reshook))
{ {
if ($object->date_debut < $nextMonth) if ($object->date_debut < $nextMonth)
{ {
$message .= "\n"; $message .= "<p>".$langs->transnoentities("HolidaysToValidateDelay", $object->getConfCP('delayForRequest'))."</p>\n";
$message .= $langs->transnoentities("HolidaysToValidateDelay", $object->getConfCP('delayForRequest'))."\n";
} }
} }
@ -475,20 +473,21 @@ if (empty($reshook))
$nbopenedday = num_open_day($object->date_debut_gmt, $object->date_fin_gmt, 0, 1, $object->halfday); $nbopenedday = num_open_day($object->date_debut_gmt, $object->date_fin_gmt, 0, 1, $object->halfday);
if ($nbopenedday > $object->getCPforUser($object->fk_user, $object->fk_type)) if ($nbopenedday > $object->getCPforUser($object->fk_user, $object->fk_type))
{ {
$message .= "\n"; $message .= "<p>".$langs->transnoentities("HolidaysToValidateAlertSolde")."</p>\n";
$message .= $langs->transnoentities("HolidaysToValidateAlertSolde")."\n";
} }
} }
$message .= "\n"; $link = dol_buildpath("/holiday/card.php", 3) . '?id='.$object->id;
$message .= "- ".$langs->transnoentitiesnoconv("Name")." : ".dolGetFirstLastname($expediteur->firstname, $expediteur->lastname)."\n";
$message .= "- ".$langs->transnoentitiesnoconv("Period")." : ".dol_print_date($object->date_debut, 'day')." ".$langs->transnoentitiesnoconv("To")." ".dol_print_date($object->date_fin, 'day')."\n"; $message .= "<ul>";
$message .= "- ".$langs->transnoentitiesnoconv("Link")." : ".$dolibarr_main_url_root."/holiday/card.php?id=".$object->id."\n\n"; $message .= "<li>".$langs->transnoentitiesnoconv("Name")." : ".dolGetFirstLastname($expediteur->firstname, $expediteur->lastname)."</li>\n";
$message .= "\n"; $message .= "<li>".$langs->transnoentitiesnoconv("Period")." : ".dol_print_date($object->date_debut, 'day')." ".$langs->transnoentitiesnoconv("To")." ".dol_print_date($object->date_fin, 'day')."</li>\n";
$message .= "<li>".$langs->transnoentitiesnoconv("Link").' : <a href="'.$link.'" target="_blank">'.$link."</a></li>\n";
$message .= "</ul>\n";
$trackid = 'leav'.$object->id; $trackid = 'leav'.$object->id;
$mail = new CMailFile($subject, $emailTo, $emailFrom, $message, array(), array(), array(), '', '', 0, 0, '', '', $trackid); $mail = new CMailFile($subject, $emailTo, $emailFrom, $message, array(), array(), array(), '', '', 0, 1, '', '', $trackid);
// Envoi du mail // Envoi du mail
$result = $mail->sendfile(); $result = $mail->sendfile();
@ -603,19 +602,20 @@ if (empty($reshook))
$subject = $societeName." - ".$langs->transnoentitiesnoconv("HolidaysValidated"); $subject = $societeName." - ".$langs->transnoentitiesnoconv("HolidaysValidated");
// Content // Content
$message = $langs->transnoentitiesnoconv("Hello")." ".$destinataire->firstname.",\n"; $message = "<p>".$langs->transnoentitiesnoconv("Hello")." ".$destinataire->firstname.",</p>\n";
$message .= "\n";
$message .= $langs->transnoentities("HolidaysValidatedBody", dol_print_date($object->date_debut, 'day'), dol_print_date($object->date_fin, 'day'))."\n"; $message .= "<p>".$langs->transnoentities("HolidaysValidatedBody", dol_print_date($object->date_debut, 'day'), dol_print_date($object->date_fin, 'day'))."</p>\n";
$message .= "- ".$langs->transnoentitiesnoconv("ValidatedBy")." : ".dolGetFirstLastname($expediteur->firstname, $expediteur->lastname)."\n"; $link = dol_buildpath('/holiday/card.php', 3).'?id='.$object->id;
$message .= "- ".$langs->transnoentitiesnoconv("Link")." : ".$dolibarr_main_url_root."/holiday/card.php?id=".$object->id."\n\n"; $message .= "<ul>\n";
$message .= "\n"; $message .= "<li>".$langs->transnoentitiesnoconv("ValidatedBy")." : ".dolGetFirstLastname($expediteur->firstname, $expediteur->lastname)."</li>\n";
$message .= "<li>".$langs->transnoentitiesnoconv("Link").' : <a href="'.$link.'" target="_blank">'.$link."</a></li>\n";
$message .= "</ul>\n";
$trackid = 'leav'.$object->id; $trackid = 'leav'.$object->id;
$mail = new CMailFile($subject, $emailTo, $emailFrom, $message, array(), array(), array(), '', '', 0, 0, '', '', $trackid); $mail = new CMailFile($subject, $emailTo, $emailFrom, $message, array(), array(), array(), '', '', 0, 1, '', '', $trackid);
// Envoi du mail // Envoi du mail
$result = $mail->sendfile(); $result = $mail->sendfile();
@ -689,20 +689,21 @@ if (empty($reshook))
$subject = $societeName." - ".$langs->transnoentitiesnoconv("HolidaysRefused"); $subject = $societeName." - ".$langs->transnoentitiesnoconv("HolidaysRefused");
// Content // Content
$message = $langs->transnoentitiesnoconv("Hello")." ".$destinataire->firstname.",\n"; $message = "<p>".$langs->transnoentitiesnoconv("Hello")." ".$destinataire->firstname.",</p>\n";
$message .= "\n";
$message .= $langs->transnoentities("HolidaysRefusedBody", dol_print_date($object->date_debut, 'day'), dol_print_date($object->date_fin, 'day'))."\n"; $message .= "<p>".$langs->transnoentities("HolidaysRefusedBody", dol_print_date($object->date_debut, 'day'), dol_print_date($object->date_fin, 'day'))."<p>\n";
$message .= GETPOST('detail_refuse', 'alpha')."\n\n"; $message .= "<p>".GETPOST('detail_refuse', 'alpha')."</p>";
$message .= "- ".$langs->transnoentitiesnoconv("ModifiedBy")." : ".dolGetFirstLastname($expediteur->firstname, $expediteur->lastname)."\n"; $link = dol_buildpath('/holiday/card.php', 3).'?id='.$object->id;
$message .= "- ".$langs->transnoentitiesnoconv("Link")." : ".$dolibarr_main_url_root."/holiday/card.php?id=".$object->id."\n\n"; $message .= "<ul>\n";
$message .= "\n"; $message .= "<li>".$langs->transnoentitiesnoconv("ModifiedBy")." : ".dolGetFirstLastname($expediteur->firstname, $expediteur->lastname)."</li>\n";
$message .= "<li>".$langs->transnoentitiesnoconv("Link").' : <a href="'.$link.'" target="_blank">'.$link."</a></li>\n";
$message .= "</ul>";
$trackid = 'leav'.$object->id; $trackid = 'leav'.$object->id;
$mail = new CMailFile($subject, $emailTo, $emailFrom, $message, array(), array(), array(), '', '', 0, 0, '', '', $trackid); $mail = new CMailFile($subject, $emailTo, $emailFrom, $message, array(), array(), array(), '', '', 0, 1, '', '', $trackid);
// Envoi du mail // Envoi du mail
$result = $mail->sendfile(); $result = $mail->sendfile();
@ -838,18 +839,20 @@ if (empty($reshook))
$subject = $societeName." - ".$langs->transnoentitiesnoconv("HolidaysCanceled"); $subject = $societeName." - ".$langs->transnoentitiesnoconv("HolidaysCanceled");
// Content // Content
$message = $langs->transnoentitiesnoconv("Hello")." ".$destinataire->firstname.",\n"; $message = "<p>".$langs->transnoentitiesnoconv("Hello")." ".$destinataire->firstname.",</p>\n";
$message .= "\n";
$message .= $langs->transnoentities("HolidaysCanceledBody", dol_print_date($object->date_debut, 'day'), dol_print_date($object->date_fin, 'day'))."\n"; $message .= "<p>".$langs->transnoentities("HolidaysCanceledBody", dol_print_date($object->date_debut, 'day'), dol_print_date($object->date_fin, 'day'))."</p>\n";
$message .= "- ".$langs->transnoentitiesnoconv("ModifiedBy")." : ".dolGetFirstLastname($expediteur->firstname, $expediteur->lastname)."\n";
$message .= "- ".$langs->transnoentitiesnoconv("Link")." : ".$dolibarr_main_url_root."/holiday/card.php?id=".$object->id."\n\n"; $link = dol_buildpath('/holiday/card.php', 3).'?id='.$object->id;
$message .= "\n";
$message .= "<ul>\n";
$message .= "<li>".$langs->transnoentitiesnoconv("ModifiedBy")." : ".dolGetFirstLastname($expediteur->firstname, $expediteur->lastname)."</li>\n";
$message .= "<li>".$langs->transnoentitiesnoconv("Link").' : <a href="'.$link.'" target="_blank">'.$link."</a></li>\n";
$message .= "</ul>\n";
$trackid = 'leav'.$object->id; $trackid = 'leav'.$object->id;
$mail = new CMailFile($subject, $emailTo, $emailFrom, $message, array(), array(), array(), '', '', 0, 0, '', '', $trackid); $mail = new CMailFile($subject, $emailTo, $emailFrom, $message, array(), array(), array(), '', '', 0, 1, '', '', $trackid);
// Envoi du mail // Envoi du mail
$result = $mail->sendfile(); $result = $mail->sendfile();