mirror of
https://github.com/Dolibarr/dolibarr.git
synced 2025-12-15 22:11:36 +01:00
Fix date substitution for contracts
This commit is contained in:
@@ -125,17 +125,30 @@ $formmail=new FormMail($db);
|
|||||||
if (empty($conf->global->MAIN_EMAIL_TEMPLATES_FOR_OBJECT_LINES))
|
if (empty($conf->global->MAIN_EMAIL_TEMPLATES_FOR_OBJECT_LINES))
|
||||||
{
|
{
|
||||||
$tmp=FormMail::getAvailableSubstitKey('formemail');
|
$tmp=FormMail::getAvailableSubstitKey('formemail');
|
||||||
$tmp['__(AnyTranslationKey)__']='__(AnyTranslationKey)__';
|
$tmp['__(AnyTranslationKey)__']='Translation';
|
||||||
$helpsubstit = $langs->trans("AvailableVariables").':<br>'.implode('<br>', $tmp);
|
$helpsubstit = $langs->trans("AvailableVariables").':<br>';
|
||||||
$helpsubstitforlines = $langs->trans("AvailableVariables").':<br>'.implode('<br>', $tmp);
|
$helpsubstitforlines = $langs->trans("AvailableVariables").':<br>';
|
||||||
|
foreach($tmp as $key => $val)
|
||||||
|
{
|
||||||
|
$helpsubstit.=$key.' -> '.$val.'<br>';
|
||||||
|
$helpsubstitforlines.=$key.' -> '.$val.'<br>';
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$tmp=FormMail::getAvailableSubstitKey('formemailwithlines');
|
$tmp=FormMail::getAvailableSubstitKey('formemailwithlines');
|
||||||
$tmp['__(AnyTranslationKey)__']='__(AnyTranslationKey)__';
|
$tmp['__(AnyTranslationKey)__']='Translation';
|
||||||
$helpsubstit = $langs->trans("AvailableVariables").':<br>'.implode('<br>', $tmp);
|
$helpsubstit = $langs->trans("AvailableVariables").':<br>';
|
||||||
|
$helpsubstitforlines = $langs->trans("AvailableVariables").':<br>';
|
||||||
|
foreach($tmp as $key => $val)
|
||||||
|
{
|
||||||
|
$helpsubstit.=$key.' -> '.$val.'<br>';
|
||||||
|
}
|
||||||
$tmp=FormMail::getAvailableSubstitKey('formemailforlines');
|
$tmp=FormMail::getAvailableSubstitKey('formemailforlines');
|
||||||
$helpsubstitforlines = $langs->trans("AvailableVariables").':<br>'.implode('<br>', $tmp);
|
foreach($tmp as $key => $val)
|
||||||
|
{
|
||||||
|
$helpsubstitforlines.=$key.' -> '.$val.'<br>';
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -2243,14 +2243,17 @@ else
|
|||||||
$formmail->withcancel = 1;
|
$formmail->withcancel = 1;
|
||||||
// Array of substitutions
|
// Array of substitutions
|
||||||
$formmail->setSubstitFromObject($object);
|
$formmail->setSubstitFromObject($object);
|
||||||
|
$dateplannedstart='';
|
||||||
$datenextexpiration='';
|
$datenextexpiration='';
|
||||||
foreach($object->lines as $line)
|
foreach($object->lines as $line)
|
||||||
{
|
{
|
||||||
if ($line->statut != 4) continue;
|
if ($line->date_ouverture_prevue > $dateplannedstart) $dateplannedstart = $line->date_ouverture_prevue;
|
||||||
if ($line->date_fin_prevue > $datenextexpiration) $datenextexpiration = $line->date_fin_prevue;
|
if ($line->statut == 4 && $line->date_fin_prevue && (! $datenextexpiration || $line->date_fin_prevue < $datenextexpiration)) $datenextexpiration = $line->date_fin_prevue;
|
||||||
}
|
}
|
||||||
$formmail->substit['__CONTRACT_NEXT_EXPIRATION_DATE__'] = dol_print_date($datenextexpiration, 'dayrfc');
|
$formmail->substit['__CONTRACT_HIGHEST_PLANNED_START_DATE__'] = dol_print_date($dateplannedstart, 'dayrfc');
|
||||||
$formmail->substit['__CONTRACT_NEXT_EXPIRATION_DATETIME__'] = dol_print_date($datenextexpiration, 'standard');
|
$formmail->substit['__CONTRACT_HIGHEST_PLANNED_START_DATETIME__'] = dol_print_date($dateplannedstart, 'standard');
|
||||||
|
$formmail->substit['__CONTRACT_LOWEST_EXPIRATION_DATE__'] = dol_print_date($datenextexpiration, 'dayrfc');
|
||||||
|
$formmail->substit['__CONTRACT_LOWEST_EXPIRATION_DATETIME__'] = dol_print_date($datenextexpiration, 'standard');
|
||||||
$formmail->substit['__PERSONALIZED__']=''; // deprecated
|
$formmail->substit['__PERSONALIZED__']=''; // deprecated
|
||||||
$formmail->substit['__CONTACTCIVNAME__']='';
|
$formmail->substit['__CONTACTCIVNAME__']='';
|
||||||
|
|
||||||
|
|||||||
@@ -351,14 +351,17 @@ if (($action == 'send' || $action == 'relance') && ! $_POST['addfile'] && ! $_PO
|
|||||||
// Add specific substitution for contracts
|
// Add specific substitution for contracts
|
||||||
if (is_object($object) && $object->element == 'contrat' && is_array($object->lines))
|
if (is_object($object) && $object->element == 'contrat' && is_array($object->lines))
|
||||||
{
|
{
|
||||||
|
$dateplannedstart='';
|
||||||
$datenextexpiration='';
|
$datenextexpiration='';
|
||||||
foreach($object->lines as $line)
|
foreach($object->lines as $line)
|
||||||
{
|
{
|
||||||
if ($line->statut != 4) continue;
|
if ($line->date_ouverture_prevue > $dateplannedstart) $dateplannedstart = $line->date_ouverture_prevue;
|
||||||
if ($line->date_fin_prevue > $datenextexpiration) $datenextexpiration = $line->date_fin_prevue;
|
if ($line->statut == 4 && $line->date_fin_prevue && (! $datenextexpiration || $line->date_fin_prevue < $datenextexpiration)) $datenextexpiration = $line->date_fin_prevue;
|
||||||
}
|
}
|
||||||
$substitutionarray['__CONTRACT_NEXT_EXPIRATION_DATE__'] = dol_print_date($datenextexpiration, 'dayrfc');
|
$substitutionarray['__CONTRACT_HIGHEST_PLANNED_START_DATE__'] = dol_print_date($dateplannedstart, 'dayrfc');
|
||||||
$substitutionarray['__CONTRACT_NEXT_EXPIRATION_DATETIME__'] = dol_print_date($datenextexpiration, 'standard');
|
$substitutionarray['__CONTRACT_HIGHEST_PLANNED_START_DATETIME__'] = dol_print_date($dateplannedstart, 'standard');
|
||||||
|
$substitutionarray['__CONTRACT_LOWEST_EXPIRATION_DATE__'] = dol_print_date($datenextexpiration, 'dayrfc');
|
||||||
|
$substitutionarray['__CONTRACT_LOWEST_EXPIRATION_DATETIME__'] = dol_print_date($datenextexpiration, 'standard');
|
||||||
}
|
}
|
||||||
|
|
||||||
$parameters=array('mode'=>'formemail');
|
$parameters=array('mode'=>'formemail');
|
||||||
|
|||||||
@@ -5244,8 +5244,10 @@ function getCommonSubstitutionArray($outputlangs, $onlykey=0, $exclude=null, $ob
|
|||||||
$substitutionarray['__PROJECT_REF__'] = '__PROJECT_REF__';
|
$substitutionarray['__PROJECT_REF__'] = '__PROJECT_REF__';
|
||||||
$substitutionarray['__PROJECT_NAME__'] = '__PROJECT_REF__';
|
$substitutionarray['__PROJECT_NAME__'] = '__PROJECT_REF__';
|
||||||
|
|
||||||
$substitutionarray['__CONTRACT_NEXT_EXPIRATION_DATE__'] = 'Date for next expired service';
|
$substitutionarray['__CONTRACT_HIGHEST_PLANNED_START_DATE__'] = 'Highest date planned for a service start';
|
||||||
$substitutionarray['__CONTRACT_NEXT_EXPIRATION_DATETIME__'] = 'Date and hour for next expired service';
|
$substitutionarray['__CONTRACT_HIGHEST_PLANNED_START_DATETIME__'] = 'Highest date and hour planned for service start';
|
||||||
|
$substitutionarray['__CONTRACT_LOWEST_EXPIRATION_DATE__'] = 'Lowest data for planned expiration of service';
|
||||||
|
$substitutionarray['__CONTRACT_LOWEST_EXPIRATION_DATETIME__'] = 'Lowest date and hour for planned expiration of service';
|
||||||
|
|
||||||
$substitutionarray['__ONLINE_PAYMENT_URL__'] = 'LinkToPayOnlineIfApplicable';
|
$substitutionarray['__ONLINE_PAYMENT_URL__'] = 'LinkToPayOnlineIfApplicable';
|
||||||
$substitutionarray['__SECUREKEYPAYMENT__'] = 'Security key (if key is not unique per record)';
|
$substitutionarray['__SECUREKEYPAYMENT__'] = 'Security key (if key is not unique per record)';
|
||||||
@@ -5285,8 +5287,10 @@ function getCommonSubstitutionArray($outputlangs, $onlykey=0, $exclude=null, $ob
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$substitutionarray['__CONTRACT_NEXT_EXPIRATION_DATE__'] = 'TODO';
|
$substitutionarray['__CONTRACT_HIGHEST_PLANNED_START_DATE__'] = 'TODO';
|
||||||
$substitutionarray['__CONTRACT_NEXT_EXPIRATION_DATETIME__'] = 'TODO';
|
$substitutionarray['__CONTRACT_HIGHEST_PLANNED_START_DATETIME__'] = 'TODO';
|
||||||
|
$substitutionarray['__CONTRACT_LOWEST_EXPIRATION_DATE__'] = 'TODO';
|
||||||
|
$substitutionarray['__CONTRACT_LOWEST_EXPIRATION_DATETIME__'] = 'TODO';
|
||||||
|
|
||||||
$substitutionarray['__ONLINE_PAYMENT_URL__'] = 'TODO';
|
$substitutionarray['__ONLINE_PAYMENT_URL__'] = 'TODO';
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -144,16 +144,17 @@ if ($action == 'presend')
|
|||||||
// Add specific substitution for contracts
|
// Add specific substitution for contracts
|
||||||
if (is_object($object) && $object->element == 'contrat' && is_array($object->lines))
|
if (is_object($object) && $object->element == 'contrat' && is_array($object->lines))
|
||||||
{
|
{
|
||||||
$datenextexpiration = '';
|
$dateplannedstart='';
|
||||||
foreach ($object->lines as $line)
|
$datenextexpiration='';
|
||||||
|
foreach($object->lines as $line)
|
||||||
{
|
{
|
||||||
if ($line->statut != 4)
|
if ($line->date_ouverture_prevue > $dateplannedstart) $dateplannedstart = $line->date_ouverture_prevue;
|
||||||
continue;
|
if ($line->statut == 4 && $line->date_fin_prevue && (! $datenextexpiration || $line->date_fin_prevue < $datenextexpiration)) $datenextexpiration = $line->date_fin_prevue;
|
||||||
if ($line->date_fin_prevue > $datenextexpiration)
|
|
||||||
$datenextexpiration = $line->date_fin_prevue;
|
|
||||||
}
|
}
|
||||||
$substitutionarray['__CONTRACT_NEXT_EXPIRATION_DATE__'] = dol_print_date($datenextexpiration, 'dayrfc');
|
$substitutionarray['__CONTRACT_HIGHEST_PLANNED_START_DATE__'] = dol_print_date($dateplannedstart, 'dayrfc');
|
||||||
$substitutionarray['__CONTRACT_NEXT_EXPIRATION_DATETIME__'] = dol_print_date($datenextexpiration, 'standard');
|
$substitutionarray['__CONTRACT_HIGHEST_PLANNED_START_DATETIME__'] = dol_print_date($dateplannedstart, 'standard');
|
||||||
|
$substitutionarray['__CONTRACT_LOWEST_EXPIRATION_DATE__'] = dol_print_date($datenextexpiration, 'dayrfc');
|
||||||
|
$substitutionarray['__CONTRACT_LOWEST_EXPIRATION_DATETIME__'] = dol_print_date($datenextexpiration, 'standard');
|
||||||
}
|
}
|
||||||
|
|
||||||
// Choose one contact for the __CONTACTCIVNAME__ TODO Really not reliable.
|
// Choose one contact for the __CONTACTCIVNAME__ TODO Really not reliable.
|
||||||
|
|||||||
@@ -122,16 +122,17 @@ $substitutionarray['__CONTACTCIVNAME__'] = '';
|
|||||||
// Add specific substitution for contracts
|
// Add specific substitution for contracts
|
||||||
if (is_object($object) && $object->element == 'contrat' && is_array($object->lines))
|
if (is_object($object) && $object->element == 'contrat' && is_array($object->lines))
|
||||||
{
|
{
|
||||||
$datenextexpiration = '';
|
$dateplannedstart='';
|
||||||
foreach ($object->lines as $line)
|
$datenextexpiration='';
|
||||||
|
foreach($object->lines as $line)
|
||||||
{
|
{
|
||||||
if ($line->statut != 4)
|
if ($line->date_ouverture_prevue > $dateplannedstart) $dateplannedstart = $line->date_ouverture_prevue;
|
||||||
continue;
|
if ($line->statut == 4 && $line->date_fin_prevue && (! $datenextexpiration || $line->date_fin_prevue < $datenextexpiration)) $datenextexpiration = $line->date_fin_prevue;
|
||||||
if ($line->date_fin_prevue > $datenextexpiration)
|
|
||||||
$datenextexpiration = $line->date_fin_prevue;
|
|
||||||
}
|
}
|
||||||
$substitutionarray['__CONTRACT_NEXT_EXPIRATION_DATE__'] = dol_print_date($datenextexpiration, 'dayrfc');
|
$substitutionarray['__CONTRACT_HIGHEST_PLANNED_START_DATE__'] = dol_print_date($dateplannedstart, 'dayrfc');
|
||||||
$substitutionarray['__CONTRACT_NEXT_EXPIRATION_DATETIME__'] = dol_print_date($datenextexpiration, 'standard');
|
$substitutionarray['__CONTRACT_HIGHEST_PLANNED_START_DATETIME__'] = dol_print_date($dateplannedstart, 'standard');
|
||||||
|
$substitutionarray['__CONTRACT_LOWEST_EXPIRATION_DATE__'] = dol_print_date($datenextexpiration, 'dayrfc');
|
||||||
|
$substitutionarray['__CONTRACT_LOWEST_EXPIRATION_DATETIME__'] = dol_print_date($datenextexpiration, 'standard');
|
||||||
}
|
}
|
||||||
|
|
||||||
$parameters = array(
|
$parameters = array(
|
||||||
|
|||||||
Reference in New Issue
Block a user