Fix: uniformize code

This commit is contained in:
Regis Houssin 2012-07-23 11:01:36 +02:00
parent f07c416f76
commit bf807c27e5
8 changed files with 105 additions and 129 deletions

View File

@ -1,3 +0,0 @@
div.mainmenu.commissions {
background : url('../img/commissions.png') no-repeat 20px 0;
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 651 B

View File

@ -1,5 +1,5 @@
<?php <?php
/* Copyright (C) 2012 Christophe Battarel <christophe.battarel@altairis.fr> /* Copyright (C) 2012 Christophe Battarel <christophe.battarel@altairis.fr>
* *
* This program is free software; you can redistribute it and/or modify * 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 * it under the terms of the GNU General Public License as published by
@ -16,28 +16,27 @@
*/ */
/** /**
* \file htdocs/custom/commissions/index.php * \file htdocs/commissions/index.php
* \ingroup commissions * \ingroup commissions
* \brief Page des commissions par agent commercial * \brief Page des commissions par agent commercial
* \version $Id: facture.php,v 1.84 2011/08/08 16:07:47 eldy Exp $
*/ */
require("../main.inc.php"); require("../main.inc.php");
require_once(DOL_DOCUMENT_ROOT."/core/lib/company.lib.php"); require_once(DOL_DOCUMENT_ROOT."/core/lib/company.lib.php");
require_once(DOL_DOCUMENT_ROOT."/compta/facture/class/facture.class.php"); require_once(DOL_DOCUMENT_ROOT."/compta/facture/class/facture.class.php");
require_once(DOL_DOCUMENT_ROOT."/product/class/product.class.php"); require_once(DOL_DOCUMENT_ROOT."/product/class/product.class.php");
if ($conf->marges->enabled) if (! empty($conf->margin->enabled))
require_once(DOL_DOCUMENT_ROOT."/marges/lib/marges.lib.php"); require_once(DOL_DOCUMENT_ROOT."/margin/lib/margins.lib.php");
$langs->load("companies"); $langs->load("companies");
$langs->load("bills"); $langs->load("bills");
$langs->load("products"); $langs->load("products");
if ($conf->marges->enabled)
$langs->load("marges");
$langs->load("commissions"); $langs->load("commissions");
if (! empty($conf->margin->enabled))
$langs->load("margins");
// Security check // Security check
$agentid = isset($_REQUEST["agentid"])?$_REQUEST["agentid"]:''; $agentid = GETPOST('agentid','int');
$mesg = ''; $mesg = '';
@ -57,7 +56,7 @@ if (!empty($_POST['enddatemonth']))
/* /*
* View * View
*/ */
$userstatic = new User($db); $userstatic = new User($db);
$companystatic = new Societe($db); $companystatic = new Societe($db);
$invoicestatic=new Facture($db); $invoicestatic=new Facture($db);
@ -65,10 +64,10 @@ $invoicestatic=new Facture($db);
$form = new Form($db); $form = new Form($db);
llxHeader('',$langs->trans("Commissions")); llxHeader('',$langs->trans("Commissions"));
$text=$langs->trans("Commissions"); $text=$langs->trans("Commissions");
print_fiche_titre($text); print_fiche_titre($text);
print '<form method="post" name="sel">'; print '<form method="post" name="sel">';
print '<table class="border" width="100%">'; print '<table class="border" width="100%">';
@ -78,7 +77,7 @@ if ($agentid > 0) {
print '<td colspan="4">'; print '<td colspan="4">';
print $form->select_dolusers($selected=$agentid,$htmlname='agentid',$show_empty=1,$exclude='',$disabled=0,$include='',$enableonly=''); print $form->select_dolusers($selected=$agentid,$htmlname='agentid',$show_empty=1,$exclude='',$disabled=0,$include='',$enableonly='');
print '</td></tr>'; print '</td></tr>';
if (! $sortorder) $sortorder="ASC"; if (! $sortorder) $sortorder="ASC";
if (! $sortfield) $sortfield="s.nom"; if (! $sortfield) $sortfield="s.nom";
} }
@ -91,7 +90,7 @@ else {
if (! $sortfield) $sortfield="u.login"; if (! $sortfield) $sortfield="u.login";
} }
// Date début // Date d<EFBFBD>but
print '<td>'.$langs->trans('StartDate').'</td>'; print '<td>'.$langs->trans('StartDate').'</td>';
print '<td width="20%">'; print '<td width="20%">';
$form->select_date($startdate,'startdate','','',1,"sel",1,1); $form->select_date($startdate,'startdate','','',1,"sel",1,1);
@ -181,25 +180,25 @@ if ($result)
print '<br>'; print '<br>';
print_barre_liste($langs->trans("CommissionDetails"),$page,$_SERVER["PHP_SELF"],"&amp;socid=$societe->id",$sortfield,$sortorder,'',$num,0,''); print_barre_liste($langs->trans("CommissionDetails"),$page,$_SERVER["PHP_SELF"],"&amp;socid=$societe->id",$sortfield,$sortorder,'',$num,0,'');
$i = 0; $i = 0;
print "<table class=\"noborder\" width=\"100%\">"; print "<table class=\"noborder\" width=\"100%\">";
print '<tr class="liste_titre">'; print '<tr class="liste_titre">';
if ($agentid > 0) if ($agentid > 0)
print_liste_field_titre($langs->trans("Customer"),$_SERVER["PHP_SELF"],"s.nom","","&amp;agentid=".$_REQUEST["agentid"],'align="center"',$sortfield,$sortorder); print_liste_field_titre($langs->trans("Customer"),$_SERVER["PHP_SELF"],"s.nom","","&amp;agentid=".$_REQUEST["agentid"],'align="center"',$sortfield,$sortorder);
else else
print_liste_field_titre($langs->trans("CommercialAgent"),$_SERVER["PHP_SELF"],"u.login","","&amp;agentid=".$_REQUEST["agentid"],'align="center"',$sortfield,$sortorder); print_liste_field_titre($langs->trans("CommercialAgent"),$_SERVER["PHP_SELF"],"u.login","","&amp;agentid=".$_REQUEST["agentid"],'align="center"',$sortfield,$sortorder);
// product commission // product commission
if ($conf->global->COMMISSION_BASE == "MARGES") if ($conf->global->COMMISSION_BASE == "MARGES")
print_liste_field_titre($langs->trans("ProductMargin"),$_SERVER["PHP_SELF"],"productBase","","&amp;agentid=".$_REQUEST["agentid"],'align="right"',$sortfield,$sortorder); print_liste_field_titre($langs->trans("ProductMargin"),$_SERVER["PHP_SELF"],"productBase","","&amp;agentid=".$_REQUEST["agentid"],'align="right"',$sortfield,$sortorder);
elseif ($conf->global->COMMISSION_BASE == "CA") elseif ($conf->global->COMMISSION_BASE == "CA")
print_liste_field_titre($langs->trans("ProductCA"),$_SERVER["PHP_SELF"],"productBase","","&amp;agentid=".$_REQUEST["agentid"],'align="right"',$sortfield,$sortorder); print_liste_field_titre($langs->trans("ProductCA"),$_SERVER["PHP_SELF"],"productBase","","&amp;agentid=".$_REQUEST["agentid"],'align="right"',$sortfield,$sortorder);
print_liste_field_titre($langs->trans("CommissionRate"),$_SERVER["PHP_SELF"],"","","&amp;agentid=".$_REQUEST["agentid"],'align="right"',$sortfield,$sortorder); print_liste_field_titre($langs->trans("CommissionRate"),$_SERVER["PHP_SELF"],"","","&amp;agentid=".$_REQUEST["agentid"],'align="right"',$sortfield,$sortorder);
print_liste_field_titre($langs->trans("ProductCommission"),$_SERVER["PHP_SELF"],"","","&amp;agentid=".$_REQUEST["agentid"],'align="right"',$sortfield,$sortorder); print_liste_field_titre($langs->trans("ProductCommission"),$_SERVER["PHP_SELF"],"","","&amp;agentid=".$_REQUEST["agentid"],'align="right"',$sortfield,$sortorder);
// service commission // service commission
if ($conf->global->COMMISSION_BASE == "MARGES") if ($conf->global->COMMISSION_BASE == "MARGES")
print_liste_field_titre($langs->trans("ServiceMargin"),$_SERVER["PHP_SELF"],"serviceBase","","&amp;agentid=".$_REQUEST["agentid"],'align="right"',$sortfield,$sortorder); print_liste_field_titre($langs->trans("ServiceMargin"),$_SERVER["PHP_SELF"],"serviceBase","","&amp;agentid=".$_REQUEST["agentid"],'align="right"',$sortfield,$sortorder);
@ -210,7 +209,7 @@ if ($result)
print_liste_field_titre($langs->trans("ServiceCommission"),$_SERVER["PHP_SELF"],"","","&amp;agentid=".$_REQUEST["agentid"],'align="right"',$sortfield,$sortorder); print_liste_field_titre($langs->trans("ServiceCommission"),$_SERVER["PHP_SELF"],"","","&amp;agentid=".$_REQUEST["agentid"],'align="right"',$sortfield,$sortorder);
// total commission // total commission
print_liste_field_titre($langs->trans("TotalCommission"),$_SERVER["PHP_SELF"],"","","&amp;agentid=".$_REQUEST["agentid"],'align="right"',$sortfield,$sortorder); print_liste_field_titre($langs->trans("TotalCommission"),$_SERVER["PHP_SELF"],"","","&amp;agentid=".$_REQUEST["agentid"],'align="right"',$sortfield,$sortorder);
print "</tr>\n"; print "</tr>\n";
$cumul_base_produit = 0; $cumul_base_produit = 0;
@ -222,7 +221,7 @@ if ($result)
$var=True; $var=True;
while ($i < $num && $i < $conf->liste_limit) while ($i < $num && $i < $conf->liste_limit)
{ {
$objp = $db->fetch_object($result); $objp = $db->fetch_object($result);
$var=!$var; $var=!$var;
@ -288,25 +287,23 @@ else
} }
$db->free($result); $db->free($result);
llxFooter();
$db->close(); $db->close();
llxFooter('$Date: 2011/08/08 16:07:47 $ - $Revision: 1.84 $');
?> ?>
<script type="text/javascript"> <script type="text/javascript">
$(document).ready(function() { $(document).ready(function() {
$("#agentid").change(function() { $("#agentid").change(function() {
$("div.fiche form").submit(); $("div.fiche form").submit();
}); });
$("#selIncluded").change(function() { $("#selIncluded").change(function() {
$("div.fiche form").submit(); $("div.fiche form").submit();
}); });
$("#totalBase").html("<?php echo price($cumul_base_produit + $cumul_base_service); ?>"); $("#totalBase").html("<?php echo price($cumul_base_produit + $cumul_base_service); ?>");
$("#totalCommission").html("<?php echo price($cumul_commission_produit + $cumul_commission_service); ?>"); $("#totalCommission").html("<?php echo price($cumul_commission_produit + $cumul_commission_service); ?>");
}); });
</script> </script>

View File

@ -1,5 +1,5 @@
<?php <?php
/* Copyright (C) 2012 Christophe Battarel <christophe.battarel@altairis.fr> /* Copyright (C) 2012 Christophe Battarel <christophe.battarel@altairis.fr>
* *
* This program is free software; you can redistribute it and/or modify * 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 * it under the terms of the GNU General Public License as published by
@ -12,16 +12,13 @@
* GNU General Public License for more details. * GNU General Public License for more details.
* *
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software * along with this program. If not, see <http://www.gnu.org/licenses/>.
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
* or see http://www.gnu.org/
*/ */
/** /**
* \file /marges/lib/commissions.lib.php * \file /htdocs/commissions/lib/commissions.lib.php
* \ingroup marges * \ingroup commissions
* \brief Library for common commissions functions * \brief Library for common commissions functions
* \version $Id:$
*/ */
/** /**
@ -31,20 +28,20 @@
function commissions_admin_prepare_head() function commissions_admin_prepare_head()
{ {
global $langs, $conf; global $langs, $conf;
$h = 0; $h = 0;
$head = array(); $head = array();
$head[$h][0] = dol_buildpath("/commissions/admin/commissions.php",1); $head[$h][0] = DOL_URL_ROOT.'/commissions/admin/commissions.php';
$head[$h][1] = $langs->trans("Parameters"); $head[$h][1] = $langs->trans("Parameters");
$head[$h][2] = 'parameters'; $head[$h][2] = 'parameters';
$h++; $h++;
// Show more tabs from modules // Show more tabs from modules
// Entries must be declared in modules descriptor with line // Entries must be declared in modules descriptor with line
// $this->tabs = array('entity:+tabname:Title:@mymodule:/mymodule/mypage.php?id=__ID__'); to add new tab // $this->tabs = array('entity:+tabname:Title:@mymodule:/mymodule/mypage.php?id=__ID__'); to add new tab
// $this->tabs = array('entity:-tabname:Title:@mymodule:/mymodule/mypage.php?id=__ID__'); to remove a tab // $this->tabs = array('entity:-tabname:Title:@mymodule:/mymodule/mypage.php?id=__ID__'); to remove a tab
complete_head_from_modules($conf,$langs,$object,$head,$h,'margesadmin'); complete_head_from_modules($conf,$langs,$object,$head,$h,'commissionsadmin');
return $head; return $head;
} }

View File

@ -78,10 +78,10 @@ abstract class CommonDocGenerator
{ {
$mysoc->country=$outputlangs->transnoentitiesnoconv("Country".$mysoc->country_code); $mysoc->country=$outputlangs->transnoentitiesnoconv("Country".$mysoc->country_code);
} }
if (empty($mysoc->state) && ! empty($mysoc->state_code)) if (empty($mysoc->state) && ! empty($mysoc->state_code))
{ {
$mysoc->state=getState($mysoc->state_code,0); $mysoc->state=getState($mysoc->state_code,0);
} }
$logotouse=$conf->mycompany->dir_output.'/logos/thumbs/'.$mysoc->logo_small; $logotouse=$conf->mycompany->dir_output.'/logos/thumbs/'.$mysoc->logo_small;

View File

@ -1,5 +1,5 @@
<?php <?php
/* Copyright (C) 2012 Christophe Battarel <christophe.battarel@altairis.fr> /* Copyright (C) 2012 Christophe Battarel <christophe.battarel@altairis.fr>
* *
* This program is free software; you can redistribute it and/or modify * 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 * it under the terms of the GNU General Public License as published by
@ -16,99 +16,81 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/ */
/** \defgroup mymodule Module MyModule
* \brief Example of a module descriptor.
* Such a file must be copied into htdocs/includes/module directory.
*/
/** /**
* \file htdocs/includes/modules/modMyModule.class.php * \defgroup commissions Module Commissions
* \ingroup mymodule * \brief Example of a module descriptor.
* \brief Description and activation file for module MyModule * \file htdocs/core/modules/modCommissions.class.php
* \version $Id: modMyModule.class.php,v 1.26 2008/12/15 18:27:00 eldy Exp $ * \ingroup commissions
* \brief Description and activation file for module Commissions
*/ */
include_once(DOL_DOCUMENT_ROOT ."/core/modules/DolibarrModules.class.php"); include_once(DOL_DOCUMENT_ROOT ."/core/modules/DolibarrModules.class.php");
/** \class modMyModule /**
* \brief Description and activation class for module MyModule * \class modCommissions
* \brief Description and activation class for module Commissions
*/ */
class modCommissions extends DolibarrModules class modCommissions extends DolibarrModules
{ {
/** /**
* \brief Constructor. Define names, constants, directories, boxes, permissions * Constructor
* \param DB Database handler *
*/ * @param DoliDB $db Database handler
function modCommissions($DB) */
function modCommissions($db)
{ {
$this->db = $DB; $this->db = $db;
// Id for module (must be unique). // Id for module (must be unique).
// Use here a free id (See in Home -> System information -> Dolibarr for list of used modules id). // Use here a free id (See in Home -> System information -> Dolibarr for list of used modules id).
$this->numero = 60000; $this->numero = 60000;
// Key text used to identify module (for permissions, menus, etc...) // Key text used to identify module (for permissions, menus, etc...)
$this->rights_class = 'Commissions'; $this->rights_class = 'Commissions';
// Family can be 'crm','financial','hr','projects','products','ecm','technic','other' // Family can be 'crm','financial','hr','projects','products','ecm','technic','other'
// It is used to group modules in module setup page // It is used to group modules in module setup page
$this->family = "financial"; $this->family = "financial";
// Module label (no space allowed), used if translation string 'ModuleXXXName' not found (where XXX is value of numeric property 'numero' of module) // Module label (no space allowed), used if translation string 'ModuleXXXName' not found (where XXX is value of numeric property 'numero' of module)
$this->name = mb_ereg_replace('^mod','',get_class($this), "i"); $this->name = preg_replace('/^mod/i','',get_class($this));
// Module description, used if translation string 'ModuleXXXDesc' not found (where XXX is value of numeric property 'numero' of module) // Module description, used if translation string 'ModuleXXXDesc' not found (where XXX is value of numeric property 'numero' of module)
$this->description = "Gestion des commissions"; $this->description = "Commissions management";
// Possible values for version are: 'development', 'experimental', 'dolibarr' or version // Possible values for version are: 'development', 'experimental', 'dolibarr' or version
$this->version = '1.0'; $this->version = 'dolibarr';
// Key used in llx_const table to save module status enabled/disabled (where MYMODULE is value of property name of module in uppercase) // Key used in llx_const table to save module status enabled/disabled (where MYMODULE is value of property name of module in uppercase)
$this->const_name = 'MAIN_MODULE_'.strtoupper($this->name); $this->const_name = 'MAIN_MODULE_'.strtoupper($this->name);
// Where to store the module in setup page (0=common,1=interface,2=other) // Where to store the module in setup page (0=common,1=interface,2=other)
$this->special = 0; $this->special = 0;
// Name of png file (without png) used for this module. // Name of png file (without png) used for this module.
// Png file must be in theme/yourtheme/img directory under name object_pictovalue.png. // Png file must be in theme/yourtheme/img directory under name object_pictovalue.png.
$this->picto='commissions@commissions'; $this->picto='commissions';
// Data directories to create when module is enabled. // Data directories to create when module is enabled.
$this->dirs = array(); $this->dirs = array();
//$this->dirs[0] = DOL_DATA_ROOT.'/Marges';
//$this->dirs[1] = DOL_DATA_ROOT.'/mymodule/temp;
// Relative path to module style sheet if exists. Example: '/mymodule/mycss.css'.
$this->style_sheet = '/commissions/css/commissions.css';
// Config pages. Put here list of php page names stored in admmin directory used to setup module. // Config pages. Put here list of php page names stored in admmin directory used to setup module.
$this->config_page_url = array("commissions.php"); $this->config_page_url = array("commissions.php");
// Dependencies // Dependencies
$this->depends = array("modFacture", "modMarges"); // List of modules id that must be enabled if this module is enabled $this->depends = array("modFacture", "modMargin"); // List of modules id that must be enabled if this module is enabled
$this->requiredby = array(); // List of modules id to disable if this one is disabled $this->requiredby = array(); // List of modules id to disable if this one is disabled
$this->phpmin = array(4,1); // Minimum version of PHP required by module $this->phpmin = array(5,1); // Minimum version of PHP required by module
$this->need_dolibarr_version = array(3,1); // Minimum version of Dolibarr required by module $this->need_dolibarr_version = array(3,2); // Minimum version of Dolibarr required by module
$this->langfiles = array("commissions"); $this->langfiles = array("commissions");
// Constants // Constants
$this->const = array(); // List of particular constants to add when module is enabled $this->const = array(); // List of particular constants to add when module is enabled
//$this->const = array( 0=>array('MAIN_MODULE_MARGES_HOOKS', 'chaine', 'propalcard', 'Hooks list for displaying Marges data on entity lists', 0, 'current', 1) );
// New pages on tabs
$this->tabs = array(
);
// Boxes
$this->boxes = array(); // List of boxes
$r=0;
// Add here list of php file(s) stored in includes/boxes that contains class to show a box.
// Example:
//$this->boxes[$r][1] = "myboxa.php";
//$r++;
//$this->boxes[$r][1] = "myboxb.php";
//$r++;
// New pages on tabs
$this->tabs = array();
// Boxes
$this->boxes = array(); // List of boxes
$r=0;
// Permissions // Permissions
$this->rights = array(); // Permission array used by this module $this->rights = array(); // Permission array used by this module
$r=0; $r=0;
// Add here list of permission defined by an id, a label, a boolean and two constant strings. // Add here list of permission defined by an id, a label, a boolean and two constant strings.
// Example: // Example:
// $this->rights[$r][0] = 2000; // Permission id (must not be already used) // $this->rights[$r][0] = 2000; // Permission id (must not be already used)
@ -118,13 +100,14 @@ class modCommissions extends DolibarrModules
// $this->rights[$r][5] = 'level2'; // In php code, permission will be checked by test if ($user->rights->permkey->level1->level2) // $this->rights[$r][5] = 'level2'; // In php code, permission will be checked by test if ($user->rights->permkey->level1->level2)
// $r++; // $r++;
// Main menu entries // Main menu entries
$this->menu = array(); // List of menus to add $this->menu = array(); // List of menus to add
$r = 0; $r = 0;
// left menu entry // left menu entry
$this->menu[$r]=array( 'fk_menu'=>0, // Put 0 if this is a top menu $this->menu[$r]=array(
'fk_menu'=>0, // Put 0 if this is a top menu
'type'=>'top', // This is a Top menu entry 'type'=>'top', // This is a Top menu entry
'titre'=>'Commissions', 'titre'=>'Commissions',
'mainmenu'=>'commissions', 'mainmenu'=>'commissions',
@ -136,30 +119,31 @@ class modCommissions extends DolibarrModules
'perms'=>'1', // Use 'perms'=>'$user->rights->monmodule->level1->level2' if you want your menu with a permission rules 'perms'=>'1', // Use 'perms'=>'$user->rights->monmodule->level1->level2' if you want your menu with a permission rules
'target'=>'', 'target'=>'',
'user'=>2); // 0=Menu for internal users, 1=external users, 2=both 'user'=>2); // 0=Menu for internal users, 1=external users, 2=both
$r++; $r++;
} }
/** /**
* \brief Function called when module is enabled. * Function called when module is enabled.
* The init function add constants, boxes, permissions and menus (defined in constructor) into Dolibarr database. * The init function add constants, boxes, permissions and menus (defined in constructor) into Dolibarr database.
* It also creates data directories. * It also creates data directories.
* \return int 1 if OK, 0 if KO *
* @return int 1 if OK, 0 if KO
*/ */
function init() function init()
{ {
$sql = array(); $sql = array();
$result=$this->load_tables(); $result=$this->load_tables();
return $this->_init($sql); return $this->_init($sql);
} }
/** /**
* \brief Function called when module is disabled. * Function called when module is disabled.
* Remove from database constants, boxes and permissions from Dolibarr database. * Remove from database constants, boxes and permissions from Dolibarr database.
* Data directories are not deleted. * Data directories are not deleted.
* \return int 1 if OK, 0 if KO *
* @return int 1 if OK, 0 if KO
*/ */
function remove() function remove()
{ {
@ -168,15 +152,16 @@ class modCommissions extends DolibarrModules
return $this->_remove($sql); return $this->_remove($sql);
} }
/** /**
* \brief Create tables and keys required by module * Create tables and keys required by module
* Files mymodule.sql and mymodule.key.sql with create table and create keys * Files mymodule.sql and mymodule.key.sql with create table and create keys
* commands must be stored in directory /mymodule/sql/ * commands must be stored in directory /mymodule/sql/
* This function is called by this->init. * This function is called by this->init.
* \return int <=0 if KO, >0 if OK *
*/ * @return int <=0 if KO, >0 if OK
function load_tables() */
function load_tables()
{ {
return; return;
} }

View File

@ -1,4 +1,4 @@
# Dolibarr language file - fr_FR - marges # Dolibarr language file - fr_FR - commissions
CHARSET=UTF-8 CHARSET=UTF-8
commissionsSetup=Paramétrage de la gestion des commissions commissionsSetup=Paramétrage de la gestion des commissions