diff --git a/htdocs/admin/commande.php b/htdocs/admin/commande.php
index 9cef57b8b6b..1426897ab62 100644
--- a/htdocs/admin/commande.php
+++ b/htdocs/admin/commande.php
@@ -453,7 +453,10 @@ foreach ($conf->file->dol_document_root as $dirroot)
// Info
$htmltooltip = ''.$langs->trans("Name").': '.$module->name;
$htmltooltip.='
'.$langs->trans("Type").': '.($module->type?$module->type:$langs->trans("Unknown"));
- $htmltooltip.='
'.$langs->trans("Height").'/'.$langs->trans("Width").': '.$module->page_hauteur.'/'.$module->page_largeur;
+ if ($module->type == 'pdf')
+ {
+ $htmltooltip.='
'.$langs->trans("Width").'/'.$langs->trans("Height").': '.$module->page_largeur.'/'.$module->page_hauteur;
+ }
$htmltooltip.='
'.$langs->trans("FeaturesSupported").':';
$htmltooltip.='
'.$langs->trans("Logo").': '.yn($module->option_logo,1,1);
$htmltooltip.='
'.$langs->trans("PaymentMode").': '.yn($module->option_modereg,1,1);
diff --git a/htdocs/admin/dons.php b/htdocs/admin/dons.php
index 4b6ff069653..048a4308b36 100644
--- a/htdocs/admin/dons.php
+++ b/htdocs/admin/dons.php
@@ -248,7 +248,10 @@ if (is_resource($handle))
// Info
$htmltooltip = ''.$langs->trans("Name").': '.$module->name;
$htmltooltip.='
'.$langs->trans("Type").': '.($module->type?$module->type:$langs->trans("Unknown"));
- $htmltooltip.='
'.$langs->trans("Height").'/'.$langs->trans("Width").': '.$module->page_hauteur.'/'.$module->page_largeur;
+ if ($module->type == 'pdf')
+ {
+ $htmltooltip.='
'.$langs->trans("Width").'/'.$langs->trans("Height").': '.$module->page_largeur.'/'.$module->page_hauteur;
+ }
$htmltooltip.='
'.$langs->trans("FeaturesSupported").':';
$htmltooltip.='
'.$langs->trans("Logo").': '.yn($module->option_logo,1,1);
$htmltooltip.='
'.$langs->trans("MultiLanguage").': '.yn($module->option_multilang,1,1);
diff --git a/htdocs/admin/facture.php b/htdocs/admin/facture.php
index 7ecb84f8e8b..5e3d5e5f45d 100644
--- a/htdocs/admin/facture.php
+++ b/htdocs/admin/facture.php
@@ -509,7 +509,7 @@ foreach ($conf->file->dol_document_root as $dirroot)
$htmltooltip.='
'.$langs->trans("Type").': '.($module->type?$module->type:$langs->trans("Unknown"));
if ($module->type == 'pdf')
{
- $htmltooltip.='
'.$langs->trans("Height").'/'.$langs->trans("Width").': '.$module->page_hauteur.'/'.$module->page_largeur;
+ $htmltooltip.='
'.$langs->trans("Width").'/'.$langs->trans("Height").': '.$module->page_largeur.'/'.$module->page_hauteur;
}
$htmltooltip.='
'.$langs->trans("FeaturesSupported").':';
$htmltooltip.='
'.$langs->trans("Logo").': '.yn($module->option_logo,1,1);
diff --git a/htdocs/admin/fournisseur.php b/htdocs/admin/fournisseur.php
index 7cbbd33f194..3b3a3002687 100644
--- a/htdocs/admin/fournisseur.php
+++ b/htdocs/admin/fournisseur.php
@@ -103,7 +103,7 @@ if ($action == 'specimenfacture') // For invoices
$facture = new FactureFournisseur($db);
$facture->initAsSpecimen();
- $facture->thirdparty=$specimenthirdparty;
+ $facture->thirdparty=$specimenthirdparty; // Define who should has build the invoice (so the supplier)
// Charge le modele
$dir = "/includes/modules/supplier_invoice/pdf/";
diff --git a/htdocs/admin/propale.php b/htdocs/admin/propale.php
index 72212a285cc..b8828665e98 100644
--- a/htdocs/admin/propale.php
+++ b/htdocs/admin/propale.php
@@ -474,8 +474,11 @@ foreach ($conf->file->dol_document_root as $dirroot)
// Info
$htmltooltip = ''.$langs->trans("Name").': '.$module->name;
$htmltooltip.='
'.$langs->trans("Type").': '.($module->type?$module->type:$langs->trans("Unknown"));
- $htmltooltip.='
'.$langs->trans("Height").'/'.$langs->trans("Width").': '.$module->page_hauteur.'/'.$module->page_largeur;
- $htmltooltip.='
'.$langs->trans("FeaturesSupported").':';
+ if ($module->type == 'pdf')
+ {
+ $htmltooltip.='
'.$langs->trans("Width").'/'.$langs->trans("Height").': '.$module->page_largeur.'/'.$module->page_hauteur;
+ }
+ $htmltooltip.='
'.$langs->trans("FeaturesSupported").':';
$htmltooltip.='
'.$langs->trans("Logo").': '.yn($module->option_logo,1,1);
$htmltooltip.='
'.$langs->trans("PaymentMode").': '.yn($module->option_modereg,1,1);
$htmltooltip.='
'.$langs->trans("PaymentConditions").': '.yn($module->option_condreg,1,1);
diff --git a/htdocs/comm/propal/class/propal.class.php b/htdocs/comm/propal/class/propal.class.php
index df6d0bde4ce..0d89e763953 100644
--- a/htdocs/comm/propal/class/propal.class.php
+++ b/htdocs/comm/propal/class/propal.class.php
@@ -2162,26 +2162,40 @@ class Propal extends CommonObject
$line->subprice=100;
$line->price=100;
$line->tva_tx=19.6;
- $line->total_ht=100;
- $line->total_ttc=119.6;
- $line->total_tva=19.6;
+ $line->localtax1_tx=0;
+ $line->localtax2_tx=0;
+ if ($xnbp == 2)
+ {
+ $line->total_ht=50;
+ $line->total_ttc=59.8;
+ $line->total_tva=9.8;
+ $line->remise_percent=50;
+ }
+ else
+ {
+ $line->total_ht=100;
+ $line->total_ttc=119.6;
+ $line->total_tva=19.6;
+ $line->remise_percent=00;
+ }
+
$prodid = rand(1, $num_prods);
$line->fk_product=$prodids[$prodid];
$this->lines[$xnbp]=$line;
+ $this->total_ht += $line->total_ht;
+ $this->total_tva += $line->total_tva;
+ $this->total_ttc += $line->total_ttc;
+
$xnbp++;
}
-
- $this->amount_ht = $xnbp*100;
- $this->total_ht = $xnbp*100;
- $this->total_tva = $xnbp*19.6;
- $this->total_ttc = $xnbp*119.6;
}
/**
- * \brief Charge indicateurs this->nb de tableau de bord
- * \return int <0 si ko, >0 si ok
+ * Charge indicateurs this->nb de tableau de bord
+ *
+ * @return int <0 si ko, >0 si ok
*/
function load_state_board()
{
diff --git a/htdocs/commande/class/commande.class.php b/htdocs/commande/class/commande.class.php
index a955fc5034d..f4d0ad24226 100644
--- a/htdocs/commande/class/commande.class.php
+++ b/htdocs/commande/class/commande.class.php
@@ -453,7 +453,7 @@ class Commande extends CommonObject
function cloture($user)
{
global $conf, $langs;
-
+
$error=0;
if ($user->rights->commande->valider)
@@ -2585,7 +2585,7 @@ class Commande extends CommonObject
{
global $user,$langs,$conf;
- dol_syslog("Commande::initAsSpecimen");
+ dol_syslog(get_class($this)."::initAsSpecimen");
// Charge tableau des produits prodids
$prodids = array();
@@ -2630,28 +2630,38 @@ class Commande extends CommonObject
$line->subprice=100;
$line->price=100;
$line->tva_tx=19.6;
- $line->total_ht=100;
- $line->total_ttc=119.6;
- $line->total_tva=19.6;
- $line->remise_percent=0;
+ if ($xnbp == 2)
+ {
+ $line->total_ht=50;
+ $line->total_ttc=59.8;
+ $line->total_tva=9.8;
+ $line->remise_percent=50;
+ }
+ else
+ {
+ $line->total_ht=100;
+ $line->total_ttc=119.6;
+ $line->total_tva=19.6;
+ $line->remise_percent=00;
+ }
$prodid = rand(1, $num_prods);
$line->fk_product=$prodids[$prodid];
$this->lines[$xnbp]=$line;
- $xnbp++;
- }
+ $this->total_ht += $line->total_ht;
+ $this->total_tva += $line->total_tva;
+ $this->total_ttc += $line->total_ttc;
- $this->amount_ht = $xnbp*100;
- $this->total_ht = $xnbp*100;
- $this->total_tva = $xnbp*19.6;
- $this->total_ttc = $xnbp*119.6;
+ $xnbp++;
+ }
}
/**
- * \brief Charge indicateurs this->nb de tableau de bord
- * \return int <0 si ko, >0 si ok
+ * Charge indicateurs this->nb de tableau de bord
+ *
+ * @return int <0 si ko, >0 si ok
*/
function load_state_board()
{
@@ -2811,8 +2821,9 @@ class OrderLine
/**
- * \brief Constructeur d'objets ligne de commande
- * \param DB handler d'acces base de donnee
+ * Constructor
+ *
+ * @param DB handler d'acces base de donnee
*/
function OrderLine($DB)
{
@@ -2820,8 +2831,9 @@ class OrderLine
}
/**
- * \brief Load line order
- * \param rowid id line order
+ * Load line order
+ *
+ * @param rowid id line order
*/
function fetch($rowid)
{
@@ -2882,6 +2894,7 @@ class OrderLine
/**
* Delete line in database
+ *
* @return int <0 si ko, >0 si ok
*/
function delete()
@@ -2912,9 +2925,10 @@ class OrderLine
}
/**
- * \brief Insert line into database
- * \param notrigger 1 = disable triggers
- * \return int <0 if KO, >0 if OK
+ * Insert line into database
+ *
+ * @param notrigger 1 = disable triggers
+ * @return int <0 if KO, >0 if OK
*/
function insert($notrigger=0)
{
@@ -3010,6 +3024,7 @@ class OrderLine
/**
* Mise a jour de l'objet ligne de commande en base
+ *
* @return int <0 si ko, >0 si ok
*/
function update($notrigger=0)
@@ -3090,8 +3105,9 @@ class OrderLine
}
/**
- * \brief Mise a jour de l'objet ligne de commande en base
- * \return int <0 si ko, >0 si ok
+ * Mise a jour de l'objet ligne de commande en base
+ *
+ * @return int <0 si ko, >0 si ok
*/
function update_total()
{
diff --git a/htdocs/compta/facture/class/facture.class.php b/htdocs/compta/facture/class/facture.class.php
index 9037ebb99a6..e9484775062 100644
--- a/htdocs/compta/facture/class/facture.class.php
+++ b/htdocs/compta/facture/class/facture.class.php
@@ -3053,6 +3053,8 @@ class Facture extends CommonObject
{
global $user,$langs,$conf;
+ $now=dol_now();
+
$prodids = array();
$sql = "SELECT rowid";
$sql.= " FROM ".MAIN_DB_PREFIX."product";
@@ -3075,7 +3077,7 @@ class Facture extends CommonObject
$this->ref = 'SPECIMEN';
$this->specimen=1;
$this->socid = 1;
- $this->date = time();
+ $this->date = $now;
$this->date_lim_reglement=$this->date+3600*24*30;
$this->cond_reglement_id = 1;
$this->cond_reglement_code = 'RECEP';
@@ -3096,17 +3098,32 @@ class Facture extends CommonObject
$line->tva_tx=19.6;
$line->localtax1_tx=0;
$line->localtax2_tx=0;
- $line->remise_percent=10;
- $line->total_ht=90;
- $line->total_ttc=107.64; // 90 * 1.196
- $line->total_tva=17.64;
+ if ($xnbp == 2)
+ {
+ $line->total_ht=50;
+ $line->total_ttc=59.8;
+ $line->total_tva=9.8;
+ $line->remise_percent=50;
+ }
+ else
+ {
+ $line->total_ht=100;
+ $line->total_ttc=119.6;
+ $line->total_tva=19.6;
+ $line->remise_percent=00;
+ }
$prodid = rand(1, $num_prods);
$line->fk_product=$prodids[$prodid];
$this->lines[$xnbp]=$line;
+ $this->total_ht += $line->total_ht;
+ $this->total_tva += $line->total_tva;
+ $this->total_ttc += $line->total_ttc;
+
$xnbp++;
}
+
// Add a line "offered"
$line=new FactureLigne($this->db);
$line->desc=$langs->trans("Description")." ".$xnbp;
@@ -3125,17 +3142,14 @@ class Facture extends CommonObject
$this->lines[$xnbp]=$line;
- $xnbp++;
-
- $this->amount_ht = $xnbp*90;
- $this->total_ht = $xnbp*90;
- $this->total_tva = $xnbp*90*0.196;
- $this->total_ttc = $xnbp*90*1.196;
+ $xnbp++;
}
/**
- * \brief Charge indicateurs this->nb de tableau de bord
- * \return int <0 si ko, >0 si ok
+ * Load indicators for dashboard (this->nbtodo and this->nbtodolate)
+ *
+ * @param user Objet user
+ * @return int <0 if KO, >0 if OK
*/
function load_state_board()
{
diff --git a/htdocs/expedition/class/expedition.class.php b/htdocs/expedition/class/expedition.class.php
index 720c8806211..2bf5209fed6 100644
--- a/htdocs/expedition/class/expedition.class.php
+++ b/htdocs/expedition/class/expedition.class.php
@@ -242,7 +242,7 @@ class Expedition extends CommonObject
$result=$interface->run_triggers('SHIPPING_CREATE',$this,$user,$langs,$conf);
if ($result < 0) { $error++; $this->errors=$interface->errors; }
// Fin appel triggers
-
+
$this->db->commit();
return $this->id;
}
@@ -377,7 +377,7 @@ class Expedition extends CommonObject
$file = $conf->expedition->dir_output . "/" .get_exdir($expedition->id,2) . "/" . $this->id.".pdf";
$this->pdf_filename = $file;
-
+
// Tracking url
$this->GetUrlTrackingStatus($obj->tracking_number);
@@ -415,7 +415,7 @@ class Expedition extends CommonObject
function valid($user)
{
global $conf, $langs;
-
+
require_once(DOL_DOCUMENT_ROOT."/lib/files.lib.php");
dol_syslog("Expedition::valid");
@@ -478,7 +478,7 @@ class Expedition extends CommonObject
if (! $error && $conf->stock->enabled && $conf->global->STOCK_CALCULATE_ON_SHIPMENT)
{
require_once DOL_DOCUMENT_ROOT."/product/stock/class/mouvementstock.class.php";
-
+
$langs->load("agenda");
// Loop on each product line to add a stock movement
@@ -760,7 +760,7 @@ class Expedition extends CommonObject
function delete()
{
global $conf, $langs, $user;
-
+
require_once(DOL_DOCUMENT_ROOT."/lib/files.lib.php");
$this->db->begin();
@@ -805,14 +805,14 @@ class Expedition extends CommonObject
}
}
}
-
+
// Call triggers
include_once(DOL_DOCUMENT_ROOT."/core/class/interfaces.class.php");
$interface=new Interfaces($this->db);
$result=$interface->run_triggers('SHIPPING_DELETE',$this,$user,$langs,$conf);
if ($result < 0) { $error++; $this->errors=$interface->errors; }
// End call triggers
-
+
// TODO il faut incrementer le stock si on supprime une expedition validee
return 1;
}
@@ -908,9 +908,9 @@ class Expedition extends CommonObject
global $langs;
$result='';
-
+
$url = DOL_URL_ROOT.'/expedition/fiche.php?id='.$this->id;
-
+
if ($short) return $url;
$linkstart = '';
@@ -979,6 +979,8 @@ class Expedition extends CommonObject
{
global $user,$langs,$conf;
+ $now=dol_now();
+
dol_syslog("Expedition::initAsSpecimen");
// Charge tableau des produits prodids
@@ -1004,14 +1006,16 @@ class Expedition extends CommonObject
// Initialise parametres
$this->id=0;
- $this->ref = 'SPECIMEN';
+ $this->ref = 'SPECIMEN_SHIP';
$this->specimen=1;
$this->statut = 1;
- if ($conf->livraison_bon->enabled)
- {
- $this->livraison_id = 0;
- }
- $this->date = time();
+ $this->livraison_id = 0;
+ $this->date = $now;
+ $this->date_creation = $now;
+ $this->date_valid = $now;
+ $this->date_delivery = $now;
+ $this->date_expedition = $now + 24*3600;
+
$this->entrepot_id = 0;
$this->fk_delivery_address = 0;
$this->socid = 1;
diff --git a/htdocs/fourn/class/fournisseur.commande.class.php b/htdocs/fourn/class/fournisseur.commande.class.php
index dcd8fcd0698..4b08e91e18e 100644
--- a/htdocs/fourn/class/fournisseur.commande.class.php
+++ b/htdocs/fourn/class/fournisseur.commande.class.php
@@ -1670,6 +1670,8 @@ class CommandeFournisseur extends Commande
dol_syslog("CommandeFournisseur::initAsSpecimen");
+ $now=dol_now();
+
// Charge tableau des produits prodids
$prodids = array();
@@ -1695,8 +1697,8 @@ class CommandeFournisseur extends Commande
$this->ref = 'SPECIMEN';
$this->specimen=1;
$this->socid = 1;
- $this->date = time();
- $this->date_commande = time();
+ $this->date = $now;
+ $this->date_commande = $now;
$this->date_lim_reglement=$this->date+3600*24*30;
$this->cond_reglement_code = 'RECEP';
$this->mode_reglement_code = 'CHQ';
@@ -1715,27 +1717,37 @@ class CommandeFournisseur extends Commande
$line->tva_tx=19.6;
$line->localtax1_tx=0;
$line->localtax2_tx=0;
- $line->remise_percent=10;
- $line->total_ht=90;
- $line->total_ttc=107.64; // 90 * 1.196
- $line->total_tva=17.64;
+ if ($xnbp == 2)
+ {
+ $line->total_ht=50;
+ $line->total_ttc=59.8;
+ $line->total_tva=9.8;
+ $line->remise_percent=50;
+ }
+ else
+ {
+ $line->total_ht=100;
+ $line->total_ttc=119.6;
+ $line->total_tva=19.6;
+ $line->remise_percent=00;
+ }
$line->ref_fourn='SUPPLIER_REF_'.$xnbp;
$prodid = rand(1, $num_prods);
$line->fk_product=$prodids[$prodid];
$this->lines[$xnbp]=$line;
+ $this->total_ht += $line->total_ht;
+ $this->total_tva += $line->total_tva;
+ $this->total_ttc += $line->total_ttc;
+
$xnbp++;
}
-
- $this->amount_ht = $xnbp*100;
- $this->total_ht = $xnbp*100;
- $this->total_tva = $xnbp*19.6;
- $this->total_ttc = $xnbp*119.6;
}
/**
* Load indicators for dashboard (this->nbtodo and this->nbtodolate)
+ *
* @param user Objet user
* @return int <0 if KO, >0 if OK
*/
diff --git a/htdocs/fourn/class/fournisseur.facture.class.php b/htdocs/fourn/class/fournisseur.facture.class.php
index 34e68097dde..4e926f6f367 100644
--- a/htdocs/fourn/class/fournisseur.facture.class.php
+++ b/htdocs/fourn/class/fournisseur.facture.class.php
@@ -1231,6 +1231,7 @@ class FactureFournisseur extends Facture
// Initialise parametres
$this->id=0;
$this->ref = 'SPECIMEN';
+ $this->ref_supplier = 'SUPPLIER_REF_SPECIMEN';
$this->specimen=1;
$this->socid = 1;
$this->date = $now;
@@ -1252,15 +1253,31 @@ class FactureFournisseur extends Facture
$line->tva_tx=19.6;
$line->localtax1_tx=0;
$line->localtax2_tx=0;
- $line->remise_percent=10;
- $line->total_ht=90;
- $line->total_ttc=107.64; // 90 * 1.196
- $line->total_tva=17.64;
- $prodid = rand(1, $num_prods);
+ if ($xnbp == 2)
+ {
+ $line->total_ht=50;
+ $line->total_ttc=59.8;
+ $line->total_tva=9.8;
+ $line->remise_percent=50;
+ }
+ else
+ {
+ $line->total_ht=100;
+ $line->total_ttc=119.6;
+ $line->total_tva=19.6;
+ $line->remise_percent=00;
+ }
+
+ $prodid = rand(1, $num_prods);
$line->fk_product=$prodids[$prodid];
$line->product_type=0;
$this->lines[$xnbp]=$line;
+
+ $this->total_ht += $line->total_ht;
+ $this->total_tva += $line->total_tva;
+ $this->total_ttc += $line->total_ttc;
+
$xnbp++;
}
diff --git a/htdocs/includes/modules/action/rapport.pdf.php b/htdocs/includes/modules/action/rapport.pdf.php
index 89ddb45cb20..0286c57f4a8 100644
--- a/htdocs/includes/modules/action/rapport.pdf.php
+++ b/htdocs/includes/modules/action/rapport.pdf.php
@@ -224,10 +224,11 @@ class CommActionRapport
}
/**
- * \brief Affiche en-tete facture
- * \param pdf Objet PDF
- * \param outputlang Objet lang cible
- * \param pagenb Page nb
+ * Show page head
+ *
+ * @param pdf Objet PDF
+ * @param outputlang Objet lang cible
+ * @param pagenb Page nb
*/
function _pagehead(&$pdf, $outputlangs, $pagenb)
{
@@ -243,8 +244,12 @@ class CommActionRapport
$pdf->SetFont('','B',10);
$pdf->SetXY($this->marge_gauche, $this->marge_haute);
$pdf->MultiCell(120, 1, $outputlangs->convToOutputCharset($this->title), 0, 'L', 0);
- $pdf->SetXY($this->page_largeur-$this->marge_droite-40, $this->marge_haute);
- $pdf->MultiCell(40, 1, $pagenb.'/{nb}', 0, 'R', 0);
+ // Show page nb only on iso languages (so default Helvetica font)
+ if (pdf_getPDFFont($outputlangs) == 'Helvetica')
+ {
+ $pdf->SetXY($this->page_largeur-$this->marge_droite-40, $this->marge_haute);
+ $pdf->MultiCell(40, 1, $pagenb.'/'.$pdf->getAliasNbPages(), 0, 'R', 0);
+ }
$y=$pdf->GetY()+2;
diff --git a/htdocs/includes/modules/cheque/pdf/pdf_blochet.class.php b/htdocs/includes/modules/cheque/pdf/pdf_blochet.class.php
index c9b064ce775..77f1f65b041 100644
--- a/htdocs/includes/modules/cheque/pdf/pdf_blochet.class.php
+++ b/htdocs/includes/modules/cheque/pdf/pdf_blochet.class.php
@@ -378,8 +378,12 @@ class BordereauChequeBlochet extends ModeleChequeReceipts
$pdf->MultiCell(200, 2, $line2, 0, 'C', 0);
}
- $pdf->SetXY(-20,-$posy);
- $pdf->MultiCell(11, 2, $pdf->PageNo().'/{nb}', 0, 'R', 0);
+ // Show page nb only on iso languages (so default Helvetica font)
+ if (pdf_getPDFFont($outputlangs) == 'Helvetica')
+ {
+ $pdf->SetXY(-20,-$posy);
+ $pdf->MultiCell(11, 2, $pdf->PageNo().'/'.$pdf->getAliasNbPages(), 0, 'R', 0);
+ }
}
}
diff --git a/htdocs/includes/modules/expedition/pdf/pdf_expedition_merou.modules.php b/htdocs/includes/modules/expedition/pdf/pdf_expedition_merou.modules.php
index 8cc1dc300c8..4ef09ad9bcb 100644
--- a/htdocs/includes/modules/expedition/pdf/pdf_expedition_merou.modules.php
+++ b/htdocs/includes/modules/expedition/pdf/pdf_expedition_merou.modules.php
@@ -54,9 +54,13 @@ Class pdf_expedition_merou extends ModelePdfExpedition
$this->type = 'pdf';
$formatarray=pdf_getFormat();
- $this->page_largeur = round($formatarray['height']/2);
- $this->page_hauteur = $formatarray['width'];
+ $this->page_largeur = $formatarray['width'];
+ $this->page_hauteur = round($formatarray['height']/2);
$this->format = array($this->page_largeur,$this->page_hauteur);
+ $this->marge_gauche=10;
+ $this->marge_droite=10;
+ $this->marge_haute=10;
+ $this->marge_basse=10;
$this->option_logo = 1; // Affiche logo
@@ -162,7 +166,7 @@ Class pdf_expedition_merou extends ModelePdfExpedition
$pdf->SetKeyWords($outputlangs->convToOutputCharset($object->ref)." ".$outputlangs->transnoentities("Sending"));
if ($conf->global->MAIN_DISABLE_PDF_COMPRESSION) $pdf->SetCompression(false);
- $pdf->SetMargins(10, 10, 10);
+ $pdf->SetMargins($this->marge_gauche, $this->marge_haute, $this->marge_droite); // Left, Top, Right
$pdf->SetAutoPageBreak(1,0);
$pdf->SetFont('','', $default_font_size - 3);
@@ -177,11 +181,11 @@ Class pdf_expedition_merou extends ModelePdfExpedition
//Initialisation des coordonnees
$tab_top = 53;
- $tab_height = 70;
+ $tab_height = $this->page_hauteur - 78;
$pdf->SetFillColor(240,240,240);
$pdf->SetTextColor(0,0,0);
$pdf->SetFont('','', $default_font_size - 3);
- $pdf->SetXY (10, $tab_top + 5 );
+ $pdf->SetXY(10, $tab_top + 5);
$iniY = $pdf->GetY();
$curY = $pdf->GetY();
$nexY = $pdf->GetY();
@@ -295,10 +299,11 @@ Class pdf_expedition_merou extends ModelePdfExpedition
}
/**
- * \brief Show footer of page
- * \param pdf PDF factory
- * \param object Object invoice
- * \param outputlangs Object lang for output
+ * Show footer of page
+ *
+ * @param pdf PDF factory
+ * @param object Object invoice
+ * @param outputlangs Object lang for output
*/
function _pagefoot(&$pdf, $object, $outputlangs)
{
@@ -310,8 +315,13 @@ Class pdf_expedition_merou extends ModelePdfExpedition
$pdf->MultiCell(100, 3, $outputlangs->transnoentities("ToAndDate") , 0, 'C');
$pdf->SetXY(120,-23);
$pdf->MultiCell(100, 3, $outputlangs->transnoentities("NameAndSignature") , 0, 'C');
- $pdf->SetXY(-10,-10);
- $pdf->MultiCell(10, 3, $pdf->PageNo().'/{nb}', 0, 'R');
+
+ // Show page nb only on iso languages (so default Helvetica font)
+ //if (pdf_getPDFFont($outputlangs) == 'Helvetica')
+ //{
+ // $pdf->SetXY(-10,-10);
+ // $pdf->MultiCell(11, 2, $pdf->PageNo().'/'.$pdf->getAliasNbPages(), 0, 'R', 0);
+ //}
}
diff --git a/htdocs/includes/modules/expedition/pdf/pdf_expedition_rouget.modules.php b/htdocs/includes/modules/expedition/pdf/pdf_expedition_rouget.modules.php
index a33d0b20874..4abdd943df8 100644
--- a/htdocs/includes/modules/expedition/pdf/pdf_expedition_rouget.modules.php
+++ b/htdocs/includes/modules/expedition/pdf/pdf_expedition_rouget.modules.php
@@ -292,6 +292,7 @@ Class pdf_expedition_rouget extends ModelePdfExpedition
/**
* Show header of document
+ *
* @param pdf Object PDF
* @param object Object commercial proposal
* @param showaddress 0=no, 1=yes
@@ -371,36 +372,36 @@ Class pdf_expedition_rouget extends ModelePdfExpedition
$posx=100;
$posy=$this->marge_haute;
- $pdf->SetFont('','B', $default_font_size + 3);
+ $pdf->SetFont('','B', $default_font_size + 2);
$pdf->SetXY($posx,$posy);
$pdf->SetTextColor(0,0,60);
$title=$outputlangs->transnoentities("SendingSheet");
$pdf->MultiCell(100, 4, $title, '' , 'R');
$posy+=1;
- $pdf->SetFont('','', $default_font_size + 2);
+ $pdf->SetFont('','', $default_font_size + 1);
- $posy+=5;
+ $posy+=4;
$pdf->SetXY($posx,$posy);
$pdf->SetTextColor(0,0,60);
$pdf->MultiCell(100, 4, $outputlangs->transnoentities("RefSending") ." : ".$object->ref, '', 'R');
//Date Expedition
- $posy+=5;
+ $posy+=4;
$pdf->SetXY($posx,$posy);
$pdf->SetTextColor(0,0,60);
- $pdf->MultiCell(100, 4, $outputlangs->transnoentities("Date")." : ".dol_print_date($object->date_delivery,"%d %b %Y",false,$outputlangs,true), '', 'R');
+ $pdf->MultiCell(100, 4, $outputlangs->transnoentities("Date")." : ".dol_print_date($object->date_creation,"daytext",false,$outputlangs,true), '', 'R');
if (! empty($object->client->code_client))
{
- $posy+=5;
+ $posy+=4;
$pdf->SetXY($posx,$posy);
$pdf->SetTextColor(0,0,60);
$pdf->MultiCell(100, 3, $outputlangs->transnoentities("CustomerCode")." : " . $outputlangs->transnoentities($object->client->code_client), '', 'R');
}
- $pdf->SetFont('','', $default_font_size + 4);
+ $pdf->SetFont('','', $default_font_size + 3);
$Yoff=25;
// Add list of linked orders
@@ -428,7 +429,7 @@ Class pdf_expedition_rouget extends ModelePdfExpedition
$pdf->MultiCell(60, 2, $outputlangs->transnoentities("RefOrder") ." : ".$outputlangs->transnoentities($text), 0, 'R');
$Yoff = $Yoff+4;
$pdf->SetXY($this->page_largeur - $this->marge_droite - 60,$Yoff);
- $pdf->MultiCell(60, 2, $outputlangs->transnoentities("Date")." : ".dol_print_date($object->commande->date,"%d %b %Y",false,$outputlangs,true), 0, 'R');
+ $pdf->MultiCell(60, 2, $outputlangs->transnoentities("Date")." : ".dol_print_date($object->commande->date,"daytext",false,$outputlangs,true), 0, 'R');
}
}
diff --git a/htdocs/includes/modules/facture/doc/pdf_oursin.modules.php b/htdocs/includes/modules/facture/doc/pdf_oursin.modules.php
index 185b758bc4d..520d032c2a1 100755
--- a/htdocs/includes/modules/facture/doc/pdf_oursin.modules.php
+++ b/htdocs/includes/modules/facture/doc/pdf_oursin.modules.php
@@ -48,8 +48,9 @@ class pdf_oursin extends ModelePDFFactures
/**
- * \brief Constructeur
- * \param db Database handler
+ * Constructor
+ *
+ * @param DoliDB $db Handler access data base
*/
function pdf_oursin($db)
{
diff --git a/htdocs/includes/modules/propale/pdf_propale_jaune.modules.php b/htdocs/includes/modules/propale/pdf_propale_jaune.modules.php
index 37e9f39b681..8676356106b 100644
--- a/htdocs/includes/modules/propale/pdf_propale_jaune.modules.php
+++ b/htdocs/includes/modules/propale/pdf_propale_jaune.modules.php
@@ -43,8 +43,8 @@ class pdf_propale_jaune extends ModelePDFPropales
/**
* Constructor
- *
- * @param db Database access handler
+ *
+ * @param DoliDB $db Handler access data base
*/
function pdf_propale_jaune($db)
{
diff --git a/htdocs/includes/modules/supplier_invoice/pdf/pdf_canelle.modules.php b/htdocs/includes/modules/supplier_invoice/pdf/pdf_canelle.modules.php
index 8633b85271c..f640f3c6f90 100755
--- a/htdocs/includes/modules/supplier_invoice/pdf/pdf_canelle.modules.php
+++ b/htdocs/includes/modules/supplier_invoice/pdf/pdf_canelle.modules.php
@@ -36,10 +36,29 @@ require_once(DOL_DOCUMENT_ROOT.'/lib/pdf.lib.php');
*/
class pdf_canelle extends ModelePDFSuppliersInvoices
{
+ var $db;
+ var $name;
+ var $description;
+ var $type;
+
+ var $phpmin = array(4,3,0); // Minimum version of PHP required by module
+ var $version = 'dolibarr';
+
+ var $page_largeur;
+ var $page_hauteur;
+ var $format;
+ var $marge_gauche;
+ var $marge_droite;
+ var $marge_haute;
+ var $marge_basse;
+
+ var $emetteur; // Objet societe qui emet
+
/**
- * \brief Constructor
- * \param db Handler access data base
+ * Constructor
+ *
+ * @param DoliDB $db Handler access data base
*/
function pdf_canelle($db,$object)
{
@@ -768,49 +787,45 @@ class pdf_canelle extends ModelePDFSuppliersInvoices
if ($showaddress)
{
- // Receive email
- $posy=42;
- $hautcadre=40;
- $pdf->SetTextColor(0,0,0);
- $pdf->SetFont('','', $default_font_size - 2);
- $pdf->SetXY($this->marge_gauche,$posy-5);
- $pdf->MultiCell(66,5, $outputlangs->transnoentities("BillTo").":",0,"L");
-
-
- $pdf->SetXY($this->marge_gauche,$posy);
- $pdf->SetFillColor(230,230,230);
- $pdf->MultiCell(82, $hautcadre, "", 0, 'R', 1);
-
-
-
- // Nom emetteur
- $carac_emetteur_name=$outputlangs->convToOutputCharset($mysoc->name);
- $pdf->SetTextColor(0,0,60);
- $pdf->SetFont('','B', $default_font_size);
- $pdf->SetXY($this->marge_gauche+2,$posy+3);
- $pdf->MultiCell(80, 4, $carac_emetteur_name, 0, 'L');
-
// Sender properties
- $carac_emetteur = pdf_build_address($outputlangs,$mysoc);
+ $carac_emetteur = pdf_build_address($outputlangs,$this->emetteur);
- $pdf->SetFont('','', $default_font_size - 1);
- $pdf->SetXY($this->marge_gauche+2,$posy+8);
- $pdf->MultiCell(80, 4, $carac_emetteur, 0, 'L');
-
- // Client destinataire
+ // Show sender
$posy=42;
+ $posx=$this->marge_gauche;
+ if (! empty($conf->global->MAIN_INVERT_SENDER_RECIPIENT)) $posx=$this->page_largeur-$this->marge_droite-80;
+ $hautcadre=40;
+
+ // Show sender frame
$pdf->SetTextColor(0,0,0);
$pdf->SetFont('','', $default_font_size - 2);
$pdf->SetXY($posx,$posy-5);
- $pdf->MultiCell(100, 4, $outputlangs->transnoentities("Supplier").":");
- //
- $client = new Societe($this->db);
- $client->fetch($object->socid);
- $object->client = $client;
- //
+ $pdf->MultiCell(66,5, $outputlangs->transnoentities("BillFrom").":", 0, 'L');
+ $pdf->SetXY($posx,$posy);
+ $pdf->SetFillColor(230,230,230);
+ $pdf->MultiCell(82, $hautcadre, "", 0, 'R', 1);
+ $pdf->SetTextColor(0,0,60);
- // Cadre client destinataire
- $pdf->rect(100, $posy, 100, $hautcadre);
+ // Show sender name
+ $pdf->SetXY($posx+2,$posy+3);
+ $pdf->SetFont('','B', $default_font_size);
+ $pdf->MultiCell(80, 4, $outputlangs->convToOutputCharset($this->emetteur->name), 0, 'L');
+
+ // Show sender information
+ $pdf->SetXY($posx+2,$posy+8);
+ $pdf->SetFont('','', $default_font_size - 1);
+ $pdf->MultiCell(80, 4, $carac_emetteur, 0, 'L');
+
+
+
+ // If BILLING contact defined on invoice, we use it
+ $usecontact=false;
+ $arrayidcontact=$object->getIdContact('external','BILLING');
+ if (sizeof($arrayidcontact) > 0)
+ {
+ $usecontact=true;
+ $result=$object->fetch_contact($arrayidcontact[0]);
+ }
// Recipient name
if (! empty($usecontact))
@@ -827,14 +842,27 @@ class pdf_canelle extends ModelePDFSuppliersInvoices
$carac_client=pdf_build_address($outputlangs,$this->emetteur,$object->client,$object->contact,$usecontact,'target');
- // Show customer/recipient
- $pdf->SetXY(102,$posy+3);
+ // Show recipient
+ $posy=42;
+ $posx=$this->page_largeur-$this->marge_droite-100;
+ if (! empty($conf->global->MAIN_INVERT_SENDER_RECIPIENT)) $posx=$this->marge_gauche;
+
+ // Show recipient frame
+ $pdf->SetTextColor(0,0,0);
+ $pdf->SetFont('','', $default_font_size - 2);
+ $pdf->SetXY($posx+2,$posy-5);
+ $pdf->MultiCell(80,5, $outputlangs->transnoentities("BillTo").":",0,'L');
+ $pdf->rect($posx, $posy, 100, $hautcadre);
+
+ // Show recipient name
+ $pdf->SetXY($posx+2,$posy+3);
$pdf->SetFont('','B', $default_font_size);
$pdf->MultiCell(96,4, $carac_client_name, 0, 'L');
+ // Show recipient information
$pdf->SetFont('','', $default_font_size - 1);
- $pdf->SetXY(102,$posy+8);
- $pdf->MultiCell(96,4, $carac_client, 0, 'L');
+ $pdf->SetXY($posx+2,$posy+8);
+ $pdf->MultiCell(86,4, $carac_client, 0, 'L');
}
}
diff --git a/htdocs/includes/modules/supplier_order/pdf/pdf_muscadet.modules.php b/htdocs/includes/modules/supplier_order/pdf/pdf_muscadet.modules.php
index 75e7a7ef549..bfc6ca8a4a3 100644
--- a/htdocs/includes/modules/supplier_order/pdf/pdf_muscadet.modules.php
+++ b/htdocs/includes/modules/supplier_order/pdf/pdf_muscadet.modules.php
@@ -38,10 +38,29 @@ require_once(DOL_DOCUMENT_ROOT.'/lib/pdf.lib.php');
*/
class pdf_muscadet extends ModelePDFSuppliersOrders
{
+ var $db;
+ var $name;
+ var $description;
+ var $type;
+
+ var $phpmin = array(4,3,0); // Minimum version of PHP required by module
+ var $version = 'dolibarr';
+
+ var $page_largeur;
+ var $page_hauteur;
+ var $format;
+ var $marge_gauche;
+ var $marge_droite;
+ var $marge_haute;
+ var $marge_basse;
+
+ var $emetteur; // Objet societe qui emet
+
/**
- * \brief Constructeur
- * \param db Handler acces base de donnee
+ * Constructor
+ *
+ * @param DoliDB $db Handler access data base
*/
function pdf_muscadet($db)
{
@@ -96,6 +115,7 @@ class pdf_muscadet extends ModelePDFSuppliersOrders
/**
* Write the order as a document onto disk
+ *
* @param object Object invoice to build (or id if old method)
* @param outputlangs Lang object for output language
* @return int 1=OK, 0=KO
@@ -698,49 +718,45 @@ class pdf_muscadet extends ModelePDFSuppliersOrders
if ($showaddress)
{
- // Show sender address
- $posy=42;
- $hautcadre=40;
- $pdf->SetTextColor(0,0,0);
- $pdf->SetFont('','', $default_font_size - 2);
- $pdf->SetXY($this->marge_gauche,$posy-5);
- $pdf->MultiCell(66,5, $outputlangs->transnoentities("BillTo").":",0,'L');
-
-
- $pdf->SetXY($this->marge_gauche,$posy);
- $pdf->SetFillColor(230,230,230);
- $pdf->MultiCell(82, $hautcadre, "", 0, 'R', 1);
-
-
-
- // Nom emetteur
- $carac_emetteur_name=$outputlangs->convToOutputCharset($mysoc->name);
- $pdf->SetTextColor(0,0,60);
- $pdf->SetFont('','B', $default_font_size);
- $pdf->SetXY($this->marge_gauche+2,$posy+3);
- $pdf->MultiCell(80, 4, $carac_emetteur_name, 0, 'L');
-
// Sender properties
- $carac_emetteur = pdf_build_address($outputlangs,$mysoc);
+ $carac_emetteur = pdf_build_address($outputlangs,$this->emetteur);
- $pdf->SetFont('','', $default_font_size - 1);
- $pdf->SetXY($this->marge_gauche+2,$posy+8);
- $pdf->MultiCell(80, 4, $carac_emetteur, 0, 'L');
-
- // Client destinataire
+ // Show sender
$posy=42;
+ $posx=$this->marge_gauche;
+ if (! empty($conf->global->MAIN_INVERT_SENDER_RECIPIENT)) $posx=$this->page_largeur-$this->marge_droite-80;
+ $hautcadre=40;
+
+ // Show sender frame
$pdf->SetTextColor(0,0,0);
$pdf->SetFont('','', $default_font_size - 2);
$pdf->SetXY($posx,$posy-5);
- $pdf->MultiCell(96, 4, $outputlangs->transnoentities("Supplier").":");
- //
- $client = new Societe($this->db);
- $client->fetch($object->socid);
- $object->client = $client;
- //
+ $pdf->MultiCell(66,5, $outputlangs->transnoentities("BillFrom").":", 0, 'L');
+ $pdf->SetXY($posx,$posy);
+ $pdf->SetFillColor(230,230,230);
+ $pdf->MultiCell(82, $hautcadre, "", 0, 'R', 1);
+ $pdf->SetTextColor(0,0,60);
- // Cadre client destinataire
- $pdf->rect(100, $posy, 100, $hautcadre);
+ // Show sender name
+ $pdf->SetXY($posx+2,$posy+3);
+ $pdf->SetFont('','B', $default_font_size);
+ $pdf->MultiCell(80, 4, $outputlangs->convToOutputCharset($this->emetteur->name), 0, 'L');
+
+ // Show sender information
+ $pdf->SetXY($posx+2,$posy+8);
+ $pdf->SetFont('','', $default_font_size - 1);
+ $pdf->MultiCell(80, 4, $carac_emetteur, 0, 'L');
+
+
+
+ // If BILLING contact defined on invoice, we use it
+ $usecontact=false;
+ $arrayidcontact=$object->getIdContact('external','BILLING');
+ if (sizeof($arrayidcontact) > 0)
+ {
+ $usecontact=true;
+ $result=$object->fetch_contact($arrayidcontact[0]);
+ }
// Recipient name
if (! empty($usecontact))
@@ -757,14 +773,27 @@ class pdf_muscadet extends ModelePDFSuppliersOrders
$carac_client=pdf_build_address($outputlangs,$this->emetteur,$object->client,$object->contact,$usecontact,'target');
- // Show customer/recipient
- $pdf->SetXY(102,$posy+3);
+ // Show recipient
+ $posy=42;
+ $posx=$this->page_largeur-$this->marge_droite-100;
+ if (! empty($conf->global->MAIN_INVERT_SENDER_RECIPIENT)) $posx=$this->marge_gauche;
+
+ // Show recipient frame
+ $pdf->SetTextColor(0,0,0);
+ $pdf->SetFont('','', $default_font_size - 2);
+ $pdf->SetXY($posx+2,$posy-5);
+ $pdf->MultiCell(80,5, $outputlangs->transnoentities("BillTo").":",0,'L');
+ $pdf->rect($posx, $posy, 100, $hautcadre);
+
+ // Show recipient name
+ $pdf->SetXY($posx+2,$posy+3);
$pdf->SetFont('','B', $default_font_size);
$pdf->MultiCell(96,4, $carac_client_name, 0, 'L');
+ // Show recipient information
$pdf->SetFont('','', $default_font_size - 1);
- $pdf->SetXY(102,$posy+8);
- $pdf->MultiCell(96,4, $carac_client, 0, 'L');
+ $pdf->SetXY($posx+2,$posy+8);
+ $pdf->MultiCell(86,4, $carac_client, 0, 'L');
}
}
diff --git a/htdocs/lib/pdf.lib.php b/htdocs/lib/pdf.lib.php
index a8f5a3fcb9f..401568c7e56 100644
--- a/htdocs/lib/pdf.lib.php
+++ b/htdocs/lib/pdf.lib.php
@@ -78,9 +78,9 @@ function pdf_getInstance($format='',$metric='mm',$pagetype='P')
// We need to instantiate fpdi object (instead of tcpdf) to use merging features. But we can disable it.
if (empty($conf->global->MAIN_DISABLE_FPDI)) require_once(FPDFI_PATH.'fpdi.php');
- $arrayformat=pdf_getFormat();
- $format=array($arrayformat['width'],$arrayformat['height']);
- $metric=$arrayformat['unit'];
+ //$arrayformat=pdf_getFormat();
+ //$format=array($arrayformat['width'],$arrayformat['height']);
+ //$metric=$arrayformat['unit'];
// Protection et encryption du pdf
if ($conf->global->PDF_SECURITY_ENCRYPTION)
diff --git a/htdocs/livraison/class/livraison.class.php b/htdocs/livraison/class/livraison.class.php
index 47c843fb259..268fe4c7c3b 100644
--- a/htdocs/livraison/class/livraison.class.php
+++ b/htdocs/livraison/class/livraison.class.php
@@ -398,7 +398,7 @@ class Livraison extends CommonObject
}
}
}
-
+
// Set new ref and current status
if (! $error)
{
@@ -717,6 +717,8 @@ class Livraison extends CommonObject
{
global $user,$langs,$conf;
+ $now=dol_now();
+
// Charge tableau des produits prodids
$prodids = array();
$sql = "SELECT rowid";
@@ -738,10 +740,10 @@ class Livraison extends CommonObject
// Initialise parametres
$this->id=0;
- $this->ref = 'SPECIMEN';
+ $this->ref = 'SPECIMEN_RECEIPT';
$this->specimen=1;
$this->socid = 1;
- $this->date_delivery = time();
+ $this->date_delivery = $now;
$this->note_public='SPECIMEN';
$i=0;
diff --git a/htdocs/societe/class/societe.class.php b/htdocs/societe/class/societe.class.php
index 1ccdaf0a0fb..348d1d3255d 100644
--- a/htdocs/societe/class/societe.class.php
+++ b/htdocs/societe/class/societe.class.php
@@ -2492,9 +2492,13 @@ class Societe extends CommonObject
$this->nom = $this->name; // For backward compatibility
$this->specimen=1;
$this->cp='99999';
+ $this->zip='99999';
$this->ville='MyTown';
+ $this->town='MyTown';
$this->pays_id=1;
+ $this->country_id=1;
$this->pays_code='FR';
+ $this->country_code='FR';
$this->code_client='CC-'.dol_print_date($now,'dayhourlog');
$this->code_fournisseur='SC-'.dol_print_date($now,'dayhourlog');