FIX Split of credit note into discount page generates records not
correctly recognised as credit note.
This commit is contained in:
parent
89cb122474
commit
460d7ce915
@ -341,22 +341,22 @@ if ($socid > 0)
|
|||||||
$var = !$var;
|
$var = !$var;
|
||||||
print "<tr ".$bc[$var].">";
|
print "<tr ".$bc[$var].">";
|
||||||
print '<td>'.dol_print_date($db->jdate($obj->dc),'dayhour').'</td>';
|
print '<td>'.dol_print_date($db->jdate($obj->dc),'dayhour').'</td>';
|
||||||
if ($obj->description == '(CREDIT_NOTE)')
|
if (preg_match('/\(CREDIT_NOTE\)/',$obj->description))
|
||||||
{
|
{
|
||||||
print '<td class="nowrap">';
|
print '<td class="nowrap">';
|
||||||
$facturestatic->id=$obj->fk_facture_source;
|
$facturestatic->id=$obj->fk_facture_source;
|
||||||
$facturestatic->ref=$obj->ref;
|
$facturestatic->ref=$obj->ref;
|
||||||
$facturestatic->type=$obj->type;
|
$facturestatic->type=$obj->type;
|
||||||
print $langs->trans("CreditNote").' '.$facturestatic->getNomURl(1);
|
print preg_replace('/\(CREDIT_NOTE\)/',$langs->trans("CreditNote"),$obj->description).' '.$facturestatic->getNomURl(1);
|
||||||
print '</td>';
|
print '</td>';
|
||||||
}
|
}
|
||||||
elseif ($obj->description == '(DEPOSIT)')
|
elseif (preg_match('/\(DEPOSIT\)/',$obj->description))
|
||||||
{
|
{
|
||||||
print '<td class="nowrap">';
|
print '<td class="nowrap">';
|
||||||
$facturestatic->id=$obj->fk_facture_source;
|
$facturestatic->id=$obj->fk_facture_source;
|
||||||
$facturestatic->ref=$obj->ref;
|
$facturestatic->ref=$obj->ref;
|
||||||
$facturestatic->type=$obj->type;
|
$facturestatic->type=$obj->type;
|
||||||
print $langs->trans("InvoiceDeposit").' '.$facturestatic->getNomURl(1);
|
print preg_replace('/\(DEPOSIT\)/',$langs->trans("InvoiceDeposit"),$obj->description).' '.$facturestatic->getNomURl(1);
|
||||||
print '</td>';
|
print '</td>';
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -500,22 +500,22 @@ if ($socid > 0)
|
|||||||
$var = !$var;
|
$var = !$var;
|
||||||
print "<tr ".$bc[$var].">";
|
print "<tr ".$bc[$var].">";
|
||||||
print '<td>'.dol_print_date($db->jdate($obj->dc),'dayhour').'</td>';
|
print '<td>'.dol_print_date($db->jdate($obj->dc),'dayhour').'</td>';
|
||||||
if ($obj->description == '(CREDIT_NOTE)')
|
if (preg_match('/\(CREDIT_NOTE\)/',$obj->description))
|
||||||
{
|
{
|
||||||
print '<td class="nowrap">';
|
print '<td class="nowrap">';
|
||||||
$facturestatic->id=$obj->fk_facture_source;
|
$facturestatic->id=$obj->fk_facture_source;
|
||||||
$facturestatic->ref=$obj->ref;
|
$facturestatic->ref=$obj->ref;
|
||||||
$facturestatic->type=$obj->type;
|
$facturestatic->type=$obj->type;
|
||||||
print $langs->trans("CreditNote").' '.$facturestatic->getNomURl(1);
|
print preg_replace('/\(CREDIT_NOTE\)/',$langs->trans("CreditNote"),$obj->description).' '.$facturestatic->getNomURl(1);
|
||||||
print '</td>';
|
print '</td>';
|
||||||
}
|
}
|
||||||
elseif ($obj->description == '(DEPOSIT)')
|
elseif (preg_match('/\(DEPOSIT\)/',$obj->description))
|
||||||
{
|
{
|
||||||
print '<td class="nowrap">';
|
print '<td class="nowrap">';
|
||||||
$facturestatic->id=$obj->fk_facture_source;
|
$facturestatic->id=$obj->fk_facture_source;
|
||||||
$facturestatic->ref=$obj->ref;
|
$facturestatic->ref=$obj->ref;
|
||||||
$facturestatic->type=$obj->type;
|
$facturestatic->type=$obj->type;
|
||||||
print $langs->trans("InvoiceDeposit").' '.$facturestatic->getNomURl(1);
|
print preg_replace('/\(DEPOSIT\)/',$langs->trans("InvoiceDeposit"),$obj->description).' '.$facturestatic->getNomURl(1);
|
||||||
print '</td>';
|
print '</td>';
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|||||||
@ -1900,8 +1900,8 @@ if ($action == 'create' && $user->rights->commande->creer)
|
|||||||
// invoice
|
// invoice
|
||||||
$filtercreditnote = "fk_facture_source IS NOT NULL"; // If we want deposit to be substracted to payments only and not to total of final invoice
|
$filtercreditnote = "fk_facture_source IS NOT NULL"; // If we want deposit to be substracted to payments only and not to total of final invoice
|
||||||
} else {
|
} else {
|
||||||
$filterabsolutediscount = "fk_facture_source IS NULL OR (fk_facture_source IS NOT NULL AND description='(DEPOSIT)')";
|
$filterabsolutediscount = "fk_facture_source IS NULL OR (fk_facture_source IS NOT NULL AND description LIKE '(DEPOSIT)%')";
|
||||||
$filtercreditnote = "fk_facture_source IS NOT NULL AND description <> '(DEPOSIT)'";
|
$filtercreditnote = "fk_facture_source IS NOT NULL AND description NOT LIKE '(DEPOSIT)%'";
|
||||||
}
|
}
|
||||||
|
|
||||||
// Relative and absolute discounts
|
// Relative and absolute discounts
|
||||||
|
|||||||
@ -2563,8 +2563,8 @@ else if ($id > 0 || ! empty($ref))
|
|||||||
$filterabsolutediscount = "fk_facture_source IS NULL"; // If we want deposit to be substracted to payments only and not to total of final invoice
|
$filterabsolutediscount = "fk_facture_source IS NULL"; // If we want deposit to be substracted to payments only and not to total of final invoice
|
||||||
$filtercreditnote = "fk_facture_source IS NOT NULL"; // If we want deposit to be substracted to payments only and not to total of final invoice
|
$filtercreditnote = "fk_facture_source IS NOT NULL"; // If we want deposit to be substracted to payments only and not to total of final invoice
|
||||||
} else {
|
} else {
|
||||||
$filterabsolutediscount = "fk_facture_source IS NULL OR (fk_facture_source IS NOT NULL AND description='(DEPOSIT)')";
|
$filterabsolutediscount = "fk_facture_source IS NULL OR (fk_facture_source IS NOT NULL AND description LIKE '(DEPOSIT)%')";
|
||||||
$filtercreditnote = "fk_facture_source IS NOT NULL AND description <> '(DEPOSIT)'";
|
$filtercreditnote = "fk_facture_source IS NOT NULL AND description NOT LIKE '(DEPOSIT)%'";
|
||||||
}
|
}
|
||||||
|
|
||||||
$absolute_discount = $soc->getAvailableDiscounts('', $filterabsolutediscount);
|
$absolute_discount = $soc->getAvailableDiscounts('', $filterabsolutediscount);
|
||||||
@ -2982,9 +2982,9 @@ else if ($id > 0 || ! empty($ref))
|
|||||||
// Remise dispo de type avoir
|
// Remise dispo de type avoir
|
||||||
if (! $absolute_discount)
|
if (! $absolute_discount)
|
||||||
print '<br>';
|
print '<br>';
|
||||||
// $form->form_remise_dispo($_SERVER["PHP_SELF"].'?facid='.$object->id, 0, 'remise_id_for_payment', $soc->id, $absolute_creditnote,
|
// $form->form_remise_dispo($_SERVER["PHP_SELF"].'?facid='.$object->id, 0, 'remise_id_for_payment', $soc->id, $absolute_creditnote, $filtercreditnote, $resteapayer
|
||||||
// $filtercreditnote, $resteapayer);
|
$more=' ('.$addcreditnote.')';
|
||||||
$form->form_remise_dispo($_SERVER["PHP_SELF"] . '?facid=' . $object->id, 0, 'remise_id_for_payment', $soc->id, $absolute_creditnote, $filtercreditnote, 0); // We allow credit note even if amount is higher
|
$form->form_remise_dispo($_SERVER["PHP_SELF"] . '?facid=' . $object->id, 0, 'remise_id_for_payment', $soc->id, $absolute_creditnote, $filtercreditnote, 0, $more); // We allow credit note even if amount is higher
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (! $absolute_discount && ! $absolute_creditnote) {
|
if (! $absolute_discount && ! $absolute_creditnote) {
|
||||||
|
|||||||
@ -1128,8 +1128,8 @@ class Form
|
|||||||
{
|
{
|
||||||
$obj = $this->db->fetch_object($resql);
|
$obj = $this->db->fetch_object($resql);
|
||||||
$desc=dol_trunc($obj->description,40);
|
$desc=dol_trunc($obj->description,40);
|
||||||
if ($desc=='(CREDIT_NOTE)') $desc=$langs->trans("CreditNote");
|
if (preg_match('/\(CREDIT_NOTE\)/', $desc)) $desc=preg_replace('/\(CREDIT_NOTE\)/', $langs->trans("CreditNote"), $desc);
|
||||||
if ($desc=='(DEPOSIT)') $desc=$langs->trans("Deposit");
|
if (preg_match('/\(DEPOSIT\)/', $desc)) $desc=preg_replace('/\(DEPOSIT\)/', $langs->trans("Deposit"), $desc);
|
||||||
|
|
||||||
$selectstring='';
|
$selectstring='';
|
||||||
if ($selected > 0 && $selected == $obj->rowid) $selectstring=' selected';
|
if ($selected > 0 && $selected == $obj->rowid) $selectstring=' selected';
|
||||||
@ -3762,7 +3762,7 @@ class Form
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (! $filter || $filter=="fk_facture_source IS NULL OR (fk_facture_source IS NOT NULL AND description='(DEPOSIT)')") print $langs->trans("CompanyHasAbsoluteDiscount",price($amount,0,$langs,0,0,-1,$conf->currency)).': ';
|
if (! $filter || $filter=="fk_facture_source IS NULL OR (fk_facture_source IS NOT NULL AND description LIKE '(DEPOSIT)%')") print $langs->trans("CompanyHasAbsoluteDiscount",price($amount,0,$langs,0,0,-1,$conf->currency)).': ';
|
||||||
else print $langs->trans("CompanyHasCreditNote",price($amount,0,$langs,0,0,-1,$conf->currency)).': ';
|
else print $langs->trans("CompanyHasCreditNote",price($amount,0,$langs,0,0,-1,$conf->currency)).': ';
|
||||||
}
|
}
|
||||||
$newfilter='fk_facture IS NULL AND fk_facture_line IS NULL'; // Remises disponibles
|
$newfilter='fk_facture IS NULL AND fk_facture_line IS NULL'; // Remises disponibles
|
||||||
@ -3773,7 +3773,7 @@ class Form
|
|||||||
if ($nbqualifiedlines > 0)
|
if ($nbqualifiedlines > 0)
|
||||||
{
|
{
|
||||||
print ' <input type="submit" class="button" value="'.dol_escape_htmltag($langs->trans("UseLine")).'"';
|
print ' <input type="submit" class="button" value="'.dol_escape_htmltag($langs->trans("UseLine")).'"';
|
||||||
if ($filter && $filter != "fk_facture_source IS NULL OR (fk_facture_source IS NOT NULL AND description='(DEPOSIT)')") print ' title="'.$langs->trans("UseCreditNoteInInvoicePayment").'"';
|
if ($filter && $filter != "fk_facture_source IS NULL OR (fk_facture_source IS NOT NULL AND description LIKE '(DEPOSIT)%')") print ' title="'.$langs->trans("UseCreditNoteInInvoicePayment").'"';
|
||||||
print '>';
|
print '>';
|
||||||
}
|
}
|
||||||
if ($more) print $more;
|
if ($more) print $more;
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user