From a1fb21114b7c7158e05d4d53338f373b6181f228 Mon Sep 17 00:00:00 2001 From: Juanjo Menent <jmenent@2byte.es> Date: Fri, 28 Mar 2014 18:31:43 +0100 Subject: [PATCH] New: Add some hooks for financial reports --- ChangeLog | 1 + htdocs/compta/localtax/clients.php | 18 ++++++++++++++++-- htdocs/compta/localtax/index.php | 12 +++++++++++- htdocs/compta/resultat/clientfourn.php | 11 +++++++++++ htdocs/compta/resultat/index.php | 9 +++++++-- htdocs/compta/tva/clients.php | 15 +++++++++++++++ htdocs/compta/tva/index.php | 10 ++++++++++ htdocs/compta/tva/quadri_detail.php | 12 +++++++++++- 8 files changed, 82 insertions(+), 6 deletions(-) diff --git a/ChangeLog b/ChangeLog index 0a2c5118d95..88fdeafe29b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -65,6 +65,7 @@ For developers: action buttons into an element. - New: Normalize code for barcode generation to match other modules. - New: Uniformize code for contacts forms. +- New: Add some hooks for financial reports. WARNING: Following change may create regression for some external modules, but was necessary to make Dolibarr better: diff --git a/htdocs/compta/localtax/clients.php b/htdocs/compta/localtax/clients.php index 72b02194bc1..097a89c3918 100644 --- a/htdocs/compta/localtax/clients.php +++ b/htdocs/compta/localtax/clients.php @@ -1,5 +1,6 @@ <?php /* Copyright (C) 2011 Juanjo Menent <jmenent@2byte.es> + * Copyright (C) 2014 Ferran Marcet <fmarcet@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 @@ -153,6 +154,17 @@ print "<td align=\"right\">".$vatcust."</td>"; print "</tr>\n"; $coll_list = vat_by_thirdparty($db,0,$date_start,$date_end,$modetax,'sell'); + +$action = "tvaclient"; +$object = &$coll_list; +$parameters["mode"] = $modetax; +$parameters["start"] = $date_start; +$parameters["end"] = $date_end; +$parameters["direction"] = 'sell'; +// Initialize technical object to manage hooks of expenses. Note that conf->hooks_modules contains array array +$hookmanager->initHooks(array('externalbalance')); +$reshook=$hookmanager->executeHooks('addStatisticLine',$parameters,$object,$action); // Note that $action and $object may have been modified by some hooks + if (is_array($coll_list)) { $var=true; @@ -160,7 +172,7 @@ if (is_array($coll_list)) $i = 1; foreach($coll_list as $coll) { - if(($min == 0 or ($min > 0 && $coll->amount > $min)) && $coll->localtax2>0) + if(($min == 0 or ($min > 0 && $coll->amount > $min)) && $coll->localtax2!=0) { $var=!$var; $intra = str_replace($find,$replace,$coll->tva_intra); @@ -222,6 +234,8 @@ print "</tr>\n"; $company_static=new Societe($db); $coll_list = vat_by_thirdparty($db,0,$date_start,$date_end,$modetax,'buy'); +$parameters["direction"] = 'buy'; +$reshook=$hookmanager->executeHooks('addStatisticLine',$parameters,$object,$action); // Note that $action and $object may have been modified by some hooks if (is_array($coll_list)) { $var=true; @@ -229,7 +243,7 @@ if (is_array($coll_list)) $i = 1; foreach($coll_list as $coll) { - if(($min == 0 or ($min > 0 && $coll->amount > $min)) && $coll->localtax2>0) + if(($min == 0 or ($min > 0 && $coll->amount > $min)) && $coll->localtax2!=0) { $var=!$var; $intra = str_replace($find,$replace,$coll->tva_intra); diff --git a/htdocs/compta/localtax/index.php b/htdocs/compta/localtax/index.php index aaa36a7edd7..25f0e95fd5c 100644 --- a/htdocs/compta/localtax/index.php +++ b/htdocs/compta/localtax/index.php @@ -1,5 +1,6 @@ <?php /* Copyright (C) 2011 Juanjo Menent <jmenent@2byte.es> + * Copyright (C) 2014 Ferran Marcet <fmarcet@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 @@ -134,6 +135,15 @@ for ($m = 1 ; $m < 13 ; $m++ ) { $coll_listsell = vat_by_date($db, $y, 0, 0, 0, $modetax, 'sell', $m); $coll_listbuy = vat_by_date($db, $y, 0, 0, 0, $modetax, 'buy', $m); + + $action = "tva"; + $object = array(&$coll_listsell, &$coll_listbuy); + $parameters["mode"] = $modetax; + $parameters["year"] = $y; + $parameters["month"] = $m; + // Initialize technical object to manage hooks of expenses. Note that conf->hooks_modules contains array array + $hookmanager->initHooks(array('externalbalance')); + $reshook=$hookmanager->executeHooks('addStatisticLine',$parameters,$object,$action); // Note that $action and $object may have been modified by some hooks if (! is_array($coll_listbuy) && $coll_listbuy == -1) { @@ -181,7 +191,7 @@ for ($m = 1 ; $m < 13 ; $m++ ) print '<td align="right">'.$langs->trans("SubTotal").':</td>'; print '<td class="nowrap" align="right">'.price($subtotalcoll).'</td>'; print '<td class="nowrap" align="right">'.price($subtotalpaye).'</td>'; - print '<td class="nowrap" align="right">'.price($subtotalpaye).'</td>'; + print '<td class="nowrap" align="right">'.price($subtotal).'</td>'; print '<td> </td></tr>'; $i = 0; $subtotalcoll=0; $subtotalpaye=0; $subtotal=0; diff --git a/htdocs/compta/resultat/clientfourn.php b/htdocs/compta/resultat/clientfourn.php index d28f457fb2b..15722966004 100644 --- a/htdocs/compta/resultat/clientfourn.php +++ b/htdocs/compta/resultat/clientfourn.php @@ -2,6 +2,7 @@ /* Copyright (C) 2002-2006 Rodolphe Quiedeville <rodolphe@quiedeville.org> * Copyright (C) 2004-2011 Laurent Destailleur <eldy@users.sourceforge.net> * Copyright (C) 2005-2012 Regis Houssin <regis.houssin@capnetworks.com> + * Copyright (C) 2014 Ferran Marcet <fmarcet@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 @@ -729,6 +730,16 @@ if ($mysoc->tva_assuj != 'franchise') // Assujeti print '</tr>'; } +$action = "balanceclient"; +$object = array(&$total_ht, &$total_ttc); +$parameters["mode"] = $modecompta; +$parameters["date_start"] = $date_start; +$parameters["date_end"] = $date_end; +$parameters["bc"] = $bc; +// Initialize technical object to manage hooks of expenses. Note that conf->hooks_modules contains array array +$hookmanager->initHooks(array('externalbalance')); +$reshook=$hookmanager->executeHooks('addStatisticLine',$parameters,$object,$action); // Note that $action and $object may have been modified by some hooks +print $hookmanager->resPrint; if ($mysoc->tva_assuj != 'franchise') // Assujeti { diff --git a/htdocs/compta/resultat/index.php b/htdocs/compta/resultat/index.php index e4ead871b42..a56551f234b 100644 --- a/htdocs/compta/resultat/index.php +++ b/htdocs/compta/resultat/index.php @@ -2,6 +2,7 @@ /* Copyright (C) 2003 Rodolphe Quiedeville <rodolphe@quiedeville.org> * Copyright (C) 2004-2012 Laurent Destailleur <eldy@users.sourceforge.net> * Copyright (C) 2005-2012 Regis Houssin <regis.houssin@capnetworks.com> + * Copyright (C) 2014 Ferran Marcet <fmarcet@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 @@ -461,8 +462,12 @@ if ($result) { } else { dol_print_error($db); } - - +$action = "balance"; +$object = array(&$encaiss, &$encaiss_ttc, &$decaiss, &$decaiss_ttc); +$parameters["mode"] = $modecompta; +// Initialize technical object to manage hooks of expenses. Note that conf->hooks_modules contains array array +$hookmanager->initHooks(array('externalbalance')); +$reshook=$hookmanager->executeHooks('addStatisticLine',$parameters,$object,$action); // Note that $action and $object may have been modified by some hooks /* * Show result array diff --git a/htdocs/compta/tva/clients.php b/htdocs/compta/tva/clients.php index fbde1584541..84857a35130 100644 --- a/htdocs/compta/tva/clients.php +++ b/htdocs/compta/tva/clients.php @@ -3,6 +3,7 @@ * Copyright (C) 2004 Eric Seigne <eric.seigne@ryxeo.com> * Copyright (C) 2004-2013 Laurent Destailleur <eldy@users.sourceforge.net> * Copyright (C) 2006 Yannick Warnier <ywarnier@beeznest.org> + * Copyright (C) 2014 Ferran Marcet <fmarcet@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 @@ -185,6 +186,17 @@ print "<td align=\"right\">".$vatcust."</td>"; print "</tr>\n"; $coll_list = vat_by_thirdparty($db,0,$date_start,$date_end,$modetax,'sell'); + +$action = "tvaclient"; +$object = &$coll_list; +$parameters["mode"] = $modetax; +$parameters["start"] = $date_start; +$parameters["end"] = $date_end; +$parameters["direction"] = 'sell'; +// Initialize technical object to manage hooks of expenses. Note that conf->hooks_modules contains array array +$hookmanager->initHooks(array('externalbalance')); +$reshook=$hookmanager->executeHooks('addStatisticLine',$parameters,$object,$action); // Note that $action and $object may have been modified by some hooks + if (is_array($coll_list)) { $var=true; @@ -263,6 +275,9 @@ print "</tr>\n"; $company_static=new Societe($db); $coll_list = vat_by_thirdparty($db,0,$date_start,$date_end,$modetax,'buy'); + +$parameters["direction"] = 'buy'; +$reshook=$hookmanager->executeHooks('addStatisticLine',$parameters,$object,$action); // Note that $action and $object may have been modified by some hooks if (is_array($coll_list)) { $var=true; diff --git a/htdocs/compta/tva/index.php b/htdocs/compta/tva/index.php index 4bab6f143d1..91094e7b52d 100644 --- a/htdocs/compta/tva/index.php +++ b/htdocs/compta/tva/index.php @@ -3,6 +3,7 @@ * Copyright (C) 2004 Eric Seigne <eric.seigne@ryxeo.com> * Copyright (C) 2004-2012 Laurent Destailleur <eldy@users.sourceforge.net> * Copyright (C) 2005-2009 Regis Houssin <regis.houssin@capnetworks.com> + * Copyright (C) 2014 Ferran Marcet <fmarcet@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 @@ -153,6 +154,15 @@ for ($m = 1 ; $m < 13 ; $m++ ) { $coll_listsell = vat_by_date($db, $y, 0, 0, 0, $modetax, 'sell', $m); $coll_listbuy = vat_by_date($db, $y, 0, 0, 0, $modetax, 'buy', $m); + + $action = "tva"; + $object = array(&$coll_listsell, &$coll_listbuy); + $parameters["mode"] = $modetax; + $parameters["year"] = $y; + $parameters["month"] = $m; + // Initialize technical object to manage hooks of expenses. Note that conf->hooks_modules contains array array + $hookmanager->initHooks(array('externalbalance')); + $reshook=$hookmanager->executeHooks('addStatisticLine',$parameters,$object,$action); // Note that $action and $object may have been modified by some hooks if (! is_array($coll_listbuy) && $coll_listbuy == -1) { diff --git a/htdocs/compta/tva/quadri_detail.php b/htdocs/compta/tva/quadri_detail.php index cc084655bf0..b39befd8ad6 100644 --- a/htdocs/compta/tva/quadri_detail.php +++ b/htdocs/compta/tva/quadri_detail.php @@ -3,6 +3,7 @@ * Copyright (C) 2004 Eric Seigne <eric.seigne@ryxeo.com> * Copyright (C) 2004-2013 Laurent Destailleur <eldy@users.sourceforge.net> * Copyright (C) 2006-2007 Yannick Warnier <ywarnier@beeznest.org> + * Copyright (C) 2014 Ferran Marcet <fmarcet@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 @@ -318,7 +319,16 @@ else print '<td align="right">'.$langs->trans("AmountHTVATRealReceived").'</td>'; print '<td align="right">'.$vatcust.'</td>'; print '</tr>'; - + + $action = "tvadetail"; + $parameters["mode"] = $modetax; + $parameters["start"] = $date_start; + $parameters["end"] = $date_end; + $object = array(&$x_coll, &$x_paye, &$x_both); + // Initialize technical object to manage hooks of expenses. Note that conf->hooks_modules contains array array + $hookmanager->initHooks(array('externalbalance')); + $reshook=$hookmanager->executeHooks('addStatisticLine',$parameters,$object,$action); // Note that $action and $object may have been modified by some hooks + foreach(array_keys($x_coll) as $rate) { $subtot_coll_total_ht = 0; -- GitLab