diff --git a/htdocs/includes/boxes/box_actions.php b/htdocs/includes/boxes/box_actions.php new file mode 100644 index 00000000000..cce8cc81896 --- /dev/null +++ b/htdocs/includes/boxes/box_actions.php @@ -0,0 +1,117 @@ + + * Copyright (C) 2004-2005 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, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + * + * $Id$ + * $Source$ + * + */ + /** + \file htdocs/includes/boxes/box_actions.php + \ingroup actions + \brief Module de génération de l'affichage de la box actions +*/ + + +include_once(DOL_DOCUMENT_ROOT."/includes/boxes/modules_boxes.php"); + + +class box_actions extends ModeleBoxes { + + var $boxcode="lastactions"; + var $boximg="object_action"; + var $boxlabel; + var $depends = array("action"); + + var $info_box_head = array(); + var $info_box_contents = array(); + + + /** + * \brief Constructeur de la classe + */ + function box_actions() + { + global $langs; + $langs->load("boxes"); + + $this->boxlabel="Actions commerciales"; + } + + /** + * \brief Charge les données en mémoire pour affichage ultérieur + * \param $max Nombre maximum d'enregistrements à charger + */ + function loadBox($max=5) + { + global $user, $langs, $db, $conf; + $langs->load("boxes"); + + $this->info_box_head = array('text' =>$langs->trans("ActionsToDo")); + if ($user->rights->commercial->main->lire) + { + $sql = "SELECT label, id, ".$db->pdate("a.datea")." as da , percent "; + $sql .= "FROM `llx_actioncomm` AS a "; + $sql .= "WHERE percent <> 100 "; + $sql .= " ORDER BY a.datec DESC"; + $sql .= $db->plimit($max, 0); + + $result = $db->query($sql); + if ($result) + { + $num = $db->num_rows($result); + $i = 0; + while ($i < $num) + { + $objp = $db->fetch_object($result); + + if (date("U",$objp->da) < (time() - $conf->global->MAIN_DELAY_ACTIONS_TODO)) $late=img_warning($langs->trans("Late")); + + + $this->info_box_contents[$i][0] = array('align' => 'left', + 'logo' => ("task"), + 'text' => $objp->label, + 'text2'=> $late, + 'url' => DOL_URL_ROOT."/comm/action/fiche.php?id=".$objp->id); + + $this->info_box_contents[$i][1] = array('align' => 'right', + 'text' => dolibarr_print_date($objp->da)); + + $this->info_box_contents[$i][2] = array('align' => 'right', + 'text' => $objp->percent. "%"); + + $i++; + } + } + else { + dolibarr_print_error($db); + } + } + else { + $this->info_box_contents[0][0] = array('align' => 'left', + 'text' => $langs->trans("ReadPermissionNotAllowed")); + } + } + + function showBox() + { + parent::showBox($this->info_box_head, $this->info_box_contents); + } + +} + +?> \ No newline at end of file diff --git a/htdocs/includes/modules/modCommercial.class.php b/htdocs/includes/modules/modCommercial.class.php index dbe6e073445..e1db285702d 100644 --- a/htdocs/includes/modules/modCommercial.class.php +++ b/htdocs/includes/modules/modCommercial.class.php @@ -76,9 +76,13 @@ class modCommercial extends DolibarrModules $this->boxes = array(); $this->boxes[0][0] = "Derniers clients"; $this->boxes[0][1] = "box_clients.php"; + $this->boxes[1][0] = "Derniers prospects enregistrés"; $this->boxes[1][1] = "box_prospect.php"; + $this->boxes[2][0] = "Dernieres actions"; + $this->boxes[2][1] = "box_actions.php"; + // Permissions $this->rights = array(); $this->rights_class = 'commercial';