From d39439437e49cb75354be441b701e749d618b18d Mon Sep 17 00:00:00 2001 From: Florian HENRY Date: Sat, 31 Jan 2015 13:50:18 +0100 Subject: [PATCH 1/5] Add fetch optionnals extrafield on contract lines --- htdocs/contrat/class/contrat.class.php | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/htdocs/contrat/class/contrat.class.php b/htdocs/contrat/class/contrat.class.php index 9619ae462f4..d5d0d3309dc 100644 --- a/htdocs/contrat/class/contrat.class.php +++ b/htdocs/contrat/class/contrat.class.php @@ -641,6 +641,11 @@ class Contrat extends CommonObject $now=dol_now(); + require_once DOL_DOCUMENT_ROOT.'/core/class/extrafields.class.php'; + $extrafieldsline=new ExtraFields($this->db); + $line = new ContratLigne($this->db); + $extralabelsline=$extrafieldsline->fetch_name_optionals_label($line->table_element,true); + $this->lines=array(); // Selectionne les lignes contrats liees a un produit @@ -719,6 +724,11 @@ class Contrat extends CommonObject $line->date_fin_prevue = $this->db->jdate($objp->date_fin_validite); $line->date_fin_reel = $this->db->jdate($objp->date_cloture); + // Retreive all extrafield for propal + // fetch optionals attributes and labels + + $line->fetch_optionals($line->id,$extralabelsline); + $this->lines[] = $line; //dol_syslog("1 ".$line->desc); @@ -814,6 +824,13 @@ class Contrat extends CommonObject if ($line->statut == 4 && (! empty($line->date_fin_prevue) && $line->date_fin_prevue < $now)) $this->nbofservicesexpired++; if ($line->statut == 5) $this->nbofservicesclosed++; + + // Retreive all extrafield for propal + // fetch optionals attributes and labels + + $line->fetch_optionals($line->id,$extralabelsline); + + $this->lines[] = $line; $total_ttc+=$objp->total_ttc; From 1eb73d0e495b4067454b2ead144f0c07ecb7f54e Mon Sep 17 00:00:00 2001 From: Florian HENRY Date: Sat, 31 Jan 2015 13:52:23 +0100 Subject: [PATCH 2/5] fetch optional extrafeild lines on propal fetch --- htdocs/comm/propal/class/propal.class.php | 16 +++++++++------- htdocs/contrat/class/contrat.class.php | 1 - 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/htdocs/comm/propal/class/propal.class.php b/htdocs/comm/propal/class/propal.class.php index f68a1f4f708..be945c7027e 100644 --- a/htdocs/comm/propal/class/propal.class.php +++ b/htdocs/comm/propal/class/propal.class.php @@ -1196,6 +1196,11 @@ class Propal extends CommonObject $result = $this->db->query($sql); if ($result) { + require_once DOL_DOCUMENT_ROOT.'/core/class/extrafields.class.php'; + $extrafieldsline=new ExtraFields($this->db); + $line = new PropaleLigne($this->db); + $extralabelsline=$extrafieldsline->fetch_name_optionals_label($line->table_element,true); + $num = $this->db->num_rows($result); $i = 0; @@ -1205,7 +1210,8 @@ class Propal extends CommonObject $line = new PropaleLigne($this->db); - $line->rowid = $objp->rowid; + $line->rowid = $objp->rowid; //Deprecated + $line->id = $objp->rowid; $line->fk_propal = $objp->fk_propal; $line->fk_parent_line = $objp->fk_parent_line; $line->product_type = $objp->product_type; @@ -1246,6 +1252,8 @@ class Propal extends CommonObject $line->date_start = $objp->date_start; $line->date_end = $objp->date_end; + $line->fetch_optionals($line->id,$extralabelsline); + $this->lines[$i] = $line; //dol_syslog("1 ".$line->fk_product); //print "xx $i ".$this->lines[$i]->fk_product; @@ -1259,12 +1267,6 @@ class Propal extends CommonObject return -1; } - // Retreive all extrafield for propal - // fetch optionals attributes and labels - require_once DOL_DOCUMENT_ROOT.'/core/class/extrafields.class.php'; - $extrafields=new ExtraFields($this->db); - $extralabels=$extrafields->fetch_name_optionals_label($this->table_element,true); - $this->fetch_optionals($this->id,$extralabels); return 1; } diff --git a/htdocs/contrat/class/contrat.class.php b/htdocs/contrat/class/contrat.class.php index d5d0d3309dc..21430ecca5b 100644 --- a/htdocs/contrat/class/contrat.class.php +++ b/htdocs/contrat/class/contrat.class.php @@ -726,7 +726,6 @@ class Contrat extends CommonObject // Retreive all extrafield for propal // fetch optionals attributes and labels - $line->fetch_optionals($line->id,$extralabelsline); $this->lines[] = $line; From e24a317f0f929b9b514d2e1521c7a12fb10c11b0 Mon Sep 17 00:00:00 2001 From: aspangaro Date: Sun, 1 Mar 2015 21:31:03 +0100 Subject: [PATCH 3/5] NEW: Add bank account owner in invoice/proposal/orders footer --- htdocs/core/lib/pdf.lib.php | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/htdocs/core/lib/pdf.lib.php b/htdocs/core/lib/pdf.lib.php index 1c5ae62d014..83a32b8ee8a 100644 --- a/htdocs/core/lib/pdf.lib.php +++ b/htdocs/core/lib/pdf.lib.php @@ -612,12 +612,12 @@ function pdf_bank(&$pdf,$outputlangs,$curx,$cury,$account,$onlynumber=0,$default $pdf->SetXY($curx, $cury); $pdf->MultiCell(100, 3, $outputlangs->transnoentities("BankAccountNumber").': ' . $outputlangs->convToOutputCharset($account->number), 0, 'L', 0); $cury+=3; - + if ($diffsizecontent <= 2) $cury+=1; } $pdf->SetFont('','',$default_font_size - $diffsizecontent); - + if (empty($onlynumber) && ! empty($account->domiciliation)) { $pdf->SetXY($curx, $cury); @@ -628,8 +628,18 @@ function pdf_bank(&$pdf,$outputlangs,$curx,$cury,$account,$onlynumber=0,$default $tmpy=$pdf->getStringHeight(100, $val); $cury+=$tmpy; } + + if (! empty($account->proprio)) + { + $pdf->SetXY($curx, $cury); + $val=$outputlangs->transnoentities("BankAccountOwner").': ' . $outputlangs->convToOutputCharset($account->proprio); + $pdf->MultiCell(100, 3, $val, 0, 'L', 0); + $tmpy=$pdf->getStringHeight(100, $val); + $cury+=$tmpy; + } + else if (! $usedetailedbban) $cury+=1; - + // Use correct name of bank id according to country $ibankey="IBANNumber"; if ($account->getCountryCode() == 'IN') $ibankey="IFSC"; From fdbb0ace8b72f1a31acfdf1c225113fb2f60f92c Mon Sep 17 00:00:00 2001 From: Florian HENRY Date: Wed, 4 Mar 2015 10:00:37 +0100 Subject: [PATCH 4/5] NEW : Add company information into category contact export --- htdocs/core/modules/modCategorie.class.php | 36 ++++++++++++++++++++-- 1 file changed, 33 insertions(+), 3 deletions(-) diff --git a/htdocs/core/modules/modCategorie.class.php b/htdocs/core/modules/modCategorie.class.php index a75e73e6c3d..6da2c9cb5a9 100644 --- a/htdocs/core/modules/modCategorie.class.php +++ b/htdocs/core/modules/modCategorie.class.php @@ -197,14 +197,34 @@ class modCategorie extends DolibarrModules 'p.fax' => 'Fax', 'p.email' => 'Email', 'p.note_private' => 'NotePrivate', - 'p.note_public' => 'NotePublic' + 'p.note_public' => 'NotePublic', + 's.client'=>"Customer", + 's.fournisseur'=>"Supplier", + 's.nom'=>"Name", + 's.status'=>"Status", + 's.address'=>"Address", + 's.zip'=>"Zip", + 's.town'=>"Town", + 's.phone'=>"Phone", + 's.fax'=>"Fax", + 's.url'=>"Url", + 's.email'=>"Email" ); $this->export_TypeFields_array[$r] = array ( 'u.label' => "Text", 'u.description' => "Text", 'p.rowid' => 'List:contact:lastname', 'p.lastname' => 'Text', - 'p.firstname' => 'Text' + 'p.firstname' => 'Text', + 's.nom'=>"Text", + 's.status'=>"Text", + 's.address'=>"Text", + 's.zip'=>"Text", + 's.town'=>"Text", + 's.phone'=>"Text", + 's.fax'=>"Text", + 's.url'=>"Text", + 's.email'=>"Text" ); $this->export_entities_array[$r] = array ( 'u.rowid' => "category", @@ -227,11 +247,21 @@ class modCategorie extends DolibarrModules 'p.fax' => 'contact', 'p.email' => 'contact', 'p.note_private' => 'contact', - 'p.note_public' => 'contact' + 'p.note_public' => 'contact', + 's.nom'=>"company", + 's.status'=>"company", + 's.address'=>"company", + 's.zip'=>"company", + 's.town'=>"company", + 's.phone'=>"company", + 's.fax'=>"company", + 's.url'=>"company", + 's.email'=>"company" ); // We define here only fields that use another picto $this->export_sql_start[$r] = 'SELECT DISTINCT '; $this->export_sql_end[$r] = ' FROM ' . MAIN_DB_PREFIX . 'categorie as u, '.MAIN_DB_PREFIX . 'categorie_contact as cp, '.MAIN_DB_PREFIX . 'socpeople as p'; $this->export_sql_end[$r] .= ' LEFT JOIN ' . MAIN_DB_PREFIX . 'c_country as country ON p.fk_pays = country.rowid'; + $this->export_sql_end[$r] .= ' LEFT JOIN ' . MAIN_DB_PREFIX . 'societe as s ON s.rowid = p.fk_soc'; $this->export_sql_end[$r] .= ' WHERE u.rowid = cp.fk_categorie AND cp.fk_socpeople = p.rowid AND u.entity IN ('.getEntity('category',1).')'; $this->export_sql_end[$r] .= ' AND u.type = 4'; // contact categories From 14847e2b5d7c18c3c64b6d0b98523e044a9a0adf Mon Sep 17 00:00:00 2001 From: Florian HENRY Date: Wed, 4 Mar 2015 10:08:13 +0100 Subject: [PATCH 5/5] Better column order --- htdocs/core/modules/modCategorie.class.php | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/htdocs/core/modules/modCategorie.class.php b/htdocs/core/modules/modCategorie.class.php index 6da2c9cb5a9..3084677c4ef 100644 --- a/htdocs/core/modules/modCategorie.class.php +++ b/htdocs/core/modules/modCategorie.class.php @@ -198,9 +198,9 @@ class modCategorie extends DolibarrModules 'p.email' => 'Email', 'p.note_private' => 'NotePrivate', 'p.note_public' => 'NotePublic', + 's.nom'=>"Name", 's.client'=>"Customer", 's.fournisseur'=>"Supplier", - 's.nom'=>"Name", 's.status'=>"Status", 's.address'=>"Address", 's.zip'=>"Zip", @@ -249,6 +249,8 @@ class modCategorie extends DolibarrModules 'p.note_private' => 'contact', 'p.note_public' => 'contact', 's.nom'=>"company", + 's.client'=>"company", + 's.fournisseur'=>"company", 's.status'=>"company", 's.address'=>"company", 's.zip'=>"company",