From 3e4fd761a597d6d90ab8b0887cbc0ede88a7a524 Mon Sep 17 00:00:00 2001 From: Spangaro Alexandre Date: Sun, 30 Sep 2012 11:52:15 +0200 Subject: [PATCH] Add function to choose chart of accounts --- htdocs/admin/accounting.php | 172 -------------------- htdocs/admin/compta.php | 79 ++++++++- htdocs/core/modules/modAccounting.class.php | 74 ++++----- htdocs/langs/fr_FR/admin.lang | 5 + htdocs/langs/fr_FR/compta.lang | 2 +- 5 files changed, 121 insertions(+), 211 deletions(-) delete mode 100644 htdocs/admin/accounting.php diff --git a/htdocs/admin/accounting.php b/htdocs/admin/accounting.php deleted file mode 100644 index 4928aa2a172..00000000000 --- a/htdocs/admin/accounting.php +++ /dev/null @@ -1,172 +0,0 @@ - - * Copyright (C) 2004-2009 Laurent Destailleur - * - * 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 - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -/** - * \file htdocs/admin/accounting.php - * \ingroup accounting - * \brief Page de configuration du module comptabilite expert - */ - -require '../main.inc.php'; -require_once DOL_DOCUMENT_ROOT.'/core/lib/admin.lib.php'; - -$langs->load('admin'); -$langs->load('compta'); - -if (!$user->admin) - accessforbidden(); - - - -$compta_mode = defined('COMPTA_MODE')?COMPTA_MODE:'RECETTES-DEPENSES'; - -if ($_POST['action'] == 'setcomptamode') -{ - $compta_mode = $_POST['compta_mode']; - if (! dolibarr_set_const($db, 'COMPTA_MODE', $compta_mode,'chaine',0,'',$conf->entity)) { print $db->error(); } -} - - -$form = new Form($db); -$typeconst=array('yesno','texte','chaine'); - - -if ($_POST['action'] == 'update' || $_POST['action'] == 'add') -{ - if (! dolibarr_set_const($db, $_POST['constname'], $_POST['constvalue'], $typeconst[$_POST['consttype']], 0, isset($_POST['constnote']) ? $_POST['constnote'] : '',$conf->entity)); - { - print $db->error(); - } -} - - -if ($_GET['action'] == 'delete') -{ - if (! dolibarr_del_const($db, $_GET['constname'],$conf->entity)); - { - print $db->error(); - } -} - - -/* - * View - */ - -llxHeader(); - -$form=new Form($db); - -$linkback=''.$langs->trans("BackToModuleList").''; -print_fiche_titre($langs->trans('ComptaSetup'),$linkback,'setup'); - - -print '
'; - -print ''; - -// Cas du parametre COMPTA_MODE -print ''; -print ''; -print ''; -print ''; -print ''; -print ''; -print "\n"; -print ''; -print '\n"; -print ''; -print '\n"; -print ''; - -print "
'.$langs->trans('OptionMode').''.$langs->trans('Description').'
'.$langs->trans('OptionModeTrue').''.nl2br($langs->trans('OptionModeTrueDesc'))."
'.$langs->trans('OptionModeVirtual').''.$langs->trans('OptionModeVirtualDesc')."
\n"; - -print "
\n"; - -// Cas des autres param�tres COMPTA_* -/* -$sql ="SELECT rowid, name, value, type, note"; -$sql.=" FROM ".MAIN_DB_PREFIX."const"; -$sql.=" WHERE name like 'COMPTA_%' and name not in ('COMPTA_MODE')"; -$result = $db->query($sql); -if ($result) -{ - $num = $db->num_rows($result); - $i = 0; - $var=true; - - if ($num) - { - print ''; - print ''; - print ''; - print "\n"; - } - - while ($i < $num) - { - $obj = $db->fetch_object($result); - $var=!$var; - - print ''; - print ''; - print ''; - print ''; - print ''; - - print ''; - print '\n"; - - print '\n"; - - print ''; - - $i++; - } - - if ($num) - { - print "
'.$langs->trans('OtherOptions').'
'.stripslashes(nl2br($obj->note))."'; - if ($obj->type == 'yesno') - { - print $form->selectyesno('constvalue',$obj->value,1); - } - elseif ($obj->type == 'texte') - { - print '\n"; - } - else - { - print ''; - } - print ''; - print '   '; - print "
\n"; - } -} -*/ - - -$db->close(); - - -llxFooter(); - -?> diff --git a/htdocs/admin/compta.php b/htdocs/admin/compta.php index 6f45e70bc98..407dca5200d 100644 --- a/htdocs/admin/compta.php +++ b/htdocs/admin/compta.php @@ -2,7 +2,8 @@ /* Copyright (C) 2004 Rodolphe Quiedeville * Copyright (C) 2004-2008 Laurent Destailleur * Copyright (C) 2005-2009 Regis Houssin - * Copyright (C) 2011-2012 Juanjo Menent + * Copyright (C) 2011-2012 Juanjo Menent + * Copyright (C) 2011-2012 Alexandre Spangaro * * 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 @@ -56,6 +57,26 @@ if ($action == 'setcomptamode') } +$chartofaccounts = defined('CHARTOFACCOUNTS')?CHARTOFACCOUNTS:''; + +if ($action == 'setchart') +{ + $chartofaccounts = GETPOST('chartofaccounts','alpha'); + + $res = dolibarr_set_const($db, 'CHARTOFACCOUNTS', $chartofaccounts,'chaine',0,'',$conf->entity); + + if (! $res > 0) $error++; + + if (! $error) + { + $mesg = "".$langs->trans("SetupSaved").""; + } + else + { + $mesg = "".$langs->trans("Error").""; + } +} + if ($action == 'update' || $action == 'add') { $constname = GETPOST('constname','alpha'); @@ -130,6 +151,62 @@ print ''; print "\n"; +/* + * Define Chart of accounts + * + */ +if (! empty($conf->global->ACCOUNTING_SELECTCHART) && ! empty($conf->accounting->enabled)) +{ + print '
'; + print_titre($langs->trans("Definechartofaccounts")); + + print '
'; + print ''; + + print ''; + $var=True; + + print ''; + print ''; + print ''; + print "\n"; + $var=!$var; + print ''; + print ""; + print ""; + print "
'; + print ''; + print $langs->trans("Chartofaccounts").'
".$langs->trans("Selectchartofaccounts").""; + print '"; + print "
"; + print "
"; +} + print "
\n"; // Cas des autres parametres COMPTA_* diff --git a/htdocs/core/modules/modAccounting.class.php b/htdocs/core/modules/modAccounting.class.php index 65e93734777..38a04db07f1 100644 --- a/htdocs/core/modules/modAccounting.class.php +++ b/htdocs/core/modules/modAccounting.class.php @@ -61,7 +61,7 @@ class modAccounting extends DolibarrModules $this->special = 0; // Config pages - $this->config_page_url = array("accounting.php"); + $this->config_page_url = array("compta.php"); // Dependancies $this->depends = array("modFacture","modBanque","modTax"); @@ -85,47 +85,47 @@ class modAccounting extends DolibarrModules $this->rights = array(); $this->rights_class = 'accounting'; - $this->rights[1][0] = 50401; - $this->rights[1][1] = 'Lire le plan de compte'; - $this->rights[1][2] = 'r'; - $this->rights[1][3] = 1; - $this->rights[1][4] = 'plancompte'; - $this->rights[1][5] = 'lire'; + $this->rights[$r][0] = 50401; + $this->rights[$r][1] = 'Lire le plan de compte'; + $this->rights[$r][2] = 'r'; + $this->rights[$r][3] = 1; + $this->rights[$r][4] = 'plancompte'; + $this->rights[$r][5] = 'lire'; - $this->rights[2][0] = 50402; - $this->rights[2][1] = 'Creer/modifier un plan de compte'; - $this->rights[2][2] = 'w'; - $this->rights[2][3] = 0; - $this->rights[2][4] = 'plancompte'; - $this->rights[2][5] = 'creer'; + $this->rights[$r][0] = 50402; + $this->rights[$r][1] = 'Creer/modifier un plan de compte'; + $this->rights[$r][2] = 'w'; + $this->rights[$r][3] = 0; + $this->rights[$r][4] = 'plancompte'; + $this->rights[$r][5] = 'creer'; - $this->rights[3][0] = 50403; - $this->rights[3][1] = 'Cloturer plan de compte'; - $this->rights[3][2] = 'w'; - $this->rights[3][3] = 0; - $this->rights[3][4] = 'plancompte'; - $this->rights[3][5] = 'cloturer'; + $this->rights[$r][0] = 50403; + $this->rights[$r][1] = 'Cloturer plan de compte'; + $this->rights[$r][2] = 'w'; + $this->rights[$r][3] = 0; + $this->rights[$r][4] = 'plancompte'; + $this->rights[$r][5] = 'cloturer'; - $this->rights[4][0] = 50411; - $this->rights[4][1] = 'Lire les mouvements comptables'; - $this->rights[4][2] = 'r'; - $this->rights[4][3] = 1; - $this->rights[4][4] = 'mouvements'; - $this->rights[4][5] = 'lire'; + $this->rights[$r][0] = 50411; + $this->rights[$r][1] = 'Lire les mouvements comptables'; + $this->rights[$r][2] = 'r'; + $this->rights[$r][3] = 1; + $this->rights[$r][4] = 'mouvements'; + $this->rights[$r][5] = 'lire'; - $this->rights[5][0] = 50412; - $this->rights[5][1] = 'Creer/modifier/annuler les mouvements comptables'; - $this->rights[5][2] = 'w'; - $this->rights[5][3] = 0; - $this->rights[5][4] = 'mouvements'; - $this->rights[5][5] = 'creer'; + $this->rights[$r][0] = 50412; + $this->rights[$r][1] = 'Creer/modifier/annuler les mouvements comptables'; + $this->rights[$r][2] = 'w'; + $this->rights[$r][3] = 0; + $this->rights[$r][4] = 'mouvements'; + $this->rights[$r][5] = 'creer'; - $this->rights[6][0] = 50415; - $this->rights[6][1] = 'Lire CA, bilans, resultats, journaux, grands livres'; - $this->rights[6][2] = 'r'; - $this->rights[6][3] = 0; - $this->rights[6][4] = 'comptarapport'; - $this->rights[6][5] = 'lire'; + $this->rights[$r][0] = 50415; + $this->rights[$r][1] = 'Lire CA, bilans, resultats, journaux, grands livres'; + $this->rights[$r][2] = 'r'; + $this->rights[$r][3] = 0; + $this->rights[$r][4] = 'comptarapport'; + $this->rights[$r][5] = 'lire'; } diff --git a/htdocs/langs/fr_FR/admin.lang b/htdocs/langs/fr_FR/admin.lang index 5fd957fe11b..98f2a9df43d 100644 --- a/htdocs/langs/fr_FR/admin.lang +++ b/htdocs/langs/fr_FR/admin.lang @@ -1355,3 +1355,8 @@ TestGeoIPResult=Test de conversion IP -> Pays ProjectsNumberingModules=Modèles de numérotation des références projets ProjectsSetup=Configuration du module Projets ProjectsModelModule=Modèles de document de rapport projets +#### Accountancy #### +Chartofaccounts=Plan comptable +Definechartofaccounts=Définir un plan comptable +Selectchartofaccounts=Sélection d'un plan comptable +DoNotSuggestChart=Ne pas suggérer de plan comptable diff --git a/htdocs/langs/fr_FR/compta.lang b/htdocs/langs/fr_FR/compta.lang index abc6603d4e6..ede4691ef72 100644 --- a/htdocs/langs/fr_FR/compta.lang +++ b/htdocs/langs/fr_FR/compta.lang @@ -159,4 +159,4 @@ RemainToDivide=Reste à répartir : WarningDepositsNotIncluded=Les factures d'accomptes ne sont pas encore prises en compte dans cette version avec ce module de comptabilité. Pcg_version=Version du plan Pcg_type=Classe de compte -Pcg_subtype=Sous classe de compte \ No newline at end of file +Pcg_subtype=Sous classe de compte