diff --git a/htdocs/admin/facture.php b/htdocs/admin/facture.php
index d5de853df5a..4898730629a 100644
--- a/htdocs/admin/facture.php
+++ b/htdocs/admin/facture.php
@@ -46,6 +46,7 @@ $dir = DOL_DOCUMENT_ROOT."/includes/modules/facture/";
/*
* Actions
*/
+
if ($_POST["action"] == 'updateMask')
{
$maskconstinvoice=$_POST['maskconstinvoice'];
@@ -91,6 +92,20 @@ if ($_GET["action"] == 'specimen')
}
}
+// define constants for models generator that need parameters
+if ($_POST["action"] == 'setModuleOptions')
+{
+ for($i=0;$i < count($_POST);$i++)
+ {
+ if (array_key_exists('param'.$i,$_POST))
+ {
+ $param=$_POST["param".$i];
+ $value=$_POST["value".$i];
+ if ($param) dolibarr_set_const($db,$param,$value,'chaine',0,'',$conf->entity);
+ }
+ }
+}
+
if ($_GET["action"] == 'set')
{
$type='invoice';
@@ -395,19 +410,20 @@ foreach ($conf->file->dol_document_root as $dirroot)
{
while (($file = readdir($handle))!==false)
{
- if (preg_match('/\.modules\.php$/i',$file) && substr($file,0,4) == 'pdf_')
+ if (preg_match('/\.modules\.php$/i',$file) && preg_match('/^(pdf_|doc_)/',$file))
{
$var = !$var;
$name = substr($file, 4, strlen($file) -16);
$classname = substr($file, 0, strlen($file) -12);
- print '
| ';
- echo "$name";
- print " | \n";
-
require_once($dir.$file);
$module = new $classname($db);
- print $module->description;
+
+ print ' |
| ';
+ print (empty($module->name)?$name:$module->name);
+ print " | \n";
+ if (method_exists($module,'info')) print $module->info($langs);
+ else print $module->description;
print ' | ';
// Active
@@ -489,9 +505,10 @@ print '';
print '\n";
+dol_fiche_end();
$db->close();
diff --git a/htdocs/includes/modules/modFacture.class.php b/htdocs/includes/modules/modFacture.class.php
index 9ff2d92c797..77553c1ae32 100644
--- a/htdocs/includes/modules/modFacture.class.php
+++ b/htdocs/includes/modules/modFacture.class.php
@@ -235,6 +235,11 @@ class modFacture extends DolibarrModules
*/
function remove()
{
+ require_once(DOL_DOCUMENT_ROOT.'/lib/files.lib.php');
+ $dirodt=DOL_DATA_ROOT.'/doctemplates/invoices';
+ create_exdir($dirodt);
+ dol_copy(DOL_DOCUMENT_ROOT.'/install/doctemplates/invoices/template_invoice.odt',$dirodt.'/template_invoice.odt',0,0);
+
$sql = array();
return $this->_remove($sql);
diff --git a/htdocs/includes/modules/societe/doc/doc_generic_odt.modules.php b/htdocs/includes/modules/societe/doc/doc_generic_odt.modules.php
index 0f632de5e18..17c0169986c 100644
--- a/htdocs/includes/modules/societe/doc/doc_generic_odt.modules.php
+++ b/htdocs/includes/modules/societe/doc/doc_generic_odt.modules.php
@@ -68,6 +68,8 @@ class doc_generic_odt extends ModeleThirdPartyDoc
$this->marge_haute=0;
$this->marge_basse=0;
+ $this->option_logo = 1; // Affiche logo
+
// Recupere emmetteur
$this->emetteur=$mysoc;
if (! $this->emetteur->pays_code) $this->emetteur->pays_code=substr($langs->defaultlang,-2); // Par defaut, si n'etait pas defini