diff --git a/htdocs/contrat/card.php b/htdocs/contrat/card.php
index c13571dd6cb..90ec4c7edba 100644
--- a/htdocs/contrat/card.php
+++ b/htdocs/contrat/card.php
@@ -1482,7 +1482,7 @@ else
$sql.= " cd.date_fin_validite as date_fin, cd.date_cloture as date_fin_reelle,";
$sql.= " cd.commentaire as comment, cd.fk_product_fournisseur_price as fk_fournprice, cd.buy_price_ht as pa_ht,";
$sql.= " cd.fk_unit,";
- $sql.= " p.rowid as pid, p.ref as pref, p.label as label, p.fk_product_type as ptype, p.entity as pentity";
+ $sql.= " p.rowid as pid, p.ref as pref, p.label as plabel, p.fk_product_type as ptype, p.entity as pentity";
$sql.= " FROM ".MAIN_DB_PREFIX."contratdet as cd";
$sql.= " LEFT JOIN ".MAIN_DB_PREFIX."product as p ON cd.fk_product = p.rowid";
$sql.= " WHERE cd.rowid = ".$object->lines[$cursorline-1]->id;
@@ -1513,7 +1513,7 @@ else
if ($action != 'editline' || GETPOST('rowid') != $objp->rowid)
{
print '
';
- // Libelle
+ // Label
if ($objp->fk_product > 0)
{
print '';
@@ -1521,19 +1521,21 @@ else
$productstatic->type=$objp->ptype;
$productstatic->ref=$objp->pref;
$productstatic->entity=$objp->pentity;
- $text = $productstatic->getNomUrl(1,'',20);
- if ($objp->label)
+ $productstatic->label=$objp->plabel;
+ $text = $productstatic->getNomUrl(1,'',20);
+ if ($objp->plabel)
{
$text .= ' - ';
- $productstatic->ref=$objp->label;
- $text .= $productstatic->getNomUrl(0,'',16);
+ //$productstatic->ref=$objp->label;
+ //$text .= $productstatic->getNomUrl(0,'',16);
+ $text .= $objp->plabel;
}
$description = $objp->description;
// Add description in form
if (! empty($conf->global->PRODUIT_DESC_IN_FORM))
{
- $text .= (! empty($objp->description) && $objp->description!=$objp->product_label)?' '.dol_htmlentitiesbr($objp->description):'';
+ $text .= (! empty($objp->description) && $objp->description!=$objp->plabel)?' '.dol_htmlentitiesbr($objp->description):'';
$description = ''; // Already added into main visible desc
}
@@ -1543,7 +1545,7 @@ else
}
else
{
- print ' | '.dol_htmlentitiesbr($objp->description)." | \n";
+ print ''.img_object($langs->trans("ShowProductOrService"), ($objp->product_type ? 'service' : 'product')).' '.dol_htmlentitiesbr($objp->description)." | \n";
}
// TVA
print '';
diff --git a/htdocs/contrat/class/contrat.class.php b/htdocs/contrat/class/contrat.class.php
index 0c3ee14666a..bf31ef4070c 100644
--- a/htdocs/contrat/class/contrat.class.php
+++ b/htdocs/contrat/class/contrat.class.php
@@ -1278,7 +1278,7 @@ class Contrat extends CommonObject
//// End call triggers
}
}
-
+
if (empty($conf->global->MAIN_EXTRAFIELDS_DISABLED) && is_array($this->array_options) && count($this->array_options)>0) // For avoid conflicts if trigger used
{
$result=$this->insertExtraFields();
@@ -1831,13 +1831,13 @@ class Contrat extends CommonObject
$text.=': ';
}
$text.=($mode == 7?' ':'');
- $text.=($mode != 7 || $this->nbofserviceswait > 0) ? $this->nbofserviceswait.' '.$line->LibStatut(0,3).(($this->nbofservicesopened || $this->nbofservicesexpired || $this->nbofservicesclosed)?' ':'') : '';
+ $text.=($mode != 7 || $this->nbofserviceswait > 0) ? ($this->nbofserviceswait.$line->LibStatut(0,3)).(($mode != 7 || $this->nbofservicesopened || $this->nbofservicesexpired || $this->nbofservicesclosed)?' ':'') : '';
$text.=($mode == 7?' ':'');
- $text.=($mode != 7 || $this->nbofservicesopened > 0) ? $this->nbofservicesopened.' '.$line->LibStatut(4,3,0).(($this->nbofservicesexpired || $this->nbofservicesclosed)?' ':'') : '';
+ $text.=($mode != 7 || $this->nbofservicesopened > 0) ? ($this->nbofservicesopened.$line->LibStatut(4,3,0)).(($mode != 7 || $this->nbofservicesexpired || $this->nbofservicesclosed)?' ':'') : '';
$text.=($mode == 7?' ':'');
- $text.=($mode != 7 || $this->nbofservicesexpired > 0) ? $this->nbofservicesexpired.' '.$line->LibStatut(4,3,1).(($this->nbofservicesclosed)?' ':'') : '';
+ $text.=($mode != 7 || $this->nbofservicesexpired > 0) ? ($this->nbofservicesexpired.$line->LibStatut(4,3,1)).(($mode != 7 || $this->nbofservicesclosed)?' ':'') : '';
$text.=($mode == 7?' ':'');
- $text.=($mode != 7 || $this->nbofservicesclosed > 0) ? $this->nbofservicesclosed.' '.$line->LibStatut(5,3) : '';
+ $text.=($mode != 7 || $this->nbofservicesclosed > 0) ? ($this->nbofservicesclosed.$line->LibStatut(5,3)) : '';
$text.=($mode == 7?' ':'');
return $text;
}
diff --git a/htdocs/core/boxes/box_services_contracts.php b/htdocs/core/boxes/box_services_contracts.php
index ccdcfbdbe5a..1795f7c6f2f 100644
--- a/htdocs/core/boxes/box_services_contracts.php
+++ b/htdocs/core/boxes/box_services_contracts.php
@@ -27,7 +27,7 @@ include_once DOL_DOCUMENT_ROOT.'/core/boxes/modules_boxes.php';
/**
- * Class to manage the box to show last services lines
+ * Class to manage the box to show last contracted products/services lines
*/
class box_services_contracts extends ModeleBoxes
{
@@ -72,6 +72,8 @@ class box_services_contracts extends ModeleBoxes
include_once DOL_DOCUMENT_ROOT.'/contrat/class/contrat.class.php';
+ $form = new Form($db);
+
$this->info_box_head = array('text' => $langs->trans("BoxLastProductsInContract",$max));
if ($user->rights->service->lire && $user->rights->contrat->lire)
@@ -79,11 +81,12 @@ class box_services_contracts extends ModeleBoxes
$contractstatic=new Contrat($db);
$contratlignestatic=new ContratLigne($db);
$thirdpartytmp = new Societe($db);
+ $productstatic = new Product($db);
$sql = "SELECT s.nom as name, s.rowid as socid,";
$sql.= " c.rowid, c.ref, c.statut as contract_status,";
- $sql.= " cd.rowid as cdid, cd.tms as datem, cd.statut, cd.label, cd.description, cd.product_type as type,";
- $sql.= " p.rowid as product_id, p.ref as product_ref";
+ $sql.= " cd.rowid as cdid, cd.label, cd.description, cd.tms as datem, cd.statut, cd.product_type as type,";
+ $sql.= " p.rowid as product_id, p.ref as product_ref, p.label as plabel, p.fk_product_type as ptype, p.entity";
$sql.= " FROM (".MAIN_DB_PREFIX."societe as s";
$sql.= " INNER JOIN ".MAIN_DB_PREFIX."contrat as c ON s.rowid = c.fk_soc";
$sql.= " INNER JOIN ".MAIN_DB_PREFIX."contratdet as cd ON c.rowid = cd.fk_contrat";
@@ -140,8 +143,41 @@ class box_services_contracts extends ModeleBoxes
}
}
+ // Label
+ if ($objp->product_id > 0)
+ {
+ $productstatic->id=$objp->product_id;
+ $productstatic->type=$objp->ptype;
+ $productstatic->ref=$objp->product_ref;
+ $productstatic->entity=$objp->pentity;
+ $productstatic->label=$objp->plabel;
+ $text = $productstatic->getNomUrl(1,'',20);
+ if ($objp->plabel)
+ {
+ $text .= ' - ';
+ //$productstatic->ref=$objp->label;
+ //$text .= $productstatic->getNomUrl(0,'',16);
+ $text .= $objp->plabel;
+ }
+ $description = $objp->description;
+
+ // Add description in form
+ if (! empty($conf->global->PRODUIT_DESC_IN_FORM))
+ {
+ //$text .= (! empty($objp->description) && $objp->description!=$objp->plabel)?' '.dol_htmlentitiesbr($objp->description):'';
+ $description = ''; // Already added into main visible desc
+ }
+
+ $s = $form->textwithtooltip($text,$description,3,'','',$cursorline,0,(!empty($line->fk_parent_line)?img_picto('', 'rightarrow'):''));
+ }
+ else
+ {
+ $s = img_object($langs->trans("ShowProductOrService"), ($objp->product_type ? 'service' : 'product')).' '.dol_htmlentitiesbr($objp->description);
+ }
+
+
$this->info_box_contents[$i][] = array('td' => 'class="tdoverflowmax100 maxwidth100onsmartphone"',
- 'text' => $contratlignestatic->getNomUrl(1),
+ 'text' => $s,
'asis' => 1
);
|