Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop

This commit is contained in:
Laurent Destailleur 2013-04-04 21:15:16 +02:00
commit d8a86453e5
14 changed files with 143 additions and 72 deletions

View File

@ -143,8 +143,7 @@ $head = member_stats_prepare_head($adh);
dol_fiche_head($head, 'statssubscription', $langs->trans("Statistics"), 0, 'user'); dol_fiche_head($head, 'statssubscription', $langs->trans("Statistics"), 0, 'user');
print '<table class="notopnoleftnopadd" width="100%"><tr>'; print '<div class="fichecenter"><div class="fichethirdleft">';
print '<td align="center" valign="top">';
// Show filter box // Show filter box
/*print '<form name="stats" method="POST" action="'.$_SERVER["PHP_SELF"].'">'; /*print '<form name="stats" method="POST" action="'.$_SERVER["PHP_SELF"].'">';
@ -210,8 +209,8 @@ foreach ($data as $val)
print '</table>'; print '</table>';
print '</td>'; print '</div><div class="fichetwothirdright"><div class="ficheaddleft">';
print '<td align="center" valign="top">';
// Show graphs // Show graphs
print '<table class="border" width="100%"><tr valign="top"><td align="center">'; print '<table class="border" width="100%"><tr valign="top"><td align="center">';
@ -223,7 +222,10 @@ else {
} }
print '</td></tr></table>'; print '</td></tr></table>';
print '</td></tr></table>';
print '</div></div></div>';
print '<div style="clear:both"></div>';
dol_fiche_end(); dol_fiche_end();

View File

@ -216,8 +216,9 @@ complete_head_from_modules($conf,$langs,null,$head,$h,'propal_stats');
dol_fiche_head($head,'byyear',$langs->trans("Statistics")); dol_fiche_head($head,'byyear',$langs->trans("Statistics"));
print '<table class="notopnoleftnopadd" width="100%"><tr>';
print '<td align="center" valign="top">'; print '<div class="fichecenter"><div class="fichethirdleft">';
//if (empty($socid)) //if (empty($socid))
//{ //{
@ -282,8 +283,8 @@ foreach ($data as $val)
print '</table>'; print '</table>';
print '</td>'; print '</div><div class="fichetwothirdright"><div class="ficheaddleft">';
print '<td align="center" valign="top">';
// Show graphs // Show graphs
print '<table class="border" width="100%"><tr valign="top"><td align="center">'; print '<table class="border" width="100%"><tr valign="top"><td align="center">';
@ -297,7 +298,10 @@ else {
} }
print '</td></tr></table>'; print '</td></tr></table>';
print '</td></tr></table>';
print '</div></div></div>';
print '<div style="clear:both"></div>';
dol_fiche_end(); dol_fiche_end();

View File

@ -1,6 +1,6 @@
<?php <?php
/* Copyright (C) 2001-2003 Rodolphe Quiedeville <rodolphe@quiedeville.org> /* Copyright (C) 2001-2003 Rodolphe Quiedeville <rodolphe@quiedeville.org>
* Copyright (c) 2004-2012 Laurent Destailleur <eldy@users.sourceforge.net> * Copyright (c) 2004-2013 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2005-2012 Regis Houssin <regis.houssin@capnetworks.com> * Copyright (C) 2005-2012 Regis Houssin <regis.houssin@capnetworks.com>
* Copyright (C) 2012 Marcos García <marcosgdf@gmail.com> * Copyright (C) 2012 Marcos García <marcosgdf@gmail.com>
* *
@ -237,8 +237,9 @@ complete_head_from_modules($conf,$langs,null,$head,$h,$type);
dol_fiche_head($head,'byyear',$langs->trans("Statistics")); dol_fiche_head($head,'byyear',$langs->trans("Statistics"));
print '<table class="notopnoleftnopadd" width="100%"><tr>';
print '<td align="center" valign="top">'; print '<div class="fichecenter"><div class="fichethirdleft">';
//if (empty($socid)) //if (empty($socid))
//{ //{
@ -305,8 +306,8 @@ foreach ($data as $val)
print '</table>'; print '</table>';
print '</td>'; print '</div><div class="fichetwothirdright"><div class="ficheaddleft">';
print '<td align="center" valign="top">';
// Show graphs // Show graphs
print '<table class="border" width="100%"><tr valign="top"><td align="center">'; print '<table class="border" width="100%"><tr valign="top"><td align="center">';
@ -320,7 +321,9 @@ else {
} }
print '</td></tr></table>'; print '</td></tr></table>';
print '</td></tr></table>';
print '</div></div></div>';
print '<div style="clear:both"></div>';
dol_fiche_end(); dol_fiche_end();

View File

@ -204,8 +204,9 @@ complete_head_from_modules($conf,$langs,null,$head,$h,'trip_stats');
dol_fiche_head($head,'byyear',$langs->trans("Statistics")); dol_fiche_head($head,'byyear',$langs->trans("Statistics"));
print '<table class="notopnoleftnopadd" width="100%"><tr>';
print '<td align="center" valign="top">'; print '<div class="fichecenter"><div class="fichethirdleft">';
// Show filter box // Show filter box
print '<form name="stats" method="POST" action="'.$_SERVER["PHP_SELF"].'">'; print '<form name="stats" method="POST" action="'.$_SERVER["PHP_SELF"].'">';
@ -266,8 +267,8 @@ foreach ($data as $val)
print '</table>'; print '</table>';
print '</td>'; print '</div><div class="fichetwothirdright"><div class="ficheaddleft">';
print '<td align="center" valign="top">';
// Show graphs // Show graphs
print '<table class="border" width="100%"><tr valign="top"><td align="center">'; print '<table class="border" width="100%"><tr valign="top"><td align="center">';
@ -281,7 +282,10 @@ else {
} }
print '</td></tr></table>'; print '</td></tr></table>';
print '</td></tr></table>';
print '</div></div></div>';
print '<div style="clear:both"></div>';
dol_fiche_end(); dol_fiche_end();

View File

@ -214,8 +214,9 @@ complete_head_from_modules($conf,$langs,null,$head,$h,$type);
dol_fiche_head($head,'byyear',$langs->trans("Statistics")); dol_fiche_head($head,'byyear',$langs->trans("Statistics"));
print '<table class="notopnoleftnopadd" width="100%"><tr>';
print '<td align="center" valign="top">'; print '<div class="fichecenter"><div class="fichethirdleft">';
//if (empty($socid)) //if (empty($socid))
//{ //{
@ -280,8 +281,8 @@ foreach ($data as $val)
print '</table>'; print '</table>';
print '</td>'; print '</div><div class="fichetwothirdright"><div class="ficheaddleft">';
print '<td align="center" valign="top">';
// Show graphs // Show graphs
print '<table class="border" width="100%"><tr valign="top"><td align="center">'; print '<table class="border" width="100%"><tr valign="top"><td align="center">';
@ -295,7 +296,10 @@ else {
} }
print '</td></tr></table>'; print '</td></tr></table>';
print '</td></tr></table>';
print '</div></div></div>';
print '<div style="clear:both"></div>';
dol_fiche_end(); dol_fiche_end();

View File

@ -535,7 +535,7 @@ class Menubase
if ($menu['perms']) if ($menu['perms'])
{ {
$tmpcond=$menu['perms']; $tmpcond=$menu['perms'];
if ($leftmenu == 'all') $tmpcond=preg_replace('/\$leftmenu\s*==\s*["\'a-zA-Z]+/','1==1',$tmpcond); // Force part of condition to true if ($leftmenu == 'all') $tmpcond=preg_replace('/\$leftmenu\s*==\s*["\'a-zA-Z_]+/','1==1',$tmpcond); // Force part of condition to true
$perms = verifCond($tmpcond); $perms = verifCond($tmpcond);
//print "verifCond rowid=".$menu['rowid']." ".$tmpcond.":".$perms."<br>\n"; //print "verifCond rowid=".$menu['rowid']." ".$tmpcond.":".$perms."<br>\n";
} }
@ -545,7 +545,7 @@ class Menubase
if ($menu['enabled']) if ($menu['enabled'])
{ {
$tmpcond=$menu['enabled']; $tmpcond=$menu['enabled'];
if ($leftmenu == 'all') $tmpcond=preg_replace('/\$leftmenu\s*==\s*["\'a-zA-Z]+/','1==1',$tmpcond); // Force part of condition to true if ($leftmenu == 'all') $tmpcond=preg_replace('/\$leftmenu\s*==\s*["\'a-zA-Z_]+/','1==1',$tmpcond); // Force part of condition to true
$enabled = verifCond($tmpcond); $enabled = verifCond($tmpcond);
if ($conf->use_javascript_ajax && ! empty($conf->global->MAIN_MENU_USE_JQUERY_ACCORDION) && preg_match('/^\$leftmenu/',$menu['enabled'])) $enabled=1; if ($conf->use_javascript_ajax && ! empty($conf->global->MAIN_MENU_USE_JQUERY_ACCORDION) && preg_match('/^\$leftmenu/',$menu['enabled'])) $enabled=1;
//print "verifCond rowid=".$menu['rowid']." ".$tmpcond.":".$enabled."<br>\n"; //print "verifCond rowid=".$menu['rowid']." ".$tmpcond.":".$enabled."<br>\n";

View File

@ -3598,7 +3598,9 @@ function complete_substitutions_array(&$substitutionarray,$outputlangs,$object='
$module=$reg[1]; $module=$reg[1];
dol_syslog("Library functions_".$substitfile['name']." found into ".$dir); dol_syslog("Library functions_".$substitfile['name']." found into ".$dir);
// Include the user's functions file
require_once $dir.$substitfile['name']; require_once $dir.$substitfile['name'];
// Call the user's function, and only if it is defined
$function_name=$module."_".$callfunc; $function_name=$module."_".$callfunc;
if (function_exists($function_name)) $function_name($substitutionarray,$outputlangs,$object,$parameters); if (function_exists($function_name)) $function_name($substitutionarray,$outputlangs,$object,$parameters);
} }

View File

@ -121,14 +121,14 @@ class doc_generic_order_odt extends ModelePDFCommandes
'object_note_private'=>$object->note, 'object_note_private'=>$object->note,
'object_note'=>$object->note_public, 'object_note'=>$object->note_public,
); );
// Add vat by rates // Add vat by rates
foreach ($object->lines as $line) foreach ($object->lines as $line)
{ {
if (empty($resarray['object_total_vat_'.$line->tva_tx])) $resarray['object_total_vat_'.$line->tva_tx]=0; if (empty($resarray['object_total_vat_'.$line->tva_tx])) $resarray['object_total_vat_'.$line->tva_tx]=0;
$resarray['object_total_vat_'.$line->tva_tx]+=$line->total_tva; $resarray['object_total_vat_'.$line->tva_tx]+=$line->total_tva;
} }
return $resarray; return $resarray;
} }
@ -260,6 +260,15 @@ class doc_generic_order_odt extends ModelePDFCommandes
return -1; return -1;
} }
// Add odtgeneration hook
if (! is_object($hookmanager))
{
include_once DOL_DOCUMENT_ROOT.'/core/class/hookmanager.class.php';
$hookmanager=new HookManager($this->db);
}
$hookmanager->initHooks(array('odtgeneration'));
global $action;
if (! is_object($outputlangs)) $outputlangs=$langs; if (! is_object($outputlangs)) $outputlangs=$langs;
$sav_charset_output=$outputlangs->charset_output; $sav_charset_output=$outputlangs->charset_output;
$outputlangs->charset_output='UTF-8'; $outputlangs->charset_output='UTF-8';
@ -346,6 +355,9 @@ class doc_generic_order_odt extends ModelePDFCommandes
'__TOTAL_VAT__' => $object->total_vat '__TOTAL_VAT__' => $object->total_vat
); );
complete_substitutions_array($substitutionarray, $langs, $object); complete_substitutions_array($substitutionarray, $langs, $object);
// Call the ODTSubstitution hook
$parameters=array('file'=>$file,'object'=>$object,'outputlangs'=>$outputlangs,'substitutionarray'=>&$substitutionarray);
$reshook=$hookmanager->executeHooks('ODTSubstitution',$parameters,$this,$action); // Note that $action and $object may have been modified by some hooks
// Line of free text // Line of free text
$newfreetext=''; $newfreetext='';
@ -445,6 +457,9 @@ class doc_generic_order_odt extends ModelePDFCommandes
// Replace tags of object + external modules // Replace tags of object + external modules
$tmparray=$this->get_substitutionarray_object($object,$outputlangs); $tmparray=$this->get_substitutionarray_object($object,$outputlangs);
complete_substitutions_array($tmparray, $outputlangs, $object); complete_substitutions_array($tmparray, $outputlangs, $object);
// Call the ODTSubstitution hook
$parameters=array('file'=>$file,'object'=>$object,'outputlangs'=>$outputlangs,'substitutionarray'=>&$tmparray);
$reshook=$hookmanager->executeHooks('ODTSubstitution',$parameters,$this,$action); // Note that $action and $object may have been modified by some hooks
foreach($tmparray as $key=>$value) foreach($tmparray as $key=>$value)
{ {
try { try {
@ -470,6 +485,9 @@ class doc_generic_order_odt extends ModelePDFCommandes
{ {
$tmparray=$this->get_substitutionarray_lines($line,$outputlangs); $tmparray=$this->get_substitutionarray_lines($line,$outputlangs);
complete_substitutions_array($tmparray, $outputlangs, $object, $line, "completesubstitutionarray_lines"); complete_substitutions_array($tmparray, $outputlangs, $object, $line, "completesubstitutionarray_lines");
// Call the ODTSubstitutionLine hook
$parameters=array('odfHandler'=>&$odfHandler,'file'=>$file,'object'=>$object,'outputlangs'=>$outputlangs,'substitutionarray'=>&$tmparray,'line'=>$line);
$reshook=$hookmanager->executeHooks('ODTSubstitutionLine',$parameters,$this,$action); // Note that $action and $object may have been modified by some hooks
foreach($tmparray as $key => $val) foreach($tmparray as $key => $val)
{ {
try try
@ -494,15 +512,8 @@ class doc_generic_order_odt extends ModelePDFCommandes
return -1; return -1;
} }
// Add odtgeneration hook // Call the beforeODTSave hook
if (! is_object($hookmanager)) $parameters=array('odfHandler'=>&$odfHandler,'file'=>$file,'object'=>$object,'outputlangs'=>$outputlangs);
{
include_once DOL_DOCUMENT_ROOT.'/core/class/hookmanager.class.php';
$hookmanager=new HookManager($this->db);
}
$hookmanager->initHooks(array('odtgeneration'));
$parameters=array('odfHandler'=>$odfHandler,'file'=>$file,'object'=>$object,'outputlangs'=>$outputlangs);
global $action;
$reshook=$hookmanager->executeHooks('beforeODTSave',$parameters,$this,$action); // Note that $action and $object may have been modified by some hooks $reshook=$hookmanager->executeHooks('beforeODTSave',$parameters,$this,$action); // Note that $action and $object may have been modified by some hooks
// Write new file // Write new file

View File

@ -283,6 +283,15 @@ class doc_generic_invoice_odt extends ModelePDFFactures
return -1; return -1;
} }
// Add odtgeneration hook
if (! is_object($hookmanager))
{
include_once DOL_DOCUMENT_ROOT.'/core/class/hookmanager.class.php';
$hookmanager=new HookManager($this->db);
}
$hookmanager->initHooks(array('odtgeneration'));
global $action;
if (! is_object($outputlangs)) $outputlangs=$langs; if (! is_object($outputlangs)) $outputlangs=$langs;
$sav_charset_output=$outputlangs->charset_output; $sav_charset_output=$outputlangs->charset_output;
$outputlangs->charset_output='UTF-8'; $outputlangs->charset_output='UTF-8';
@ -375,6 +384,9 @@ class doc_generic_invoice_odt extends ModelePDFFactures
'__TOTAL_VAT__' => $object->total_tva '__TOTAL_VAT__' => $object->total_tva
); );
complete_substitutions_array($substitutionarray, $langs, $object); complete_substitutions_array($substitutionarray, $langs, $object);
// Call the ODTSubstitution hook
$parameters=array('file'=>$file,'object'=>$object,'outputlangs'=>$outputlangs,'substitutionarray'=>&$substitutionarray);
$reshook=$hookmanager->executeHooks('ODTSubstitution',$parameters,$this,$action); // Note that $action and $object may have been modified by some hooks
// Line of free text // Line of free text
$newfreetext=''; $newfreetext='';
@ -417,9 +429,12 @@ class doc_generic_invoice_odt extends ModelePDFFactures
$array_objet=$this->get_substitutionarray_object($object,$outputlangs); $array_objet=$this->get_substitutionarray_object($object,$outputlangs);
$array_propal=is_object($propal_object)?$this->get_substitutionarray_propal($propal_object,$outputlangs,'propal'):array(); $array_propal=is_object($propal_object)?$this->get_substitutionarray_propal($propal_object,$outputlangs,'propal'):array();
$array_other=$this->get_substitutionarray_other($user,$outputlangs); $array_other=$this->get_substitutionarray_other($user,$outputlangs);
$tmparray = array_merge($array_user,$array_soc,$array_thirdparty,$array_objet,$array_propal); $tmparray = array_merge($array_user,$array_soc,$array_thirdparty,$array_objet,$array_propal);
complete_substitutions_array($tmparray, $outputlangs, $object); complete_substitutions_array($tmparray, $outputlangs, $object);
// Call the ODTSubstitution hook
$parameters=array('file'=>$file,'object'=>$object,'outputlangs'=>$outputlangs,'substitutionarray'=>&$tmparray);
$reshook=$hookmanager->executeHooks('ODTSubstitution',$parameters,$this,$action); // Note that $action and $object may have been modified by some hooks
//var_dump($tmparray); exit; //var_dump($tmparray); exit;
foreach($tmparray as $key=>$value) foreach($tmparray as $key=>$value)
@ -448,6 +463,9 @@ class doc_generic_invoice_odt extends ModelePDFFactures
{ {
$tmparray=$this->get_substitutionarray_lines($line,$outputlangs); $tmparray=$this->get_substitutionarray_lines($line,$outputlangs);
complete_substitutions_array($tmparray, $outputlangs, $object, $line, "completesubstitutionarray_lines"); complete_substitutions_array($tmparray, $outputlangs, $object, $line, "completesubstitutionarray_lines");
// Call the ODTSubstitutionLine hook
$parameters=array('odfHandler'=>&$odfHandler,'file'=>$file,'object'=>$object,'outputlangs'=>$outputlangs,'substitutionarray'=>&$tmparray,'line'=>$line);
$reshook=$hookmanager->executeHooks('ODTSubstitutionLine',$parameters,$this,$action); // Note that $action and $object may have been modified by some hooks
foreach($tmparray as $key => $val) foreach($tmparray as $key => $val)
{ {
try try
@ -472,15 +490,8 @@ class doc_generic_invoice_odt extends ModelePDFFactures
return -1; return -1;
} }
// Add odtgeneration hook // Call the beforeODTSave hook
if (! is_object($hookmanager)) $parameters=array('odfHandler'=>&$odfHandler,'file'=>$file,'object'=>$object,'outputlangs'=>$outputlangs);
{
include_once DOL_DOCUMENT_ROOT.'/core/class/hookmanager.class.php';
$hookmanager=new HookManager($this->db);
}
$hookmanager->initHooks(array('odtgeneration'));
$parameters=array('odfHandler'=>$odfHandler,'file'=>$file,'object'=>$object,'outputlangs'=>$outputlangs);
global $action;
$reshook=$hookmanager->executeHooks('beforeODTSave',$parameters,$this,$action); // Note that $action and $object may have been modified by some hooks $reshook=$hookmanager->executeHooks('beforeODTSave',$parameters,$this,$action); // Note that $action and $object may have been modified by some hooks
// Write new file // Write new file

View File

@ -149,10 +149,10 @@ class doc_generic_proposal_odt extends ModelePDFPropales
$texte.= '</table>'; $texte.= '</table>';
// Scan directories // Scan directories
if (count($listofdir)) if (count($listofdir))
{ {
$texte.=$langs->trans("NumberOfModelFilesFound").': <b>'.count($listoffiles).'</b>'; $texte.=$langs->trans("NumberOfModelFilesFound").': <b>'.count($listoffiles).'</b>';
if ($conf->global->MAIN_PROPAL_CHOOSE_ODT_DOCUMENT > 0) if ($conf->global->MAIN_PROPAL_CHOOSE_ODT_DOCUMENT > 0)
{ {
// Model for creation // Model for creation
@ -163,14 +163,14 @@ class doc_generic_proposal_odt extends ModelePDFPropales
$texte.= '<td colspan="">'; $texte.= '<td colspan="">';
$texte.= $form->selectarray('value2',$liste,$conf->global->PROPALE_ADDON_PDF_ODT_DEFAULT); $texte.= $form->selectarray('value2',$liste,$conf->global->PROPALE_ADDON_PDF_ODT_DEFAULT);
$texte.= "</td></tr>"; $texte.= "</td></tr>";
$texte.= '<tr>'; $texte.= '<tr>';
$texte.= '<td width="60%;">'.$langs->trans("DefaultModelPropalToBill").'</td>'; $texte.= '<td width="60%;">'.$langs->trans("DefaultModelPropalToBill").'</td>';
$texte.= '<td colspan="">'; $texte.= '<td colspan="">';
$texte.= $form->selectarray('value3',$liste,$conf->global->PROPALE_ADDON_PDF_ODT_TOBILL); $texte.= $form->selectarray('value3',$liste,$conf->global->PROPALE_ADDON_PDF_ODT_TOBILL);
$texte.= "</td></tr>"; $texte.= "</td></tr>";
$texte.= '<tr>'; $texte.= '<tr>';
$texte.= '<td width="60%;">'.$langs->trans("DefaultModelPropalClosed").'</td>'; $texte.= '<td width="60%;">'.$langs->trans("DefaultModelPropalClosed").'</td>';
$texte.= '<td colspan="">'; $texte.= '<td colspan="">';
$texte.= $form->selectarray('value4',$liste,$conf->global->PROPALE_ADDON_PDF_ODT_CLOSED); $texte.= $form->selectarray('value4',$liste,$conf->global->PROPALE_ADDON_PDF_ODT_CLOSED);
@ -178,9 +178,9 @@ class doc_generic_proposal_odt extends ModelePDFPropales
$texte.= '</table>'; $texte.= '</table>';
} }
} }
$texte.= '</td>'; $texte.= '</td>';
@ -222,6 +222,15 @@ class doc_generic_proposal_odt extends ModelePDFPropales
return -1; return -1;
} }
// Add odtgeneration hook
if (! is_object($hookmanager))
{
include_once DOL_DOCUMENT_ROOT.'/core/class/hookmanager.class.php';
$hookmanager=new HookManager($this->db);
}
$hookmanager->initHooks(array('odtgeneration'));
global $action;
if (! is_object($outputlangs)) $outputlangs=$langs; if (! is_object($outputlangs)) $outputlangs=$langs;
$sav_charset_output=$outputlangs->charset_output; $sav_charset_output=$outputlangs->charset_output;
$outputlangs->charset_output='UTF-8'; $outputlangs->charset_output='UTF-8';
@ -308,6 +317,9 @@ class doc_generic_proposal_odt extends ModelePDFPropales
'__TOTAL_VAT__' => $object->total_vat '__TOTAL_VAT__' => $object->total_vat
); );
complete_substitutions_array($substitutionarray, $langs, $object); complete_substitutions_array($substitutionarray, $langs, $object);
// Call the ODTSubstitution hook
$parameters=array('file'=>$file,'object'=>$object,'outputlangs'=>$outputlangs,'substitutionarray'=>&$substitutionarray);
$reshook=$hookmanager->executeHooks('ODTSubstitution',$parameters,$this,$action); // Note that $action and $object may have been modified by some hooks
// Line of free text // Line of free text
$newfreetext=''; $newfreetext='';
@ -408,6 +420,9 @@ class doc_generic_proposal_odt extends ModelePDFPropales
$tmparray=$this->get_substitutionarray_propal($object,$outputlangs); $tmparray=$this->get_substitutionarray_propal($object,$outputlangs);
//print_r($tmparray); exit; //print_r($tmparray); exit;
complete_substitutions_array($tmparray, $outputlangs, $object); complete_substitutions_array($tmparray, $outputlangs, $object);
// Call the ODTSubstitution hook
$parameters=array('file'=>$file,'object'=>$object,'outputlangs'=>$outputlangs,'substitutionarray'=>&$tmparray);
$reshook=$hookmanager->executeHooks('ODTSubstitution',$parameters,$this,$action); // Note that $action and $object may have been modified by some hooks
foreach($tmparray as $key=>$value) foreach($tmparray as $key=>$value)
{ {
try { try {
@ -433,6 +448,9 @@ class doc_generic_proposal_odt extends ModelePDFPropales
{ {
$tmparray=$this->get_substitutionarray_propal_lines($line,$outputlangs); $tmparray=$this->get_substitutionarray_propal_lines($line,$outputlangs);
complete_substitutions_array($tmparray, $outputlangs, $object, $line, "completesubstitutionarray_lines"); complete_substitutions_array($tmparray, $outputlangs, $object, $line, "completesubstitutionarray_lines");
// Call the ODTSubstitutionLine hook
$parameters=array('odfHandler'=>&$odfHandler,'file'=>$file,'object'=>$object,'outputlangs'=>$outputlangs,'substitutionarray'=>&$tmparray,'line'=>$line);
$reshook=$hookmanager->executeHooks('ODTSubstitutionLine',$parameters,$this,$action); // Note that $action and $object may have been modified by some hooks
foreach($tmparray as $key => $val) foreach($tmparray as $key => $val)
{ {
try try
@ -457,10 +475,8 @@ class doc_generic_proposal_odt extends ModelePDFPropales
return -1; return -1;
} }
// Add odtgeneration hook // Call the beforeODTSave hook
$hookmanager->initHooks(array('odtgeneration')); $parameters=array('odfHandler'=>&$odfHandler,'file'=>$file,'object'=>$object,'outputlangs'=>$outputlangs);
$parameters=array('odfHandler'=>$odfHandler,'file'=>$file,'object'=>$object,'outputlangs'=>$outputlangs);
global $action;
$reshook=$hookmanager->executeHooks('beforeODTSave',$parameters,$this,$action); // Note that $action and $object may have been modified by some hooks $reshook=$hookmanager->executeHooks('beforeODTSave',$parameters,$this,$action); // Note that $action and $object may have been modified by some hooks
// Write new file // Write new file

View File

@ -173,6 +173,15 @@ class doc_generic_odt extends ModeleThirdPartyDoc
return -1; return -1;
} }
// Add odtgeneration hook
if (! is_object($hookmanager))
{
include_once DOL_DOCUMENT_ROOT.'/core/class/hookmanager.class.php';
$hookmanager=new HookManager($this->db);
}
$hookmanager->initHooks(array('odtgeneration'));
global $action;
if (! is_object($outputlangs)) $outputlangs=$langs; if (! is_object($outputlangs)) $outputlangs=$langs;
$sav_charset_output=$outputlangs->charset_output; $sav_charset_output=$outputlangs->charset_output;
$outputlangs->charset_output='UTF-8'; $outputlangs->charset_output='UTF-8';
@ -276,6 +285,9 @@ class doc_generic_odt extends ModeleThirdPartyDoc
// Make substitutions into odt of thirdparty + external modules // Make substitutions into odt of thirdparty + external modules
$tmparray=$this->get_substitutionarray_thirdparty($object,$outputlangs); $tmparray=$this->get_substitutionarray_thirdparty($object,$outputlangs);
complete_substitutions_array($tmparray, $outputlangs, $object); complete_substitutions_array($tmparray, $outputlangs, $object);
// Call the ODTSubstitution hook
$parameters=array('file'=>$file,'object'=>$object,'outputlangs'=>$outputlangs,'substitutionarray'=>&$tmparray);
$reshook=$hookmanager->executeHooks('ODTSubstitution',$parameters,$this,$action); // Note that $action and $object may have been modified by some hooks
//var_dump($object->id); exit; //var_dump($object->id); exit;
foreach($tmparray as $key=>$value) foreach($tmparray as $key=>$value)
{ {
@ -296,10 +308,8 @@ class doc_generic_odt extends ModeleThirdPartyDoc
} }
} }
// Add odtgeneration hook // Call the beforeODTSave hook
$hookmanager->initHooks(array('odtgeneration')); $parameters=array('odfHandler'=>&$odfHandler,'file'=>$file,'object'=>$object,'outputlangs'=>$outputlangs);
$parameters=array('odfHandler'=>$odfHandler,'file'=>$file,'object'=>$object,'outputlangs'=>$outputlangs);
global $action;
$reshook=$hookmanager->executeHooks('beforeODTSave',$parameters,$this,$action); // Note that $action and $object may have been modified by some hooks $reshook=$hookmanager->executeHooks('beforeODTSave',$parameters,$this,$action); // Note that $action and $object may have been modified by some hooks
// Write new file // Write new file

View File

@ -219,13 +219,13 @@ insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 6
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 64, 6, '0','0','VAT Rate 0', 1); insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 64, 6, '0','0','VAT Rate 0', 1);
-- TUNISIA (id country=10) -- TUNISIA (id country=10)
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active,localtax1,localtax1_type,localtax2,localtax2_type) values (101,10, '6','0','VAT 6%', 1, 1, '4', 0, null); insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active,localtax1,localtax1_type,localtax2,localtax2_type) values (101,10, '6','0','VAT 6%', 1, 1, '4', 0, 0);
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active,localtax1,localtax1_type,localtax2,localtax2_type) values (102,10, '12','0','VAT 12%',1, 1, '4', 0, null); insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active,localtax1,localtax1_type,localtax2,localtax2_type) values (102,10, '12','0','VAT 12%',1, 1, '4', 0, 0);
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active,localtax1,localtax1_type,localtax2,localtax2_type) values (103,10, '18','0','VAT 18%',1, 1, '4', 0, null); insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active,localtax1,localtax1_type,localtax2,localtax2_type) values (103,10, '18','0','VAT 18%',1, 1, '4', 0, 0);
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active,localtax1,localtax1_type,localtax2,localtax2_type) values (104,10, '7.5','0','VAT 6% Majoré à 25% (7.5%)',1, 1, '4', 0, null); insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active,localtax1,localtax1_type,localtax2,localtax2_type) values (104,10, '7.5','0','VAT 6% Majoré à 25% (7.5%)',1, 1, '4', 0, 0);
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active,localtax1,localtax1_type,localtax2,localtax2_type) values (105,10, '15','0','VAT 12% Majoré à 25% (15%)',1, 1, '4', 0, null); insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active,localtax1,localtax1_type,localtax2,localtax2_type) values (105,10, '15','0','VAT 12% Majoré à 25% (15%)',1, 1, '4', 0, 0);
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active,localtax1,localtax1_type,localtax2,localtax2_type) values (106,10, '22.5','0','VAT 18% Majoré à 25% (22.5%)',1, 1, '4', 0, null); insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active,localtax1,localtax1_type,localtax2,localtax2_type) values (106,10, '22.5','0','VAT 18% Majoré à 25% (22.5%)',1, 1, '4', 0, 0);
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active,localtax1,localtax1_type,localtax2,localtax2_type) values (107,10, '0','0','VAT Rate 0', 1, 1, '4', 0, null); insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active,localtax1,localtax1_type,localtax2,localtax2_type) values (107,10, '0','0','VAT Rate 0', 1, 1, '4', 0, 0);
-- UKRAINE (id country=226) -- UKRAINE (id country=226)
INSERT INTO llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (2261,226, '20','0','VAT standart rate',1); INSERT INTO llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (2261,226, '20','0','VAT standart rate',1);

View File

@ -249,7 +249,11 @@ class Societe extends CommonObject
$result=$interface->run_triggers('COMPANY_CREATE',$this,$user,$langs,$conf); $result=$interface->run_triggers('COMPANY_CREATE',$this,$user,$langs,$conf);
if ($result < 0) { $error++; $this->errors=$interface->errors; } if ($result < 0) { $error++; $this->errors=$interface->errors; }
// Fin appel triggers // Fin appel triggers
}
else $error++;
if (! $error)
{
dol_syslog(get_class($this)."::Create success id=".$this->id); dol_syslog(get_class($this)."::Create success id=".$this->id);
$this->db->commit(); $this->db->commit();
return $this->id; return $this->id;

View File

@ -867,7 +867,7 @@ div.ficheaddleft {
div.divButAction { margin-bottom: 1.4em; } div.divButAction { margin-bottom: 1.4em; }
.button, .butAction {background: #999; border: solid 1px #888; font-weight: normal; } .button, .butAction {background: #999; border: solid 1px #888; font-weight: normal; }
.butActionRefused {background: #eaeaea; color:rgba(0,0,0,0.6); font-weight: normal;} .butActionRefused {background: #eaeaea; color:rgba(0,0,0,0.6); font-weight: normal; cursor: not-allowed; }
.butActionDelete {background: #b33c37; border:solid 1px #8d2f2b; font-weight: normal;} .butActionDelete {background: #b33c37; border:solid 1px #8d2f2b; font-weight: normal;}
.button, .butAction, .butActionRefused, .butActionDelete { .button, .butAction, .butActionRefused, .butActionDelete {