From efd7b8d4294c2f52cf28b82218db7e1ae0b718fa Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Wed, 29 Jun 2011 17:55:32 +0000 Subject: [PATCH] Serious enhancement of expenses module --- .../deplacement/class/deplacement.class.php | 34 +++- htdocs/compta/deplacement/fiche.php | 41 ++-- htdocs/compta/deplacement/index.php | 191 ++++++++++++------ htdocs/compta/deplacement/list.php | 129 ++++++++++++ htdocs/compta/dons/class/don.class.php | 23 ++- htdocs/compta/dons/index.php | 12 +- htdocs/compta/index.php | 84 +++++--- htdocs/includes/menus/init_menu_auguria.sql | 7 +- htdocs/includes/menus/standard/eldy.lib.php | 6 +- .../install/mysql/migration/3.0.0-3.1.0.sql | 4 +- htdocs/install/mysql/tables/llx_don.sql | 5 +- htdocs/langs/en_US/boxes.lang | 2 + htdocs/langs/en_US/trips.lang | 3 +- htdocs/langs/fr_FR/boxes.lang | 2 + htdocs/langs/fr_FR/trips.lang | 1 + 15 files changed, 409 insertions(+), 135 deletions(-) create mode 100755 htdocs/compta/deplacement/list.php diff --git a/htdocs/compta/deplacement/class/deplacement.class.php b/htdocs/compta/deplacement/class/deplacement.class.php index 85dd52a7573..7161e07e5cf 100644 --- a/htdocs/compta/deplacement/class/deplacement.class.php +++ b/htdocs/compta/deplacement/class/deplacement.class.php @@ -22,7 +22,7 @@ * \file htdocs/compta/deplacement/class/deplacement.class.php * \ingroup deplacement * \brief File of class to manage trips - * \version $Id$ + * \version $Id: deplacement.class.php,v 1.9 2011/06/29 17:55:34 eldy Exp $ */ require_once(DOL_DOCUMENT_ROOT ."/core/class/commonobject.class.php"); @@ -328,6 +328,38 @@ class Deplacement extends CommonObject return $result; } + + /** + * List of types + */ + function listOfTypes($active=1) + { + global $conf,$langs; + + $ret=array(); + + $sql = "SELECT id, code, libelle as label"; + $sql.= " FROM ".MAIN_DB_PREFIX."c_type_fees"; + $sql.= " WHERE active = ".$active; + + dol_syslog("Deplacement::listOfTypes sql=".$sql, LOG_DEBUG); + $result = $this->db->query($sql) ; + if ( $result ) + { + $num = $this->db->num_rows($result); + $i=0; + while ($i < $num) + { + $obj = $this->db->fetch_object($result); + $ret[$obj->id]=array('code'=>$obj->code, 'label'=>(($langs->trans($obj->code)!=$obj->code)?$langs->trans($obj->code):$obj->label)); + $i++; + } + } + else dol_print_error($this->db); + + return $ret; + } + } ?> diff --git a/htdocs/compta/deplacement/fiche.php b/htdocs/compta/deplacement/fiche.php index 4f7737c5f30..c49a853ea4a 100644 --- a/htdocs/compta/deplacement/fiche.php +++ b/htdocs/compta/deplacement/fiche.php @@ -21,7 +21,7 @@ /** * \file htdocs/compta/deplacement/fiche.php * \brief Page to show a trip card - * \version $Id$ + * \version $Id: fiche.php,v 1.55 2011/06/29 17:55:33 eldy Exp $ */ require("../../main.inc.php"); @@ -212,15 +212,18 @@ if ($_GET["action"] == 'create') print $html->select_date($datec?$datec:-1,'','','','','add',1,1); print ''; + // Km + print ''.$langs->trans("FeesKilometersOrAmout").''; + + // Company print ""; print ''.$langs->trans("CompanyVisited").''; print $html->select_societes($_POST["socid"]?$_POST["socid"]:$_GET["socid"],'socid','',1); print ''; - print ''.$langs->trans("FeesKilometersOrAmout").''; - print ''; + print ''; - print '
    '; + print '
    '; print ''; @@ -282,17 +285,19 @@ else print $html->select_users($_POST["fk_user"]?$_POST["fk_user"]:$deplacement->fk_user,'fk_user',0); print ''; - // Where - print ""; - print ''.$langs->trans("CompanyVisited").''; - print $html->select_societes($soc->id,'socid','',1); - print ''; - // Date print ''.$langs->trans("Date").''; print $html->select_date($deplacement->date,'','','','','update'); print ''; - print ''.$langs->trans("FeesKilometersOrAmout").''; + + // Km + print ''.$langs->trans("FeesKilometersOrAmout").''; + + // Where + print ""; + print ''.$langs->trans("CompanyVisited").''; + print $html->select_societes($soc->id,'socid','',1); + print ''; print ''; @@ -336,12 +341,6 @@ else print $userfee->getNomUrl(1); print ''; - // Where - print ''.$langs->trans("CompanyVisited").''; - print ''; - if ($soc->id) print $soc->getNomUrl(1); - print ''; - // Date print ''.$langs->trans("Date").''; print dol_print_date($deplacement->date,'day'); @@ -350,6 +349,12 @@ else // Km/Price print ''.$langs->trans("FeesKilometersOrAmout").''.$deplacement->km.''; + // Where + print ''.$langs->trans("CompanyVisited").''; + print ''; + if ($soc->id) print $soc->getNomUrl(1); + print ''; + // Project if ($conf->projet->enabled) { @@ -428,5 +433,5 @@ print ''; $db->close(); -llxFooter('$Date$ - $Revision$'); +llxFooter('$Date: 2011/06/29 17:55:33 $ - $Revision: 1.55 $'); ?> diff --git a/htdocs/compta/deplacement/index.php b/htdocs/compta/deplacement/index.php index 762baeea921..994e9e814e2 100644 --- a/htdocs/compta/deplacement/index.php +++ b/htdocs/compta/deplacement/index.php @@ -20,9 +20,9 @@ */ /** - \file htdocs/compta/deplacement/index.php - \brief Page liste des deplacements - \version $Id$ + * \file htdocs/compta/deplacement/index.php + * \brief Page list of expenses + * \version $Id: index.php,v 1.44 2011/06/29 17:55:33 eldy Exp $ */ require("../../main.inc.php"); @@ -56,74 +56,143 @@ $limit = $conf->liste_limit; $tripandexpense_static=new Deplacement($db); -llxHeader(); +//$help_url='EN:Module_Donations|FR:Module_Dons|ES:Módulo_Subvenciones'; +$help_url=''; +llxHeader('',$langs->trans("ListOfFees"),$help_url); -$sql = "SELECT s.nom, s.rowid as socid,"; // Ou -$sql.= " d.rowid, d.type, d.dated as dd, d.km, "; // Comment -$sql.= " u.name, u.firstname"; // Qui -$sql.= " FROM ".MAIN_DB_PREFIX."user as u"; -$sql.= ", ".MAIN_DB_PREFIX."deplacement as d"; -$sql.= " LEFT JOIN ".MAIN_DB_PREFIX."societe as s ON d.fk_soc = s.rowid"; -if (!$user->rights->societe->client->voir && !$socid) $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."societe_commerciaux as sc ON s.rowid = sc.fk_soc"; -$sql.= " WHERE d.fk_user = u.rowid"; -$sql.= " AND d.entity = ".$conf->entity; -if (!$user->rights->societe->client->voir && !$socid) $sql.= " AND sc.fk_user = " .$user->id; -if ($socid) $sql.= " AND s.rowid = ".$socid; -$sql.= $db->order($sortfield,$sortorder); -$sql.= $db->plimit($limit + 1 ,$offset); -//print $sql; -$resql=$db->query($sql); -if ($resql) + + +$totalnb=0; +$sql = "SELECT count(d.rowid) as nb, sum(d.km) as km, d.type"; +$sql.= " FROM ".MAIN_DB_PREFIX."deplacement as d"; +$sql.= " GROUP BY d.type"; +$sql.= " ORDER BY d.type"; + +$result = $db->query($sql); +if ($result) { - $num = $db->num_rows($resql); - - print_barre_liste($langs->trans("ListOfFees"), $page, "index.php","&socid=$socid",$sortfield,$sortorder,'',$num); - + $num = $db->num_rows($result); $i = 0; - print ''; - print ""; - print_liste_field_titre($langs->trans("Ref"),$_SERVER["PHP_SELF"],"d.rowid","","&socid=$socid",'',$sortfield,$sortorder); - print_liste_field_titre($langs->trans("Type"),$_SERVER["PHP_SELF"],"d.type","","&socid=$socid",'',$sortfield,$sortorder); - print_liste_field_titre($langs->trans("Date"),$_SERVER["PHP_SELF"],"d.dated","","&socid=$socid",'',$sortfield,$sortorder); - print_liste_field_titre($langs->trans("Company"),$_SERVER["PHP_SELF"],"s.nom","","&socid=$socid",'',$sortfield,$sortorder); - print_liste_field_titre($langs->trans("Person"),$_SERVER["PHP_SELF"],"u.name","","&socid=$socid",'',$sortfield,$sortorder); - print_liste_field_titre($langs->trans("FeesKilometersOrAmout"),$_SERVER["PHP_SELF"],"d.km","","&socid=$socid",'align="right"',$sortfield,$sortorder); - print_liste_field_titre('',$_SERVER["PHP_SELF"], ''); - print "\n"; - - $var=true; - while ($i < min($num,$limit)) + while ($i < $num) { - $objp = $db->fetch_object($resql); - - $soc = new Societe($db); - if ($objp->socid) $soc->fetch($objp->socid); - - $var=!$var; - print ''; - print ''; - print ''; - print ''; - if ($objp->socid) print ''; - else print ''; - print ''; - print ''; - - print ''; - print "\n"; + $objp = $db->fetch_object($result); + $somme[$objp->type] = $objp->km; + $nb[$objp->type] = $objp->nb; + $totalnb += $objp->nb; $i++; } - - print "
'.img_object($langs->trans("ShowTrip"),"trip").' '.$objp->rowid.''.$langs->trans($objp->type).''.dol_print_date($db->jdate($objp->dd),'day').''.$soc->getNomUrl(1).' '.img_object($langs->trans("ShowUser"),"user").' '.$objp->firstname.' '.$objp->name.''.$objp->km.''.$tripandexpense_static->getLibStatut(5).'
"; - $db->free($resql); -} -else -{ + $db->free($result); +} else { dol_print_error($db); } + + +print_fiche_titre($langs->trans("ExpensesArea")); + +print ''; + +// Left area +print '
'; + + + +print ''; +print ''; +print ''; +print "\n"; + +$listoftype=$tripandexpense_static->listOfTypes(); +foreach ($listoftype as $typefee) +{ + $dataseries[]=array('label'=>$typefee['label'],'values'=>array(0=>(isset($nb[$typefee['code']])?$nb[$typefee['code']]:0))); +} + +if ($conf->use_javascript_ajax) +{ + print ''; +} + +print ''; +print ''; +print ''; +print ''; + +print '
'.$langs->trans("Statistics").'
'; + $data=array('series'=>$dataseries); + dol_print_graph('stats',300,180,$data,1,'pie',1); + print '
'.$langs->trans("Total").''.$totalnb.'
'; + + +// Right area +print '
'; + +$max=10; + +$langs->load("boxes"); + +$sql = "SELECT u.rowid as uid, u.name, u.firstname, d.rowid, d.dated as date, d.tms as dm, d.km"; +$sql.= " FROM ".MAIN_DB_PREFIX."deplacement as d, ".MAIN_DB_PREFIX."user as u"; +if (!$user->rights->societe->client->voir && !$user->societe_id) $sql.= ", ".MAIN_DB_PREFIX."societe as s, ".MAIN_DB_PREFIX."societe_commerciaux as sc"; +$sql.= " WHERE u.rowid = d.fk_user"; +$sql.= " AND d.entity = ".$conf->entity; +if (!$user->rights->societe->client->voir && !$user->societe_id) $sql.= " AND d.fk_soc = s. rowid AND s.rowid = sc.fk_soc AND sc.fk_user = " .$user->id; +if ($socid) $sql.= " AND d.fk_soc = ".$socid; +$sql.= $db->order("d.tms","DESC"); +$sql.= $db->plimit($max, 0); + +$result = $db->query($sql); +if ($result) +{ + $var=false; + $num = $db->num_rows($result); + + $i = 0; + + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + if ($num) + { + $total_ttc = $totalam = $total = 0; + + $deplacementstatic=new Deplacement($db); + $userstatic=new User($db); + while ($i < $num && $i < $max) + { + $objp = $db->fetch_object($result); + $deplacementstatic->ref=$objp->rowid; + $deplacementstatic->id=$objp->rowid; + $userstatic->id=$objp->uid; + $userstatic->nom=$objp->name; + $userstatic->prenom=$objp->firstname; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + $var=!$var; + $i++; + } + + } + else + { + print ''; + } + print '
'.$langs->trans("BoxTitleLastModifiedExpenses",min($max,$num)).''.$langs->trans("FeesKilometersOrAmout").''.$langs->trans("DateModificationShort").' 
'.$deplacementstatic->getNomUrl(1).''.$userstatic->getNomUrl(1).''.$objp->km.''.dol_print_date($db->jdate($objp->dm),'day').''.$deplacementstatic->LibStatut($objp->fk_statut,3).'
'.$langs->trans("None").'

'; +} +else dol_print_error($db); + + $db->close(); -llxFooter('$Date$ - $Revision$'); +llxFooter('$Date: 2011/06/29 17:55:33 $ - $Revision: 1.44 $'); ?> diff --git a/htdocs/compta/deplacement/list.php b/htdocs/compta/deplacement/list.php new file mode 100755 index 00000000000..404e0afb5f4 --- /dev/null +++ b/htdocs/compta/deplacement/list.php @@ -0,0 +1,129 @@ + + * Copyright (C) 2004-2011 Laurent Destailleur + * Copyright (C) 2004 Eric Seigne + * Copyright (C) 2005-2009 Regis Houssin + * + * 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. + */ + +/** + * \file htdocs/compta/deplacement/list.php + * \brief Page list of expenses + * \version $Id: list.php,v 1.1 2011/06/29 17:55:33 eldy Exp $ + */ + +require("../../main.inc.php"); +require_once(DOL_DOCUMENT_ROOT."/compta/tva/class/tva.class.php"); +require_once(DOL_DOCUMENT_ROOT."/compta/deplacement/class/deplacement.class.php"); + +$langs->load("companies"); +$langs->load("users"); +$langs->load("trips"); + +// Security check +$socid = $_GET["socid"]?$_GET["socid"]:''; +if ($user->societe_id) $socid=$user->societe_id; +$result = restrictedArea($user, 'deplacement','',''); + +$sortfield = GETPOST("sortfield",'alpha'); +$sortorder = GETPOST("sortorder",'alpha'); +$page = GETPOST("page",'int'); +if ($page == -1) { $page = 0; } +$offset = $conf->liste_limit * $page; +$pageprev = $page - 1; +$pagenext = $page + 1; +if (! $sortorder) $sortorder="DESC"; +if (! $sortfield) $sortfield="d.dated"; +$limit = $conf->liste_limit; + + +/* + * View + */ + +$tripandexpense_static=new Deplacement($db); + +llxHeader(); + +$sql = "SELECT s.nom, s.rowid as socid,"; // Ou +$sql.= " d.rowid, d.type, d.dated as dd, d.km, "; // Comment +$sql.= " u.name, u.firstname"; // Qui +$sql.= " FROM ".MAIN_DB_PREFIX."user as u"; +$sql.= ", ".MAIN_DB_PREFIX."deplacement as d"; +$sql.= " LEFT JOIN ".MAIN_DB_PREFIX."societe as s ON d.fk_soc = s.rowid"; +if (!$user->rights->societe->client->voir && !$socid) $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."societe_commerciaux as sc ON s.rowid = sc.fk_soc"; +$sql.= " WHERE d.fk_user = u.rowid"; +$sql.= " AND d.entity = ".$conf->entity; +if (!$user->rights->societe->client->voir && !$socid) $sql.= " AND sc.fk_user = " .$user->id; +if ($socid) $sql.= " AND s.rowid = ".$socid; +$sql.= $db->order($sortfield,$sortorder); +$sql.= $db->plimit($limit + 1 ,$offset); + +//print $sql; +$resql=$db->query($sql); +if ($resql) +{ + $num = $db->num_rows($resql); + + print_barre_liste($langs->trans("ListOfFees"), $page, $_SERVER["PHP_SELF"],"&socid=$socid",$sortfield,$sortorder,'',$num); + + $i = 0; + print ''; + print ""; + print_liste_field_titre($langs->trans("Ref"),$_SERVER["PHP_SELF"],"d.rowid","","&socid=$socid",'',$sortfield,$sortorder); + print_liste_field_titre($langs->trans("Type"),$_SERVER["PHP_SELF"],"d.type","","&socid=$socid",'',$sortfield,$sortorder); + print_liste_field_titre($langs->trans("Date"),$_SERVER["PHP_SELF"],"d.dated","","&socid=$socid",'',$sortfield,$sortorder); + print_liste_field_titre($langs->trans("Person"),$_SERVER["PHP_SELF"],"u.name","","&socid=$socid",'',$sortfield,$sortorder); + print_liste_field_titre($langs->trans("Company"),$_SERVER["PHP_SELF"],"s.nom","","&socid=$socid",'',$sortfield,$sortorder); + print_liste_field_titre($langs->trans("FeesKilometersOrAmout"),$_SERVER["PHP_SELF"],"d.km","","&socid=$socid",'align="right"',$sortfield,$sortorder); + print_liste_field_titre('',$_SERVER["PHP_SELF"], ''); + print "\n"; + + $var=true; + while ($i < min($num,$limit)) + { + $objp = $db->fetch_object($resql); + + $soc = new Societe($db); + if ($objp->socid) $soc->fetch($objp->socid); + + $var=!$var; + print ''; + print ''; + print ''; + print ''; + print ''; + if ($objp->socid) print ''; + else print ''; + print ''; + + print ''; + print "\n"; + + $i++; + } + + print "
'.img_object($langs->trans("ShowTrip"),"trip").' '.$objp->rowid.''.$langs->trans($objp->type).''.dol_print_date($db->jdate($objp->dd),'day').''.img_object($langs->trans("ShowUser"),"user").' '.$objp->firstname.' '.$objp->name.''.$soc->getNomUrl(1).' '.$objp->km.''.$tripandexpense_static->getLibStatut(5).'
"; + $db->free($resql); +} +else +{ + dol_print_error($db); +} +$db->close(); + +llxFooter('$Date: 2011/06/29 17:55:33 $ - $Revision: 1.1 $'); +?> diff --git a/htdocs/compta/dons/class/don.class.php b/htdocs/compta/dons/class/don.class.php index 47aa79c1060..94ea39a56b2 100644 --- a/htdocs/compta/dons/class/don.class.php +++ b/htdocs/compta/dons/class/don.class.php @@ -22,7 +22,7 @@ * \file htdocs/compta/dons/class/don.class.php * \ingroup don * \brief Fichier de la classe des dons - * \version $Id$ + * \version $Id: don.class.php,v 1.10 2011/06/29 17:55:34 eldy Exp $ */ require_once(DOL_DOCUMENT_ROOT ."/core/class/commonobject.class.php"); @@ -310,6 +310,8 @@ class Don extends CommonObject $sql.= ", fk_user_valid"; $sql.= ", datedon"; $sql.= ", email"; + $sql.= ", phone"; + $sql.= ", phone_mobile"; $sql.= ") VALUES ("; $sql.= " '".$this->db->idate($now)."'"; $sql.= ", ".$conf->entity; @@ -328,7 +330,9 @@ class Don extends CommonObject $sql.= ", ".$user->id; $sql.= ", null"; $sql.= ", '".$this->db->idate($this->date)."'"; - $sql.= ", '".$this->email."'"; + $sql.= ", '".$this->db->escape($this->email)."'"; + $sql.= ", '".$this->db->escape($this->phone)."'"; + $sql.= ", '".$this->db->escape($this->phone_mobile)."'"; $sql.= ")"; dol_syslog("Don::create sql=".$sql, LOG_DEBUG); @@ -367,6 +371,8 @@ class Don extends CommonObject $sql .= ",note='".$this->db->escape($this->note)."'"; $sql .= ",datedon='".$this->db->idate($this->date)."'"; $sql .= ",email='".$this->email."'"; + $sql .= ",phone='".$this->phone."'"; + $sql .= ",phone_mobile='".$this->phone_mobile."'"; $sql .= ",fk_statut=".$this->statut; $sql .= " WHERE rowid = $this->id"; @@ -383,9 +389,9 @@ class Don extends CommonObject } } - /* - * Suppression du don de la base - * @param rowid id du don a supprimer + /** + * Delete a donation + * @param rowid Id of donation to delete */ function delete($rowid) { @@ -413,7 +419,8 @@ class Don extends CommonObject /** * Load donation from database - * @param rowid Id of donation toload + * @param rowid Id of donation to load + * @param ref Ref of donation to load * @return int <0 if KO, >0 if OK */ function fetch($rowid,$ref='') @@ -421,7 +428,7 @@ class Don extends CommonObject global $conf; $sql = "SELECT d.rowid, d.datec, d.tms as datem, d.datedon,"; - $sql.= " d.prenom, d.nom, d.societe, d.amount, d.fk_statut, d.adresse, d.cp, d.ville, d.pays, d.public, d.amount, d.fk_paiement, d.note, cp.libelle, d.email, d.fk_don_projet,"; + $sql.= " d.prenom, d.nom, d.societe, d.amount, d.fk_statut, d.adresse, d.cp, d.ville, d.pays, d.public, d.amount, d.fk_paiement, d.note, cp.libelle, d.email, d.phone, d.phone_mobile, d.fk_don_projet,"; $sql.= " p.title as project_label"; $sql.= " FROM ".MAIN_DB_PREFIX."don as d"; $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."projet as p ON p.rowid = d.fk_don_projet"; @@ -451,6 +458,8 @@ class Don extends CommonObject $this->zip = $obj->cp; $this->town = $obj->ville; $this->email = $obj->email; + $this->phone = $obj->phone; + $this->phone_mobile = $obj->phone_mobile; $this->pays = $obj->pays; $this->projet = $obj->project_label; $this->fk_project = $obj->fk_don_projet; diff --git a/htdocs/compta/dons/index.php b/htdocs/compta/dons/index.php index 972d21b33f3..eded37ea345 100644 --- a/htdocs/compta/dons/index.php +++ b/htdocs/compta/dons/index.php @@ -21,7 +21,7 @@ * \file htdocs/compta/dons/index.php * \ingroup don * \brief Home page of donation module - * \version $Id$ + * \version $Id: index.php,v 1.28 2011/06/29 17:55:33 eldy Exp $ */ require("../../main.inc.php"); @@ -43,10 +43,11 @@ $donation_static=new Don($db); * View */ -llxHeader('',$langs->trans("Donations"),'EN:Module_Donations|FR:Module_Dons|ES:Módulo_Subvenciones'); - $donstatic=new Don($db); +$help_url='EN:Module_Donations|FR:Module_Dons|ES:Módulo_Subvenciones'; +llxHeader('',$langs->trans("Donations"),$help_url); + $sql = "SELECT count(d.rowid) as nb, sum(d.amount) as somme , d.fk_statut"; $sql.= " FROM ".MAIN_DB_PREFIX."don as d"; $sql.= " GROUP BY d.fk_statut"; @@ -133,8 +134,7 @@ print "
"; print ''; - -$max=5; +$max=10; /* * Last modified proposals @@ -202,5 +202,5 @@ print ''; $db->close(); -llxFooter('$Date$ - $Revision$'); +llxFooter('$Date: 2011/06/29 17:55:33 $ - $Revision: 1.28 $'); ?> diff --git a/htdocs/compta/index.php b/htdocs/compta/index.php index 69946ae386d..2b7d3eaa2d2 100644 --- a/htdocs/compta/index.php +++ b/htdocs/compta/index.php @@ -22,7 +22,7 @@ * \file htdocs/compta/index.php * \ingroup compta * \brief Main page of accountancy area - * \version $Id$ + * \version $Id: index.php,v 1.181 2011/06/29 17:55:34 eldy Exp $ */ require('../main.inc.php'); @@ -474,20 +474,17 @@ if ($conf->fournisseur->enabled && $user->rights->fournisseur->facture->lire) -// Last customers -if ($conf->societe->enabled && $user->rights->societe->lire) +// Last donations +if ($conf->don->enabled && $user->rights->societe->lire) { - include_once(DOL_DOCUMENT_ROOT.'/societe/class/client.class.php'); + include_once(DOL_DOCUMENT_ROOT.'/compta/dons/class/don.class.php'); $langs->load("boxes"); + $donationstatic=new Don($db); - $sql = "SELECT s.nom, s.rowid, s.datec as dc, s.tms as dm"; - $sql.= " FROM ".MAIN_DB_PREFIX."societe as s"; - if (!$user->rights->societe->client->voir && !$user->societe_id) $sql.= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc"; - $sql.= " WHERE s.client IN (1, 3)"; - $sql.= " AND s.entity = ".$conf->entity; - if (!$user->rights->societe->client->voir && !$user->societe_id) $sql.= " AND s.rowid = sc.fk_soc AND sc.fk_user = " .$user->id; - if ($socid) $sql.= " AND s.rowid = ".$socid; + $sql = "SELECT s.rowid, s.nom, s.prenom, s.societe, s.datedon as date, s.tms as dm, s.amount, s.fk_statut"; + $sql.= " FROM ".MAIN_DB_PREFIX."don as s"; + $sql.= " WHERE s.entity = ".$conf->entity; $sql.= $db->order("s.tms","DESC"); $sql.= $db->plimit($max, 0); @@ -500,25 +497,32 @@ if ($conf->societe->enabled && $user->rights->societe->lire) $i = 0; print ''; - print ''; + print ''; + print ''; print ''; + print ''; print ''; if ($num) { $var = True; $total_ttc = $totalam = $total = 0; - $customerstatic=new Client($db); $var=true; while ($i < $num && $i < $max) { $objp = $db->fetch_object($result); - $customerstatic->id=$objp->rowid; - $customerstatic->nom=$objp->nom; $var=!$var; print ''; - print ''; + $donationstatic->id=$objp->rowid; + $donationstatic->nom=$objp->nom; + $donationstatic->prenom=$objp->prenom; + $label=$donationstatic->getFullName($langs); + if ($objp->societe) $label.=($label?' - ':'').$objp->societe; + $donationstatic->ref=$label; + print ''; + print ''; print ''; + print ''; print ''; $i++; @@ -531,22 +535,25 @@ if ($conf->societe->enabled && $user->rights->societe->lire) } print '
'.$langs->trans("BoxTitleLastModifiedCustomers",min($max,$num)).'
'.$langs->trans("BoxTitleLastModifiedDonations",min($max,$num)).''.$langs->trans("AmountTTC").''.$langs->trans("DateModificationShort").' 
'.$customerstatic->getNomUrl(1).''.$donationstatic->getNomUrl(1).''.price($objp->amount).''.dol_print_date($db->jdate($objp->dm),'day').''.$donationstatic->LibStatut($objp->fk_statut,3).'

'; } + else dol_print_error($db); } -// Last suppliers -if ($conf->fournisseur->enabled && $user->rights->societe->lire) +// Last trips and expenses +if ($conf->deplacement->enabled && $user->rights->deplacement->lire) { - $langs->load("boxes"); + include_once(DOL_DOCUMENT_ROOT.'/compta/deplacement/class/deplacement.class.php'); - $sql = "SELECT s.nom, s.rowid, s.datec as dc, s.tms as dm"; - $sql.= " FROM ".MAIN_DB_PREFIX."societe as s"; - if (!$user->rights->societe->client->voir && !$user->societe_id) $sql.= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc"; - $sql.= " WHERE s.fournisseur = 1"; - $sql.= " AND s.entity = ".$conf->entity; - if (!$user->rights->societe->client->voir && !$user->societe_id) $sql.= " AND s.rowid = sc.fk_soc AND sc.fk_user = " .$user->id; - if ($socid) $sql.= " AND s.rowid = ".$socid; - $sql.= $db->order("s.tms","DESC"); + $langs->load("boxes"); + + $sql = "SELECT u.rowid as uid, u.name, u.firstname, d.rowid, d.dated as date, d.tms as dm, d.km"; + $sql.= " FROM ".MAIN_DB_PREFIX."deplacement as d, ".MAIN_DB_PREFIX."user as u"; + if (!$user->rights->societe->client->voir && !$user->societe_id) $sql.= ", ".MAIN_DB_PREFIX."societe as s, ".MAIN_DB_PREFIX."societe_commerciaux as sc"; + $sql.= " WHERE u.rowid = d.fk_user"; + $sql.= " AND d.entity = ".$conf->entity; + if (!$user->rights->societe->client->voir && !$user->societe_id) $sql.= " AND d.fk_soc = s. rowid AND s.rowid = sc.fk_soc AND sc.fk_user = " .$user->id; + if ($socid) $sql.= " AND d.fk_soc = ".$socid; + $sql.= $db->order("d.tms","DESC"); $sql.= $db->plimit($max, 0); $result = $db->query($sql); @@ -558,22 +565,32 @@ if ($conf->fournisseur->enabled && $user->rights->societe->lire) $i = 0; print ''; - print ''; + print ''; + print ''; + print ''; print ''; + print ''; print ''; if ($num) { $total_ttc = $totalam = $total = 0; - $customerstatic=new Client($db); + $deplacementstatic=new Deplacement($db); + $userstatic=new User($db); while ($i < $num && $i < $max) { $objp = $db->fetch_object($result); - $customerstatic->id=$objp->rowid; - $customerstatic->nom=$objp->nom; + $deplacementstatic->ref=$objp->rowid; + $deplacementstatic->id=$objp->rowid; + $userstatic->id=$objp->uid; + $userstatic->nom=$objp->name; + $userstatic->prenom=$objp->firstname; print ''; - print ''; + print ''; + print ''; + print ''; print ''; + print ''; print ''; $var=!$var; $i++; @@ -586,6 +603,7 @@ if ($conf->fournisseur->enabled && $user->rights->societe->lire) } print '
'.$langs->trans("BoxTitleLastModifiedSuppliers",min($max,$num)).'
'.$langs->trans("BoxTitleLastModifiedExpenses",min($max,$num)).''.$langs->trans("FeesKilometersOrAmout").''.$langs->trans("DateModificationShort").' 
'.$customerstatic->getNomUrl(1).''.$deplacementstatic->getNomUrl(1).''.$userstatic->getNomUrl(1).''.$objp->km.''.dol_print_date($db->jdate($objp->dm),'day').''.$deplacementstatic->LibStatut($objp->fk_statut,3).'

'; } + else dol_print_error($db); } @@ -991,5 +1009,5 @@ print ''; $db->close(); -llxFooter('$Date$ - $Revision$'); +llxFooter('$Date: 2011/06/29 17:55:34 $ - $Revision: 1.181 $'); ?> diff --git a/htdocs/includes/menus/init_menu_auguria.sql b/htdocs/includes/menus/init_menu_auguria.sql index 0a2b44ccad5..dec3ccbf2b7 100644 --- a/htdocs/includes/menus/init_menu_auguria.sql +++ b/htdocs/includes/menus/init_menu_auguria.sql @@ -1,6 +1,6 @@ -- --- $Id$ --- $Revision$ +-- $Id: init_menu_auguria.sql,v 1.118 2011/06/29 17:55:34 eldy Exp $ +-- $Revision: 1.118 $ -- -- Menu base entries -- This file is loaded when a menu handler base is activated (auguria, etc..) @@ -169,9 +169,10 @@ insert into llx_menu (enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk insert into llx_menu (enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('$conf->don->enabled && $leftmenu=="donations"', __HANDLER__, 'left', 2001__+MAX_llx_menu__, 'accountancy', '', 2000__+MAX_llx_menu__, '/compta/dons/fiche.php?leftmenu=donations&mainmenu=accountancy&action=create', 'NewDonation', 1, 'donations', '$user->rights->don->creer', '', 2, 0, __ENTITY__); insert into llx_menu (enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('$conf->don->enabled && $leftmenu=="donations"', __HANDLER__, 'left', 2002__+MAX_llx_menu__, 'accountancy', '', 2000__+MAX_llx_menu__, '/compta/dons/liste.php?leftmenu=donations&mainmenu=accountancy', 'List', 1, 'donations', '$user->rights->don->lire', '', 2, 1, __ENTITY__); --insert into llx_menu (enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('$conf->don->enabled && $leftmenu=="donations"', __HANDLER__, 'left', 2003__+MAX_llx_menu__, 'accountancy', '', 2000__+MAX_llx_menu__, '/compta/dons/stats.php?leftmenu=donations&mainmenu=accountancy', 'Statistics', 1, 'donations', '$user->rights->don->lire', '', 2, 2, __ENTITY__); +-- Trips and expenses insert into llx_menu (enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('$conf->deplacement->enabled', __HANDLER__, 'left', 2100__+MAX_llx_menu__, 'accountancy', '', 6__+MAX_llx_menu__, '/compta/deplacement/index.php?leftmenu=tripsandexpenses', 'TripsAndExpenses', 0, 'trips', '$user->rights->deplacement->lire', '', 0, 5, __ENTITY__); insert into llx_menu (enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('$conf->deplacement->enabled && $leftmenu=="tripsandexpenses"', __HANDLER__, 'left', 2101__+MAX_llx_menu__, 'accountancy', '', 2100__+MAX_llx_menu__, '/compta/deplacement/fiche.php?action=create&leftmenu=tripsandexpenses', 'New', 1, 'trips', '$user->rights->deplacement->creer', '', 0, 1, __ENTITY__); -insert into llx_menu (enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('$conf->deplacement->enabled && $leftmenu=="tripsandexpenses"', __HANDLER__, 'left', 2102__+MAX_llx_menu__, 'accountancy', '', 2100__+MAX_llx_menu__, '/compta/deplacement/index.php?leftmenu=tripsandexpenses', 'List', 1, 'trips', '$user->rights->deplacement->lire', '', 0, 2, __ENTITY__); +insert into llx_menu (enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('$conf->deplacement->enabled && $leftmenu=="tripsandexpenses"', __HANDLER__, 'left', 2102__+MAX_llx_menu__, 'accountancy', '', 2100__+MAX_llx_menu__, '/compta/deplacement/list.php?leftmenu=tripsandexpenses', 'List', 1, 'trips', '$user->rights->deplacement->lire', '', 0, 2, __ENTITY__); insert into llx_menu (enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('$conf->deplacement->enabled && $leftmenu=="tripsandexpenses"', __HANDLER__, 'left', 2103__+MAX_llx_menu__, 'accountancy', '', 2100__+MAX_llx_menu__, '/compta/deplacement/stats/index.php?leftmenu=tripsandexpenses', 'Statistics', 1, 'trips', '$user->rights->deplacement->lire', '', 0, 2, __ENTITY__); insert into llx_menu (enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('$conf->tax->enabled', __HANDLER__, 'left', 2200__+MAX_llx_menu__, 'accountancy', '', 6__+MAX_llx_menu__, '/compta/charges/index.php?leftmenu=tax&mainmenu=accountancy', 'MenuTaxAndDividends', 0, 'compta', '$user->rights->tax->charges->lire', '', 0, 6, __ENTITY__); insert into llx_menu (enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('$conf->tax->enabled', __HANDLER__, 'left', 2201__+MAX_llx_menu__, 'accountancy', '', 2200__+MAX_llx_menu__, '/compta/sociales/index.php?leftmenu=tax_social', 'SocialContributions', 1, '', '$user->rights->tax->charges->lire', '', 0, 1, __ENTITY__); diff --git a/htdocs/includes/menus/standard/eldy.lib.php b/htdocs/includes/menus/standard/eldy.lib.php index 2b00d739e27..5bdeefeba03 100644 --- a/htdocs/includes/menus/standard/eldy.lib.php +++ b/htdocs/includes/menus/standard/eldy.lib.php @@ -21,7 +21,7 @@ /** * \file htdocs/includes/menus/standard/eldy.lib.php * \brief Library for file eldy menus - * \version $Id$ + * \version $Id: eldy.lib.php,v 1.52 2011/06/29 17:55:33 eldy Exp $ */ @@ -914,13 +914,13 @@ function print_left_eldy_menu($db,$menu_array_before,$menu_array_after) //if ($leftmenu=="donations") $newmenu->add("/compta/dons/stats.php",$langs->trans("Statistics"), 1, $user->rights->don->lire); } - // Deplacements + // Trips and expenses if ($conf->deplacement->enabled) { $langs->load("trips"); $newmenu->add("/compta/deplacement/index.php?leftmenu=tripsandexpenses&mainmenu=accountancy", $langs->trans("TripsAndExpenses"), 0, $user->rights->deplacement->lire); if ($leftmenu=="tripsandexpenses") $newmenu->add("/compta/deplacement/fiche.php?action=create&leftmenu=tripsandexpenses&mainmenu=accountancy", $langs->trans("New"), 1, $user->rights->deplacement->creer); - if ($leftmenu=="tripsandexpenses") $newmenu->add("/compta/deplacement/index.php?leftmenu=tripsandexpenses&mainmenu=accountancy", $langs->trans("List"), 1, $user->rights->deplacement->lire); + if ($leftmenu=="tripsandexpenses") $newmenu->add("/compta/deplacement/list.php?leftmenu=tripsandexpenses&mainmenu=accountancy", $langs->trans("List"), 1, $user->rights->deplacement->lire); if ($leftmenu=="tripsandexpenses") $newmenu->add("/compta/deplacement/stats/index.php?leftmenu=tripsandexpenses&mainmenu=accountancy", $langs->trans("Statistics"), 1, $user->rights->deplacement->lire); } diff --git a/htdocs/install/mysql/migration/3.0.0-3.1.0.sql b/htdocs/install/mysql/migration/3.0.0-3.1.0.sql index 5940883abdf..d345126600d 100755 --- a/htdocs/install/mysql/migration/3.0.0-3.1.0.sql +++ b/htdocs/install/mysql/migration/3.0.0-3.1.0.sql @@ -1,5 +1,5 @@ -- --- $Id: 3.0.0-3.1.0.sql,v 1.77 2011/06/29 11:22:35 eldy Exp $ +-- $Id: 3.0.0-3.1.0.sql,v 1.78 2011/06/29 17:55:32 eldy Exp $ -- -- Be carefull to requests order. -- This file must be loaded by calling /install/index.php page @@ -438,3 +438,5 @@ ALTER TABLE llx_c_typent ADD COLUMN module varchar(32) NULL; ALTER TABLE llx_user ADD signature text DEFAULT NULL AFTER email; +ALTER TABLE llx_don ADD phone_mobile varchar(24) after email; +ALTER TABLE llx_don ADD phone varchar(24) after email; diff --git a/htdocs/install/mysql/tables/llx_don.sql b/htdocs/install/mysql/tables/llx_don.sql index 294a950d0b1..1e9b0495d34 100644 --- a/htdocs/install/mysql/tables/llx_don.sql +++ b/htdocs/install/mysql/tables/llx_don.sql @@ -1,6 +1,7 @@ -- =================================================================== -- Copyright (C) 2001-2002 Rodolphe Quiedeville -- Copyright (C) 2009 Regis Houssin +-- Copyright (C) 2011 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 @@ -16,7 +17,7 @@ -- along with this program; if not, write to the Free Software -- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -- --- $Id$ +-- $Id: llx_don.sql,v 1.5 2011/06/29 17:55:34 eldy Exp $ -- =================================================================== @@ -39,6 +40,8 @@ create table llx_don ville varchar(50), pays varchar(50), email varchar(255), + phone varchar(24), + phone_mobile varchar(24), public smallint DEFAULT 1 NOT NULL, -- le don est-il public (0,1) fk_don_projet integer NULL, -- projet auquel est fait le don fk_user_author integer NOT NULL, diff --git a/htdocs/langs/en_US/boxes.lang b/htdocs/langs/en_US/boxes.lang index fff4533052b..9c28211732b 100644 --- a/htdocs/langs/en_US/boxes.lang +++ b/htdocs/langs/en_US/boxes.lang @@ -54,6 +54,8 @@ NoRecordedCustomers=No recorded customers NoRecordedContacts=No recorded contacts BoxTitleLastActionsToDo=Last %s actions to do BoxTitleLastContracts=Last %s contracts +BoxTitleLastModifiedDonations=Last %s modified donations +BoxTitleLastModifiedExpenses=Last %s modified expenses NoActionsToDo=No actions to do NoRecordedOrders=No recorded customer's orders NoRecordedProposals=No recorded proposals diff --git a/htdocs/langs/en_US/trips.lang b/htdocs/langs/en_US/trips.lang index 1fc8e41ad3f..c18425bc6e0 100644 --- a/htdocs/langs/en_US/trips.lang +++ b/htdocs/langs/en_US/trips.lang @@ -17,4 +17,5 @@ ConfirmDeleteTrip=Are you sure you want to delete this trip ? TF_OTHER=Other TF_LUNCH=Lunch TF_TRIP=Trip -ListTripsAndExpenses=List of trips and expenses \ No newline at end of file +ListTripsAndExpenses=List of trips and expenses +ExpensesArea=Trips and exepenses area \ No newline at end of file diff --git a/htdocs/langs/fr_FR/boxes.lang b/htdocs/langs/fr_FR/boxes.lang index c8843ec7f78..9d027f04938 100644 --- a/htdocs/langs/fr_FR/boxes.lang +++ b/htdocs/langs/fr_FR/boxes.lang @@ -54,6 +54,8 @@ NoRecordedCustomers=Pas de client enregistré NoRecordedContacts=Pas de contact enregistré BoxTitleLastActionsToDo=Les %s derniers événements à réaliser BoxTitleLastContracts=Les %s derniers contrats +BoxTitleLastModifiedDonations=Les %s derniers dons modifiés +BoxTitleLastModifiedExpenses=Les %s dernières note de frais modifiées NoActionsToDo=Pas d'événements à réaliser NoRecordedOrders=Pas de commande client enregistrée NoRecordedProposals=Pas de proposition commerciale enregistrée diff --git a/htdocs/langs/fr_FR/trips.lang b/htdocs/langs/fr_FR/trips.lang index 66549a33965..483f99dcea4 100644 --- a/htdocs/langs/fr_FR/trips.lang +++ b/htdocs/langs/fr_FR/trips.lang @@ -19,3 +19,4 @@ TF_OTHER=Autre TF_LUNCH=Repas TF_TRIP=Déplacement ListTripsAndExpenses=Liste des notes de frais +ExpensesArea=Espace Notes de frais \ No newline at end of file