Fix: Ne permet pas reouverture si facture remplacée.

This commit is contained in:
Laurent Destailleur 2008-07-21 16:19:51 +00:00
parent c49f224ae0
commit 9c624bed06
2 changed files with 30 additions and 13 deletions

View File

@ -450,7 +450,7 @@ if ($_POST['action'] == 'add' && $user->rights->facture->creer)
$mesg='<div class="error">'.$langs->trans("ErrorFieldRequired",$langs->trans("Date")).'</div>'; $mesg='<div class="error">'.$langs->trans("ErrorFieldRequired",$langs->trans("Date")).'</div>';
} }
if (! $_POST['fac_replacement'] > 0) if (! ($_POST['fac_replacement'] > 0))
{ {
$error=1; $error=1;
$mesg='<div class="error">'.$langs->trans("ErrorFieldRequired",$langs->trans("ReplaceInvoice")).'</div>'; $mesg='<div class="error">'.$langs->trans("ErrorFieldRequired",$langs->trans("ReplaceInvoice")).'</div>';
@ -2792,16 +2792,33 @@ else
if ($conf->global->FACTURE_ENABLE_EDITDELETE && $user->rights->facture->modifier if ($conf->global->FACTURE_ENABLE_EDITDELETE && $user->rights->facture->modifier
&& ($resteapayer == $fac->total_ttc && $fac->paye == 0 && $ventilExportCompta == 0)) && ($resteapayer == $fac->total_ttc && $fac->paye == 0 && $ventilExportCompta == 0))
{ {
print '<a class="butAction" href="'.$_SERVER['PHP_SELF'].'?facid='.$fac->id.'&amp;action=modif">'.$langs->trans('Modify').'</a>'; if (! $facidnext)
{
print '<a class="butAction" href="'.$_SERVER['PHP_SELF'].'?facid='.$fac->id.'&amp;action=modif">'.$langs->trans('Modify').'</a>';
}
else
{
print '<span class="butActionRefused" title="'.$langs->trans("DisabledBecauseReplacedInvoice").'">'.$langs->trans('Modify').'</span>';
}
} }
} }
// Reopen a classified invoice // Reopen a classified invoice
if ($fac->statut == 3 && ($fac->close_code == 'badcustomer' || $fac->close_code == 'abandon')) if ($fac->statut == 3 && // A abandonned invoice
$fac->getIdReplacingInvoice() == 0 && // Not replaced by another invoice
($fac->close_code == 'badcustomer' || $fac->close_code == 'abandon'))
{ {
print '<a class="butAction" href="'.$_SERVER['PHP_SELF'].'?facid='.$fac->id.'&amp;action=reopen">'.$langs->trans('ReOpen').'</a>'; if (! $facidnext)
{
print '<a class="butAction" href="'.$_SERVER['PHP_SELF'].'?facid='.$fac->id.'&amp;action=reopen">'.$langs->trans('ReOpen').'</a>';
}
else
{
print '<span class="butActionRefused" title="'.$langs->trans("DisabledBecauseReplacedInvoice").'">'.$langs->trans('ReOpen').'</span>';
}
} }
// Récurrente
// Récurrente
if (! $conf->global->FACTURE_DISABLE_RECUR && $fac->type == 0) if (! $conf->global->FACTURE_DISABLE_RECUR && $fac->type == 0)
{ {
if (! $facidnext) if (! $facidnext)
@ -2844,7 +2861,7 @@ else
{ {
if ($facidnext) if ($facidnext)
{ {
print '<span class="butActionRefused" alt="'.$langs->trans("DisabledBecauseReplacedInvoice").'">'.$langs->trans('SendByMail').'</span>'; print '<span class="butActionRefused" title="'.$langs->trans("DisabledBecauseReplacedInvoice").'">'.$langs->trans('SendByMail').'</span>';
} }
else else
{ {
@ -2857,7 +2874,7 @@ else
{ {
if ($facidnext) if ($facidnext)
{ {
print '<span class="butActionRefused" alt="'.$langs->trans("DisabledBecauseReplacedInvoice").'">'.$langs->trans('SendRemindByMail').'</span>'; print '<span class="butActionRefused" title="'.$langs->trans("DisabledBecauseReplacedInvoice").'">'.$langs->trans('SendRemindByMail').'</span>';
} }
else else
{ {
@ -2870,13 +2887,13 @@ else
{ {
if ($facidnext) if ($facidnext)
{ {
print '<font class="butActionRefused" alt="'.$langs->trans("DisabledBecauseReplacedInvoice").'">'.$langs->trans('DoPayment').'</font>'; print '<span class="butActionRefused" title="'.$langs->trans("DisabledBecauseReplacedInvoice").'">'.$langs->trans('DoPayment').'</span>';
} }
else else
{ {
if ($resteapayer == 0) if ($resteapayer == 0)
{ {
print '<font class="butActionRefused" title="'.$langs->trans("DisabledBecauseRemainderToPayIsZero").'">'.$langs->trans('DoPayment').'</font>'; print '<span class="butActionRefused" title="'.$langs->trans("DisabledBecauseRemainderToPayIsZero").'">'.$langs->trans('DoPayment').'</span>';
} }
else else
{ {
@ -2919,7 +2936,7 @@ else
{ {
if ($facidnext) if ($facidnext)
{ {
print '<a class="butActionRefused">'.$langs->trans('ClassifyCanceled').'</span>'; print '<span class="butActionRefused" title="'.$langs->trans("DisabledBecauseReplacedInvoice").'">'.$langs->trans('ClassifyCanceled').'</span>';
} }
else else
{ {
@ -2933,7 +2950,7 @@ else
{ {
if ($facidnext) if ($facidnext)
{ {
print '<span class="butActionDeleteRefused">'.$langs->trans('Delete').'</span>'; print '<span class="butActionDeleteRefused" title="'.$langs->trans("DisabledBecauseReplacedInvoice").'">'.$langs->trans('Delete').'</span>';
} }
else else
{ {

View File

@ -1724,7 +1724,7 @@ class Facture extends CommonObject
/** /**
* \brief Renvoie l'id de la facture qui la remplace * \brief Renvoie l'id de la facture qui la remplace
* \param option filtre sur statut ('', 'validated', ...) * \param option filtre sur statut ('', 'validated', ...)
* \return int <0 si ko, 0 si aucune facture ne remplace, id facture sinon * \return int <0 si KO, 0 si aucune facture ne remplace, id facture sinon
*/ */
function getIdReplacingInvoice($option='') function getIdReplacingInvoice($option='')
{ {