2006-07-23 03:38:43 +02:00
< ? php
/* Copyright ( C ) 2003 Rodolphe Quiedeville < rodolphe @ quiedeville . org >
2007-10-10 01:15:25 +02:00
* Copyright ( C ) 2004 - 2007 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 .
*
* $Id $
*/
/** \defgroup tax Module taxes
\brief Module pour inclure des fonctions de saisies des taxes et charges sociales
*/
/**
\file htdocs / includes / modules / modTax . class . php
\ingroup comptabilite
\brief Fichier de description et activation du module Taxe
*/
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
* \param DB handler d ' acc<EFBFBD> s base
*/
function modTax ( $DB )
{
global $conf ;
$this -> db = $DB ;
$this -> id = 'tax' ; // Same value xxx than in file modXxx.class.php file
$this -> numero = 500 ;
$this -> family = " financial " ;
$this -> name = " Taxes et charges sociales " ;
$this -> description = " Gestion des taxes et charges sociales " ;
$this -> revision = explode ( " " , " $Revision $ " );
$this -> version = $this -> revision [ 1 ];
$this -> const_name = 'MAIN_MODULE_TAX' ;
$this -> special = 0 ;
$this -> picto = 'bill' ;
// Config pages
$this -> config_page_url = array ();
// D<> pendances
$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 ();
// R<> pertoires
$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 ;
$this -> rights [ $r ][ 1 ] = 'Cr<43> er modifier les charges' ;
$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 ++ ;
$this -> export_code [ $r ] = $this -> id . '_' . $r ;
2007-05-21 22:28:24 +02:00
$this -> export_label [ $r ] = 'Taxes et charges sociales, et leurs r<> glements' ;
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' );
$this -> export_sql [ $r ] = " select distinct " ;
$i = 0 ;
foreach ( $this -> export_alias_array [ $r ] as $key => $value )
{
if ( $i > 0 ) $this -> export_sql [ $r ] .= ', ' ;
else $i ++ ;
$this -> export_sql [ $r ] .= $key . ' as ' . $value ;
}
$this -> export_sql [ $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 WHERE c.fk_type = cc.id' ;
$this -> export_permission [ $r ] = array ( array ( " tax " , " charges " , " export " ));
2006-07-23 03:38:43 +02: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 .
*/
function init ()
{
global $conf ;
// Nettoyage avant activation
$this -> remove ();
return $this -> _init ( $sql );
}
/**
* \brief Fonction appel<EFBFBD> e lors de la d<EFBFBD> sactivation d ' un module .
* Supprime de la base les constantes , boites et permissions du module .
*/
function remove ()
{
$sql = array ();
return $this -> _remove ( $sql );
}
}
?>