2006-07-23 03:38:43 +02:00
< ? php
/* Copyright ( C ) 2003 Rodolphe Quiedeville < rodolphe @ quiedeville . org >
2008-02-18 05:23:08 +01:00
* Copyright ( C ) 2004 - 2008 Laurent Destailleur < eldy @ users . sourceforge . net >
2006-07-23 03:38:43 +02:00
* Copyright ( C ) 2004 Sebastien Di Cintio < sdicintio @ ressource - toi . org >
* Copyright ( C ) 2004 Benoit Mortier < benoit . mortier @ opensides . be >
*
* 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 , write to the Free Software
* Foundation , Inc . , 59 Temple Place - Suite 330 , Boston , MA 02111 - 1307 , USA .
*/
/** \defgroup tax Module taxes
2008-02-18 05:23:08 +01:00
\brief Module pour inclure des fonctions de saisies des taxes ( tva ) et charges sociales
2006-07-23 03:38:43 +02:00
*/
/**
\file htdocs / includes / modules / modTax . class . php
2008-02-18 05:23:08 +01:00
\ingroup tax
2006-07-23 03:38:43 +02:00
\brief Fichier de description et activation du module Taxe
2008-02-18 05:23:08 +01:00
\version $Id $
2006-07-23 03:38:43 +02:00
*/
2007-10-10 01:15:25 +02:00
include_once ( DOL_DOCUMENT_ROOT . " /includes/modules/DolibarrModules.class.php " );
2006-07-23 03:38:43 +02:00
/**
\class modTax
\brief Classe de description et activation du module Tax
*/
class modTax extends DolibarrModules
{
/**
* \brief Constructeur . Definit les noms , constantes et boites
2008-01-13 23:47:50 +01:00
* \param DB handler d ' acc<EFBFBD> s base
2006-07-23 03:38:43 +02:00
*/
function modTax ( $DB )
{
global $conf ;
$this -> db = $DB ;
$this -> numero = 500 ;
$this -> family = " financial " ;
2008-10-01 21:10:17 +02:00
// Module label (no space allowed), used if translation string 'ModuleXXXName' not found (where XXX is value of numeric property 'numero' of module)
$this -> name = eregi_replace ( '^mod' , '' , get_class ( $this ));
// Module description used if translation string 'ModuleXXXDesc' not found (where XXX is value of numeric property 'numero' of module)
$this -> description = " Gestion des taxes, charges sociales et dividendes " ;
2006-07-23 03:38:43 +02:00
$this -> revision = explode ( " " , " $Revision $ " );
$this -> version = $this -> revision [ 1 ];
2008-10-06 09:39:52 +02:00
$this -> const_name = 'MAIN_MODULE_' . strtoupper ( $this -> name );
2006-07-23 03:38:43 +02:00
$this -> special = 0 ;
$this -> picto = 'bill' ;
// Config pages
2008-02-18 05:23:08 +01:00
$this -> config_page_url = array ( " taxes.php " );
2006-07-23 03:38:43 +02:00
2008-01-13 23:47:50 +01:00
// D<> pendances
2006-07-23 03:38:43 +02:00
$this -> depends = array ();
$this -> requiredby = array ();
$this -> conflictwith = array ();
2007-05-21 21:58:25 +02:00
$this -> langfiles = array ( " compta " , " bills " );
2006-07-23 03:38:43 +02:00
// Constantes
$this -> const = array ();
2008-01-13 23:47:50 +01:00
// R<> pertoires
2006-07-23 03:38:43 +02:00
$this -> dirs = array ();
$this -> dirs [ 0 ] = $conf -> tax -> dir_output ;
2006-08-19 17:50:48 +02:00
$this -> dirs [ 1 ] = $conf -> tax -> dir_temp ;
2006-07-23 03:38:43 +02:00
// Boites
$this -> boxes = array ();
// Permissions
$this -> rights = array ();
$this -> rights_class = 'tax' ;
$r = 0 ;
$r ++ ;
$this -> rights [ $r ][ 0 ] = 91 ;
$this -> rights [ $r ][ 1 ] = 'Lire les charges' ;
$this -> rights [ $r ][ 2 ] = 'r' ;
$this -> rights [ $r ][ 3 ] = 1 ;
$this -> rights [ $r ][ 4 ] = 'charges' ;
$this -> rights [ $r ][ 5 ] = 'lire' ;
$r ++ ;
$this -> rights [ $r ][ 0 ] = 92 ;
2008-05-24 03:13:59 +02:00
$this -> rights [ $r ][ 1 ] = 'Creer/modifier les charges' ;
2006-07-23 03:38:43 +02:00
$this -> rights [ $r ][ 2 ] = 'w' ;
$this -> rights [ $r ][ 3 ] = 0 ;
$this -> rights [ $r ][ 4 ] = 'charges' ;
$this -> rights [ $r ][ 5 ] = 'creer' ;
$r ++ ;
$this -> rights [ $r ][ 0 ] = 93 ;
$this -> rights [ $r ][ 1 ] = 'Supprimer les charges' ;
$this -> rights [ $r ][ 2 ] = 'd' ;
$this -> rights [ $r ][ 3 ] = 0 ;
$this -> rights [ $r ][ 4 ] = 'charges' ;
$this -> rights [ $r ][ 5 ] = 'supprimer' ;
2007-05-21 21:58:25 +02:00
$r ++ ;
$this -> rights [ $r ][ 0 ] = 94 ;
$this -> rights [ $r ][ 1 ] = 'Exporter les charges' ;
$this -> rights [ $r ][ 2 ] = 'r' ;
$this -> rights [ $r ][ 3 ] = 0 ;
$this -> rights [ $r ][ 4 ] = 'charges' ;
$this -> rights [ $r ][ 5 ] = 'export' ;
// Exports
//--------
$r = 0 ;
$r ++ ;
2008-01-17 22:37:46 +01:00
$this -> export_code [ $r ] = $this -> rights_class . '_' . $r ;
2008-01-13 23:47:50 +01:00
$this -> export_label [ $r ] = 'Taxes et charges sociales, et leurs r<> glements' ;
2008-01-10 23:21:18 +01:00
$this -> export_permission [ $r ] = array ( array ( " tax " , " charges " , " export " ));
2007-05-21 21:58:25 +02:00
$this -> export_fields_array [ $r ] = array ( 'cc.libelle' => " Type " , 'c.libelle' => " Label " , 'c.date_ech' => 'DateDue' , 'c.periode' => 'Period' , 'c.amount' => " AmountExpected " , " c.paye " => " Status " , 'p.datep' => 'DatePayment' , 'p.amount' => 'AmountPayment' , 'p.num_paiement' => 'Numero' );
$this -> export_entities_array [ $r ] = array ( 'cc.libelle' => " tax_type " , 'c.libelle' => 'tax' , 'c.date_ech' => 'tax' , 'c.periode' => 'tax' , 'c.amount' => " tax " , " c.paye " => " tax " , 'p.datep' => 'payment' , 'p.amount' => 'payment' , 'p.num_paiement' => 'payment' );
$this -> export_alias_array [ $r ] = array ( 'cc.libelle' => " type " , 'c.libelle' => 'label' , 'c.date_ech' => 'datedue' , 'c.periode' => 'period' , 'c.amount' => " amount_clamed " , " c.paye " => " status " , 'p.datep' => 'date_payment' , 'p.amount' => 'amount_payment' , 'p.num_paiement' => 'num_payment' );
2008-01-10 23:21:18 +01:00
$this -> export_sql_start [ $r ] = 'SELECT DISTINCT ' ;
$this -> export_sql_end [ $r ] = ' FROM ' . MAIN_DB_PREFIX . 'c_chargesociales as cc, ' . MAIN_DB_PREFIX . 'chargesociales as c LEFT JOIN ' . MAIN_DB_PREFIX . 'paiementcharge as p ON p.fk_charge = c.rowid' ;
$this -> export_sql_end [ $r ] .= ' WHERE c.fk_type = cc.id' ;
2006-07-23 03:38:43 +02:00
}
/**
2008-01-13 23:47:50 +01:00
* \brief Fonction appel<EFBFBD> e lors de l ' activation du module . Ins<EFBFBD> re en base les constantes , boites , permissions du module .
* D<EFBFBD> finit <EFBFBD> galement les r<EFBFBD> pertoires de donn<EFBFBD> es <EFBFBD> cr<EFBFBD> er pour ce module .
2006-07-23 03:38:43 +02:00
*/
function init ()
{
global $conf ;
// Nettoyage avant activation
$this -> remove ();
return $this -> _init ( $sql );
}
/**
2008-01-13 23:47:50 +01:00
* \brief Fonction appel<EFBFBD> e lors de la d<EFBFBD> sactivation d ' un module .
2006-07-23 03:38:43 +02:00
* Supprime de la base les constantes , boites et permissions du module .
*/
function remove ()
{
$sql = array ();
return $this -> _remove ( $sql );
}
}
?>