Skip to content
Snippets Groups Projects
Commit 7d9b5a75 authored by Juanjo Menent's avatar Juanjo Menent
Browse files

[ task #176 ] Allow to use ODT templates for prososal like it's done

for invoices. Move pdf and odt to doc dir
parent 01c64b05
No related branches found
No related tags found
No related merge requests found
......@@ -2,7 +2,7 @@
/* Copyright (C) 2004-2011 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2005-2011 Regis Houssin <regis@dolibarr.fr>
* Copyright (C) 2008 Raphael Bertrand <raphael.bertrand@resultic.fr>
* Copyright (C) 2010-2011 Juanjo Menent <jmenent@2byte.es>
* Copyright (C) 2010-2012 Juanjo Menent <jmenent@2byte.es>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
......@@ -20,7 +20,7 @@
*/
/**
* \file htdocs/core/modules/propale/pdf_propale_azur.modules.php
* \file htdocs/core/modules/propale/pdf_azur.modules.php
* \ingroup propale
* \brief Fichier de la classe permettant de generer les propales au modele Azur
* \author Laurent Destailleur
......@@ -33,10 +33,10 @@ require_once(DOL_DOCUMENT_ROOT.'/core/lib/pdf.lib.php');
/**
* \class pdf_propale_azur
* \class pdf_azur
* \brief Classe permettant de generer les propales au modele Azur
*/
class pdf_propale_azur extends ModelePDFPropales
class pdf_azur extends ModelePDFPropales
{
var $emetteur; // Objet societe qui emet
......@@ -46,7 +46,7 @@ class pdf_propale_azur extends ModelePDFPropales
*
* @param DoliDB $DB Database handler
*/
function pdf_propale_azur($db)
function pdf_azur($db)
{
global $conf,$langs,$mysoc;
......
......@@ -2,7 +2,7 @@
/* Copyright (C) 2004-2011 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2005-2011 Regis Houssin <regis@dolibarr.fr>
* Copyright (C) 2008 Raphael Bertrand <raphael.bertrand@resultic.fr>
* Copyright (C) 2010-2011 Juanjo Menent <jmenent@2byte.es>
* Copyright (C) 2010-2012 Juanjo Menent <jmenent@2byte.es>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
......@@ -20,7 +20,7 @@
*/
/**
* \file htdocs/core/modules/propale/pdf_propale_jaune.modules.php
* \file htdocs/core/modules/propale/pdf_jaune.modules.php
* \ingroup propale
* \brief Fichier de la classe permettant de generer les propales au modele Jaune
* \author Laurent Destailleur
......@@ -33,10 +33,10 @@ require_once(DOL_DOCUMENT_ROOT.'/core/lib/pdf.lib.php');
/**
* \class pdf_propale_jaune
* \class pdf_jaune
* \brief Classe permettant de generer les propales au modele Jaune
*/
class pdf_propale_jaune extends ModelePDFPropales
class pdf_jaune extends ModelePDFPropales
{
var $emetteur; // Objet societe qui emet
......@@ -46,7 +46,7 @@ class pdf_propale_jaune extends ModelePDFPropales
*
* @param DoliDB $DB Database handler
*/
function pdf_propale_jaune($db)
function pdf_jaune($db)
{
global $conf,$langs,$mysoc;
......
......@@ -2,6 +2,7 @@
/* Copyright (C) 2003 Rodolphe Quiedeville <rodolphe@quiedeville.org>
* Copyright (C) 2004-2011 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2005-2011 Regis Houssin <regis@dolibarr.fr>
* Copyright (C) 2012 Juanjo Menent <jmenent@2byte.es>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
......@@ -149,7 +150,6 @@ function propale_pdf_create($db, $object, $modele, $outputlangs, $hidedetails=0,
$dir = "/core/modules/propale/";
$srctemplatepath='';
$modelisok=0;
// Positionne le modele sur le nom du modele a utiliser
if (! dol_strlen($modele))
......@@ -164,6 +164,78 @@ function propale_pdf_create($db, $object, $modele, $outputlangs, $hidedetails=0,
}
}
// If selected modele is a filename template (then $modele="modelname:filename")
$tmp=explode(':',$modele,2);
if (! empty($tmp[1]))
{
$modele=$tmp[0];
$srctemplatepath=$tmp[1];
}
// Search template file
$file=''; $classname=''; $filefound=0;
foreach(array('doc','pdf') as $prefix)
{
$file = $prefix."_".$modele.".modules.php";
// On verifie l'emplacement du modele
$file = dol_buildpath($dir.'doc/'.$file);
if (file_exists($file))
{
$filefound=1;
$classname=$prefix.'_'.$modele;
break;
}
}
// Charge le modele
if ($filefound)
{
require_once($file);
$obj = new $classname($db);
$obj->message = $message;
// We save charset_output to restore it because write_file can change it if needed for
// output format that does not support UTF8.
$sav_charset_output=$outputlangs->charset_output;
if ($obj->write_file($object, $outputlangs, $srctemplatepath, $hidedetails, $hidedesc, $hideref, $hookmanager) > 0)
{
$outputlangs->charset_output=$sav_charset_output;
// We delete old preview
require_once(DOL_DOCUMENT_ROOT."/core/lib/files.lib.php");
dol_delete_preview($object);
// Success in building document. We build meta file.
dol_meta_create($object);
// Appel des triggers
include_once(DOL_DOCUMENT_ROOT . "/core/class/interfaces.class.php");
$interface=new Interfaces($db);
$result=$interface->run_triggers('PROPAL_BUILDDOC',$object,$user,$langs,$conf);
if ($result < 0) { $error++; $this->errors=$interface->errors; }
// Fin appel triggers
return 1;
}
else
{
$outputlangs->charset_output=$sav_charset_output;
dol_print_error($db,"propal_pdf_create Error: ".$obj->error);
return -1;
}
}
else
{
dol_print_error('',$langs->trans("Error")." ".$langs->trans("ErrorFileDoesNotExists",$dir.$file));
return -1;
}
/*
// Positionne modele sur le nom du modele de propale a utiliser
$file = "pdf_propale_".$modele.".modules.php";
......@@ -241,6 +313,7 @@ function propale_pdf_create($db, $object, $modele, $outputlangs, $hidedetails=0,
}
return 0;
}
*/
}
?>
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment