Work on ODT generation

This commit is contained in:
Laurent Destailleur 2011-02-20 20:53:26 +00:00
parent 949dbd8dc4
commit 0ebe9c6f01
13 changed files with 39 additions and 25 deletions

View File

@ -673,8 +673,10 @@ class CommonObject
return -1; return -1;
} }
$newmodelpdf=dol_trunc($modelpdf,255);
$sql = "UPDATE ".MAIN_DB_PREFIX.$this->table_element; $sql = "UPDATE ".MAIN_DB_PREFIX.$this->table_element;
$sql.= " SET model_pdf = '".$modelpdf."'"; $sql.= " SET model_pdf = '".$this->db->escape($newmodelpdf)."'";
$sql.= " WHERE rowid = ".$this->id; $sql.= " WHERE rowid = ".$this->id;
// if ($this->element == 'facture') $sql.= " AND fk_statut < 2"; // if ($this->element == 'facture') $sql.= " AND fk_statut < 2";
// if ($this->element == 'propal') $sql.= " AND fk_statut = 0"; // if ($this->element == 'propal') $sql.= " AND fk_statut = 0";

View File

@ -242,15 +242,15 @@ class doc_generic_invoice_odt extends ModelePDFFactures
$outputlangs->load("main"); $outputlangs->load("main");
$outputlangs->load("dict"); $outputlangs->load("dict");
$outputlangs->load("companies"); $outputlangs->load("companies");
$outputlangs->load("projects"); $outputlangs->load("bills");
if ($conf->societe->dir_output) if ($conf->facture->dir_output)
{ {
// If $object is id instead of object // If $object is id instead of object
if (! is_object($object)) if (! is_object($object))
{ {
$id = $object; $id = $object;
$object = new Societe($this->db); $object = new Facture($this->db);
$object->fetch($id); $object->fetch($id);
if ($result < 0) if ($result < 0)
@ -260,8 +260,8 @@ class doc_generic_invoice_odt extends ModelePDFFactures
} }
} }
$objectref = dol_sanitizeFileName($object->id); $objectref = dol_sanitizeFileName($object->ref);
$dir = $conf->societe->dir_output; $dir = $conf->facture->dir_output;
if (! preg_match('/specimen/i',$objectref)) $dir.= "/" . $objectref; if (! preg_match('/specimen/i',$objectref)) $dir.= "/" . $objectref;
$file = $dir . "/" . $objectref . ".odt"; $file = $dir . "/" . $objectref . ".odt";
@ -285,12 +285,12 @@ class doc_generic_invoice_odt extends ModelePDFFactures
//print "file=".$file; //print "file=".$file;
//print "conf->societe->dir_temp=".$conf->societe->dir_temp; //print "conf->societe->dir_temp=".$conf->societe->dir_temp;
create_exdir($conf->societe->dir_temp); create_exdir($conf->facture->dir_temp);
// Open and load template // Open and load template
require_once(DOL_DOCUMENT_ROOT.'/includes/odtphp/odf.php'); require_once(DOL_DOCUMENT_ROOT.'/includes/odtphp/odf.php');
$odfHandler = new odf($srctemplatepath, array( $odfHandler = new odf($srctemplatepath, array(
'PATH_TO_TMP' => $conf->societe->dir_temp, 'PATH_TO_TMP' => $conf->facture->dir_temp,
'ZIP_PROXY' => 'PclZipProxy', // PhpZipProxy or PclZipProxy. Got "bad compression method" error when using PhpZipProxy. 'ZIP_PROXY' => 'PclZipProxy', // PhpZipProxy or PclZipProxy. Got "bad compression method" error when using PhpZipProxy.
'DELIMITER_LEFT' => '{', 'DELIMITER_LEFT' => '{',
'DELIMITER_RIGHT' => '}') 'DELIMITER_RIGHT' => '}')

View File

@ -12,6 +12,18 @@
ALTER TABLE llx_c_actioncomm add COLUMN position integer NOT NULL DEFAULT 0; ALTER TABLE llx_c_actioncomm add COLUMN position integer NOT NULL DEFAULT 0;
ALTER TABLE llx_commande_fournisseur MODIFY model_pdf varchar(255);
ALTER TABLE llx_commande MODIFY model_pdf varchar(255);
ALTER TABLE llx_don MODIFY model_pdf varchar(255);
ALTER TABLE llx_expedition MODIFY model_pdf varchar(255);
ALTER TABLE llx_facture_fourn MODIFY model_pdf varchar(255);
ALTER TABLE llx_facture MODIFY model_pdf varchar(255);
ALTER TABLE llx_fichinter MODIFY model_pdf varchar(255);
ALTER TABLE llx_livraison MODIFY model_pdf varchar(255);
ALTER TABLE llx_projet MODIFY model_pdf varchar(255);
ALTER TABLE llx_propal MODIFY model_pdf varchar(255);
-- Delete old constants -- Delete old constants
DELETE from llx_const where NAME = 'MAIN_MENU_BARRETOP'; DELETE from llx_const where NAME = 'MAIN_MENU_BARRETOP';
DELETE from llx_const where NAME = 'MAIN_MENUFRONT_BARRETOP'; DELETE from llx_const where NAME = 'MAIN_MENUFRONT_BARRETOP';

View File

@ -53,7 +53,7 @@ create table llx_commande
total_ttc double(24,8) default 0, total_ttc double(24,8) default 0,
note text, note text,
note_public text, note_public text,
model_pdf varchar(50), model_pdf varchar(255),
facture tinyint default 0, facture tinyint default 0,
fk_cond_reglement integer, -- condition de reglement fk_cond_reglement integer, -- condition de reglement

View File

@ -49,7 +49,7 @@ create table llx_commande_fournisseur
total_ttc double(24,8) default 0, total_ttc double(24,8) default 0,
note text, note text,
note_public text, note_public text,
model_pdf varchar(50), model_pdf varchar(255),
fk_methode_commande integer default 0 fk_methode_commande integer default 0
)type=innodb; )type=innodb;

View File

@ -45,6 +45,6 @@ create table llx_don
fk_user_valid integer NULL, fk_user_valid integer NULL,
note text, note text,
note_public text, note_public text,
model_pdf varchar(50), model_pdf varchar(255),
import_key varchar(14) import_key varchar(14)
)type=innodb; )type=innodb;

View File

@ -46,6 +46,6 @@ create table llx_expedition
weight_units integer, weight_units integer,
weight integer, weight integer,
note text, note text,
model_pdf varchar(50) model_pdf varchar(255)
)type=innodb; )type=innodb;

View File

@ -68,7 +68,7 @@ create table llx_facture
note text, note text,
note_public text, note_public text,
model_pdf varchar(50), model_pdf varchar(255),
import_key varchar(14) import_key varchar(14)
)type=innodb; )type=innodb;

View File

@ -61,7 +61,7 @@ create table llx_facture_fourn
note text, note text,
note_public text, note_public text,
model_pdf varchar(50), model_pdf varchar(255),
import_key varchar(14) import_key varchar(14)
)type=innodb; )type=innodb;

View File

@ -38,6 +38,6 @@ create table llx_fichinter
description text, description text,
note_private text, note_private text,
note_public text, note_public text,
model_pdf varchar(50) model_pdf varchar(255)
)type=innodb; )type=innodb;

View File

@ -38,6 +38,6 @@ create table llx_livraison
total_ht double(24,8) DEFAULT 0, total_ht double(24,8) DEFAULT 0,
note text, note text,
note_public text, note_public text,
model_pdf varchar(50) model_pdf varchar(255)
)type=innodb; )type=innodb;

View File

@ -36,5 +36,5 @@ create table llx_projet
fk_statut smallint DEFAULT 0 NOT NULL, fk_statut smallint DEFAULT 0 NOT NULL,
note_private text, note_private text,
note_public text, note_public text,
model_pdf varchar(50) model_pdf varchar(255)
)type=innodb; )type=innodb;

View File

@ -57,7 +57,7 @@ create table llx_propal
note text, note text,
note_public text, note_public text,
model_pdf varchar(50), model_pdf varchar(255),
date_livraison date DEFAULT NULL, -- delivery date date_livraison date DEFAULT NULL, -- delivery date
fk_adresse_livraison integer -- delivery address (deprecated) fk_adresse_livraison integer -- delivery address (deprecated)
)type=innodb; )type=innodb;