diff --git a/htdocs/compta/facture.php b/htdocs/compta/facture.php
index c87ffc595db..191ccd164bb 100644
--- a/htdocs/compta/facture.php
+++ b/htdocs/compta/facture.php
@@ -1297,7 +1297,7 @@ if ($_GET['action'] == 'create')
if ($soc->remise_client) print $langs->trans("CompanyHasRelativeDiscount",$soc->remise_client);
else print $langs->trans("CompanyHasNoRelativeDiscount");
print '. ';
- if ($absolute_discount) print $langs->trans("CompanyHasAbsoluteDiscount",$absolute_discount,$langs->trans("Currency".$conf->monnaie));
+ if ($absolute_discount) print $langs->trans("CompanyHasAbsoluteDiscount",price($absolute_discount),$langs->trans("Currency".$conf->monnaie));
else print $langs->trans("CompanyHasNoAbsoluteDiscount");
print '.';
print '';
@@ -1836,7 +1836,19 @@ else
print '
';
// Reference
- print '| '.$langs->trans('Ref').' | '.$fac->ref.' |
';
+ print '| '.$langs->trans('Ref').' | ';
+ print ''.$fac->ref;
+ $discount=new DiscountAbsolute($db);
+ $result=$discount->fetch(0,$fac->id);
+ if ($result > 0)
+ {
+ print ' ('.$langs->trans("CreditNoteConvertedIntoDiscount",$discount->getNomUrl(1,'discount')).')';
+ }
+ if ($result < 0)
+ {
+ dolibarr_print_error('',$discount->error);
+ }
+ print ' |
';
// Ref client
/*
diff --git a/htdocs/discount.class.php b/htdocs/discount.class.php
index 294f1dfa2d3..9ffe5404234 100644
--- a/htdocs/discount.class.php
+++ b/htdocs/discount.class.php
@@ -59,15 +59,23 @@ class DiscountAbsolute
$this->db = $DB;
}
-
+
/**
* \brief Charge objet remise depuis la base
- * \param rowid id du projet à charger
- * \return int <0 si ko, =0 si non trouvé, >0 si ok
+ * \param rowid id du projet à charger
+ * \param fk_facture_source fk_facture_source
+ * \return int <0 si ko, =0 si non trouvé, >0 si ok
*/
- function fetch($rowid)
+ function fetch($rowid,$fk_facture_source=0)
{
- $sql = "SELECT sr.fk_soc,";
+ // Check parameters
+ if (! $rowid && ! $fk_facture_source)
+ {
+ $this->error='ErrorBadParameters';
+ return -1;
+ }
+
+ $sql = "SELECT sr.rowid, sr.fk_soc,";
$sql.= " sr.fk_user,";
$sql.= " sr.amount_ht, sr.amount_tva, sr.amount_ttc, sr.tva_tx,";
$sql.= " sr.fk_facture, sr.fk_facture_source, sr.description,";
@@ -75,8 +83,10 @@ class DiscountAbsolute
$sql.= " f.facnumber as ref_facture_source";
$sql.= " FROM ".MAIN_DB_PREFIX."societe_remise_except as sr";
$sql.= " LEFT JOIN ".MAIN_DB_PREFIX."facture as f ON sr.fk_facture_source = f.rowid";
- $sql.= " WHERE sr.rowid=".$rowid;
-
+ $sql.= " WHERE";
+ if ($rowid) $sql.= " sr.rowid=".$rowid;
+ if ($fk_facture_source) $sql.= " sr.fk_facture_source=".$fk_facture_source;
+
dolibarr_syslog("DiscountAbsolute::fetch sql=".$sql);
$resql = $this->db->query($sql);
if ($resql)
@@ -85,7 +95,7 @@ class DiscountAbsolute
{
$obj = $this->db->fetch_object($resql);
- $this->id = $rowid;
+ $this->id = $obj->rowid;
$this->fk_soc = $obj->fk_soc;
$this->amount_ht = $obj->amount_ht;
$this->amount_tva = $obj->amount_tva;
@@ -213,21 +223,33 @@ class DiscountAbsolute
\param option Sur quoi pointe le lien
\return string Chaine avec URL
*/
- function getNomUrl($withpicto,$option='')
+ function getNomUrl($withpicto,$option='invoice')
{
global $langs;
$result='';
- $lien = '';
- $lienfin='';
+ if ($option == 'invoice')
+ {
+ $lien = '';
+ $lienfin='';
+ $label=$langs->trans("ShowDiscount").': '.$this->ref_facture_source;
+ $ref=$this->ref_facture_source;
+ $picto='bill';
+ }
+ if ($option == 'discount')
+ {
+ $lien = '';
+ $lienfin='';
+ $label=$langs->trans("Discount");
+ $ref=$langs->trans("Discount");
+ $picto='generic';
+ }
- $picto='bill';
- $label=$langs->trans("ShowDiscount").': '.$this->ref_facture_source;
if ($withpicto) $result.=($lien.img_object($label,$picto).$lienfin);
if ($withpicto && $withpicto != 2) $result.=' ';
- $result.=$lien.$this->ref_facture_source.$lienfin;
+ $result.=$lien.$ref.$lienfin;
return $result;
}
diff --git a/htdocs/html.form.class.php b/htdocs/html.form.class.php
index 58ce9eb921d..6e4c6445150 100644
--- a/htdocs/html.form.class.php
+++ b/htdocs/html.form.class.php
@@ -741,7 +741,7 @@ class Form
// On recherche les societes
$sql = "SELECT re.rowid, re.amount_ht, re.amount_tva, re.amount_ttc,";
- $sql.= " re.description";
+ $sql.= " re.description, re.fk_facture_source";
$sql.= " FROM ".MAIN_DB_PREFIX ."societe_remise_except as re";
$sql.= " WHERE fk_soc = ".$socid;
if ($filter) $sql.= " AND ".$filter;
@@ -760,7 +760,11 @@ class Form
{
$obj = $this->db->fetch_object($resql);
$desc=dolibarr_trunc($obj->description,40);
- if ($desc=='(CREDIT_NOTE)') $desc=$langs->trans("CreditNote");
+ if ($desc=='(CREDIT_NOTE)')
+ {
+ $desc=$langs->trans("CreditNote");
+ //$desc.=$obj->fk_facture_source;
+ }
if ($selected > 0 && $selected == $obj->rowid)
{
diff --git a/htdocs/langs/en_US/bills.lang b/htdocs/langs/en_US/bills.lang
index baf50d793ef..d5814978973 100644
--- a/htdocs/langs/en_US/bills.lang
+++ b/htdocs/langs/en_US/bills.lang
@@ -287,6 +287,7 @@ ChequesReceipts=Cheques receipts
ChequesArea=Cheques deposits area
ChequeDeposits=Cheques deposits
Cheques=Cheques
+CreditNoteConvertedIntoDiscount=This credit note has been converted into %s
# oursin PDF model
Of=du
diff --git a/htdocs/langs/fr_FR/bills.lang b/htdocs/langs/fr_FR/bills.lang
index a6d89e106fe..e573173b19b 100644
--- a/htdocs/langs/fr_FR/bills.lang
+++ b/htdocs/langs/fr_FR/bills.lang
@@ -287,6 +287,7 @@ ChequesReceipts=Bordereaux de remise de ch
ChequesArea=Espace remises de chèques
ChequeDeposits=Dépots de chèques
Cheques=Chèques
+CreditNoteConvertedIntoDiscount=Cet avoir a été converti en %s
# oursin PDF model
Of=du