2008-01-08 09:14:20 +01:00
< ? php
/* Copyright ( C ) 2003 , 2005 Rodolphe Quiedeville < rodolphe @ quiedeville . org >
* Copyright ( C ) 2003 Jean - Louis Bergamo < jlb @ j1b . org >
2014-10-12 01:59:21 +02:00
* Copyright ( C ) 2004 - 2014 Laurent Destailleur < eldy @ users . sourceforge . net >
2008-01-08 09:14:20 +01:00
* Copyright ( C ) 2004 Sebastien Di Cintio < sdicintio @ ressource - toi . org >
* Copyright ( C ) 2004 Benoit Mortier < benoit . mortier @ opensides . be >
2012-12-30 15:13:49 +01:00
* Copyright ( C ) 2009 - 2011 Regis Houssin < regis . houssin @ capnetworks . com >
2015-07-16 22:16:11 +02:00
* Copyright ( C ) 2013 Cedric Gross < c . gross @ kreiz - it . fr >
* Copyright ( C ) 2015 Bahfir Abbes < bafbes @ gmail . com >
2017-01-13 16:08:49 +01:00
* Copyright ( C ) 2017 Juanjo Menent < jmenent @ 2 byte . es >
2008-01-08 09:14:20 +01:00
*
* 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
2013-01-16 15:36:08 +01:00
* the Free Software Foundation ; either version 3 of the License , or
2008-01-08 09:14:20 +01:00
* ( 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
2011-08-01 01:24:38 +02:00
* along with this program . If not , see < http :// www . gnu . org / licenses />.
2008-01-08 09:14:20 +01:00
*/
/**
2010-02-04 23:00:51 +01:00
* \defgroup agenda Module agenda
2014-01-20 02:21:30 +01:00
* \brief Module to manage agenda and events
2011-10-24 14:11:49 +02:00
* \file htdocs / core / modules / modAgenda . class . php
2010-02-04 23:00:51 +01:00
* \ingroup agenda
2014-01-20 02:21:30 +01:00
* \brief File of class to describe and enable / disable module Agenda
2009-07-22 22:42:31 +02:00
*/
2012-08-23 02:04:35 +02:00
include_once DOL_DOCUMENT_ROOT . '/core/modules/DolibarrModules.class.php' ;
2008-01-08 09:14:20 +01:00
/**
2014-01-20 02:21:30 +01:00
* Class to describe and enable / disable module Agenda
2009-07-22 22:42:31 +02:00
*/
2008-01-08 09:14:20 +01:00
class modAgenda extends DolibarrModules
{
2009-07-22 22:42:31 +02:00
/**
2011-08-31 13:07:16 +02:00
* Constructor . Define names , constants , directories , boxes , permissions
*
2012-01-04 21:23:50 +01:00
* @ param DoliDB $db Database handler
2009-07-22 22:42:31 +02:00
*/
2012-07-30 17:17:33 +02:00
function __construct ( $db )
2009-07-22 22:42:31 +02:00
{
2016-06-06 17:51:39 +02:00
global $conf , $user ;
2013-09-25 21:36:40 +02:00
2012-01-04 21:23:50 +01:00
$this -> db = $db ;
2009-07-22 22:42:31 +02:00
$this -> numero = 2400 ;
2008-02-19 20:10:24 +01:00
2009-07-22 22:42:31 +02:00
$this -> family = " projects " ;
2015-11-17 00:58:12 +01:00
$this -> module_position = 15 ;
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)
2009-10-21 15:09:42 +02:00
$this -> name = preg_replace ( '/^mod/i' , '' , get_class ( $this ));
2016-04-08 14:28:49 +02:00
$this -> description = " Follow events or rendez-vous. Record manual events into Agendas or let application record automatic events for log tracking. " ;
2017-08-22 18:34:58 +02:00
// Possible values for version are: 'development', 'experimental', 'dolibarr' or version
$this -> version = 'dolibarr' ;
2008-10-01 21:10:17 +02:00
// 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 );
2011-05-21 16:27:55 +02:00
$this -> picto = 'action' ;
2009-03-12 02:44:02 +01:00
2009-07-22 22:42:31 +02:00
// Data directories to create when module is enabled
$this -> dirs = array ( " /agenda/temp " );
2009-03-12 02:44:02 +01:00
2009-07-22 22:42:31 +02:00
// Config pages
//-------------
2015-07-16 22:16:11 +02:00
$this -> config_page_url = array ( " agenda_other.php " );
2009-03-12 02:44:02 +01:00
2009-07-22 22:42:31 +02:00
// Dependancies
//-------------
$this -> depends = array ();
$this -> requiredby = array ();
$this -> langfiles = array ( " companies " );
2009-03-12 02:44:02 +01:00
2017-01-13 16:08:49 +01:00
// Module parts
2017-01-20 18:41:18 +01:00
$this -> module_parts = array ();
2017-01-13 16:08:49 +01:00
2015-09-07 15:40:55 +02:00
// Constants
2017-11-24 18:12:01 +01:00
//-----------
// List of particular constants to add when module is enabled (key, 'chaine', value, desc, visible, 'current' or 'allentities', deleteonunactive)
// Example: $this->const=array(0=>array('MYMODULE_MYNEWCONST1','chaine','myvalue','This is a constant to add',1),
// 1=>array('MYMODULE_MYNEWCONST2','chaine','myvalue','This is another constant to add',0, 'current', 1)
// );
2009-07-22 22:42:31 +02:00
$this -> const = array ();
2017-11-24 18:12:01 +01:00
//$this->const[] = array('AGENDA_DEFAULT_FILTER_TYPE', 'chaine', 'AC_NON_AUTO', 'Default filter for type of event on agenda', 0, 'current');
2016-04-08 17:07:25 +02:00
$sqlreadactions = " SELECT code, label, description FROM " . MAIN_DB_PREFIX . " c_action_trigger ORDER by rang " ;
$resql = $this -> db -> query ( $sqlreadactions );
if ( $resql )
{
2018-09-10 17:29:29 +02:00
while ( $obj = $this -> db -> fetch_object ( $resql ))
2016-04-08 17:07:25 +02:00
{
2017-06-27 04:25:41 +02:00
//if (preg_match('/_CREATE$/',$obj->code) && (! in_array($obj->code, array('COMPANY_CREATE','PRODUCT_CREATE','TASK_CREATE')))) continue; // We don't track such events (*_CREATE) by default, we prefer validation (except thirdparty/product/task creation because there is no validation).
2016-04-08 17:07:25 +02:00
if ( preg_match ( '/^TASK_/' , $obj -> code )) continue ; // We don't track such events by default.
2017-03-30 15:39:50 +02:00
//if (preg_match('/^_MODIFY/',$obj->code)) continue; // We don't track such events by default.
2017-11-24 18:12:01 +01:00
$this -> const [] = array ( 'MAIN_AGENDA_ACTIONAUTO_' . $obj -> code , " chaine " , " 1 " , '' , 0 , 'current' );
2016-04-08 17:07:25 +02:00
}
}
2017-06-27 04:25:41 +02:00
else
2016-04-08 17:07:25 +02:00
{
dol_print_error ( $this -> db -> lasterror ());
}
2017-06-27 04:25:41 +02:00
2009-03-12 02:44:02 +01:00
// New pages on tabs
// -----------------
2009-07-22 22:42:31 +02:00
$this -> tabs = array ();
2009-03-12 02:44:02 +01:00
// Boxes
2009-07-22 22:42:31 +02:00
//------
2014-05-01 19:17:45 +02:00
$this -> boxes = array ( 0 => array ( 'file' => 'box_actions.php' , 'enabledbydefaulton' => 'Home' ));
2009-07-22 22:42:31 +02:00
2017-08-03 11:42:22 +02:00
// Cronjobs
//------------
$this -> cronjobs = array (
2018-09-16 09:27:36 +02:00
0 => array ( 'label' => 'SendEmailsReminders' , 'jobtype' => 'method' , 'class' => 'comm/action/class/actioncomm.class.php' , 'objectname' => 'ActionComm' , 'method' => 'sendEmailsReminder' , 'parameters' => '' , 'comment' => 'SendEMailsReminder' , 'frequency' => 10 , 'unitfrequency' => 60 , 'priority' => 10 , 'status' => 1 , 'test' => '$conf->agenda->enabled' ),
2017-08-03 11:42:22 +02:00
// 1=>array('label'=>'My label', 'jobtype'=>'command', 'command'=>'', 'parameters'=>'', 'comment'=>'Comment', 'frequency'=>1, 'unitfrequency'=>3600*24)
);
2009-07-22 22:42:31 +02:00
// Permissions
//------------
$this -> rights = array ();
$this -> rights_class = 'agenda' ;
$r = 0 ;
// $this->rights[$r][0] Id permission (unique tous modules confondus)
// $this->rights[$r][1] Libelle par defaut si traduction de cle "PermissionXXX" non trouvee (XXX = Id permission)
// $this->rights[$r][2] Non utilise
// $this->rights[$r][3] 1=Permis par defaut, 0=Non permis par defaut
// $this->rights[$r][4] Niveau 1 pour nommer permission dans code
// $this->rights[$r][5] Niveau 2 pour nommer permission dans code
2008-01-14 21:54:15 +01:00
// $r++;
2009-03-12 02:44:02 +01:00
2009-07-22 22:42:31 +02:00
$this -> rights [ $r ][ 0 ] = 2401 ;
$this -> rights [ $r ][ 1 ] = 'Read actions/tasks linked to his account' ;
$this -> rights [ $r ][ 2 ] = 'r' ;
2016-06-04 12:16:30 +02:00
$this -> rights [ $r ][ 3 ] = 0 ;
2009-07-22 22:42:31 +02:00
$this -> rights [ $r ][ 4 ] = 'myactions' ;
$this -> rights [ $r ][ 5 ] = 'read' ;
$r ++ ;
$this -> rights [ $r ][ 0 ] = 2402 ;
2009-11-13 05:10:59 +01:00
$this -> rights [ $r ][ 1 ] = 'Create/modify actions/tasks linked to his account' ;
2009-07-22 22:42:31 +02:00
$this -> rights [ $r ][ 2 ] = 'w' ;
$this -> rights [ $r ][ 3 ] = 0 ;
$this -> rights [ $r ][ 4 ] = 'myactions' ;
$this -> rights [ $r ][ 5 ] = 'create' ;
$r ++ ;
2009-11-13 05:10:59 +01:00
2009-07-22 22:42:31 +02:00
$this -> rights [ $r ][ 0 ] = 2403 ;
2009-11-13 05:10:59 +01:00
$this -> rights [ $r ][ 1 ] = 'Delete actions/tasks linked to his account' ;
2009-11-10 13:36:30 +01:00
$this -> rights [ $r ][ 2 ] = 'w' ;
$this -> rights [ $r ][ 3 ] = 0 ;
$this -> rights [ $r ][ 4 ] = 'myactions' ;
2009-11-13 05:10:59 +01:00
$this -> rights [ $r ][ 5 ] = 'delete' ;
2009-11-10 13:36:30 +01:00
$r ++ ;
$this -> rights [ $r ][ 0 ] = 2411 ;
2009-07-22 22:42:31 +02:00
$this -> rights [ $r ][ 1 ] = 'Read actions/tasks of others' ;
$this -> rights [ $r ][ 2 ] = 'r' ;
$this -> rights [ $r ][ 3 ] = 0 ;
$this -> rights [ $r ][ 4 ] = 'allactions' ;
$this -> rights [ $r ][ 5 ] = 'read' ;
$r ++ ;
2009-11-10 13:36:30 +01:00
$this -> rights [ $r ][ 0 ] = 2412 ;
2009-11-13 05:10:59 +01:00
$this -> rights [ $r ][ 1 ] = 'Create/modify actions/tasks of others' ;
2009-07-22 22:42:31 +02:00
$this -> rights [ $r ][ 2 ] = 'w' ;
$this -> rights [ $r ][ 3 ] = 0 ;
$this -> rights [ $r ][ 4 ] = 'allactions' ;
$this -> rights [ $r ][ 5 ] = 'create' ;
$r ++ ;
2009-11-13 05:10:59 +01:00
2009-11-10 13:36:30 +01:00
$this -> rights [ $r ][ 0 ] = 2413 ;
2009-11-13 05:10:59 +01:00
$this -> rights [ $r ][ 1 ] = 'Delete actions/tasks of others' ;
2009-11-10 13:36:30 +01:00
$this -> rights [ $r ][ 2 ] = 'w' ;
$this -> rights [ $r ][ 3 ] = 0 ;
$this -> rights [ $r ][ 4 ] = 'allactions' ;
2009-11-13 05:10:59 +01:00
$this -> rights [ $r ][ 5 ] = 'delete' ;
2009-11-10 13:36:30 +01:00
$r ++ ;
2009-07-22 22:42:31 +02:00
2013-03-25 18:26:35 +01:00
$this -> rights [ $r ][ 0 ] = 2414 ;
$this -> rights [ $r ][ 1 ] = 'Export actions/tasks of others' ;
$this -> rights [ $r ][ 2 ] = 'w' ;
$this -> rights [ $r ][ 3 ] = 0 ;
$this -> rights [ $r ][ 4 ] = 'export' ;
2013-09-25 21:36:40 +02:00
2009-07-26 02:21:44 +02:00
// Main menu entries
$this -> menu = array (); // List of menus to add
2008-01-14 21:54:15 +01:00
$r = 0 ;
2009-03-12 02:44:02 +01:00
2010-06-09 20:25:20 +02:00
// Add here entries to declare new menus
// Example to declare the Top Menu entry:
// $this->menu[$r]=array( 'fk_menu'=>0, // Put 0 if this is a top menu
// 'type'=>'top', // This is a Top menu entry
// 'titre'=>'MyModule top menu',
// 'mainmenu'=>'mymodule',
// 'url'=>'/mymodule/pagetop.php',
// 'langs'=>'mylangfile', // Lang file to use (without .lang) by module. File must be in langs/code_CODE/ directory.
// 'position'=>100,
// 'enabled'=>'1', // Define condition to show or hide menu entry. Use '$conf->mymodule->enabled' if entry must be visible if module is enabled.
// 'perms'=>'1', // Use 'perms'=>'$user->rights->mymodule->level1->level2' if you want your menu with a permission rules
// 'target'=>'',
// 'user'=>2); // 0=Menu for internal users, 1=external users, 2=both
// $r++;
2009-04-20 16:12:37 +02:00
$this -> menu [ $r ] = array ( 'fk_menu' => 0 ,
'type' => 'top' ,
2016-11-19 12:29:35 +01:00
'titre' => 'TMenuAgenda' ,
2009-04-20 16:12:37 +02:00
'mainmenu' => 'agenda' ,
'url' => '/comm/action/index.php' ,
2009-08-19 21:41:34 +02:00
'langs' => 'agenda' ,
2017-06-27 04:25:41 +02:00
'position' => 15 ,
2009-04-20 16:12:37 +02:00
'perms' => '$user->rights->agenda->myactions->read' ,
2009-04-27 22:37:50 +02:00
'enabled' => '$conf->agenda->enabled' ,
2009-04-20 16:12:37 +02:00
'target' => '' ,
2010-06-09 20:25:20 +02:00
'user' => 2 );
2008-01-14 21:54:15 +01:00
$r ++ ;
2009-03-12 02:44:02 +01:00
2010-04-05 20:41:34 +02:00
$this -> menu [ $r ] = array ( 'fk_menu' => 'r=0' ,
'type' => 'left' ,
'titre' => 'Actions' ,
'mainmenu' => 'agenda' ,
'url' => '/comm/action/index.php?mainmenu=agenda&leftmenu=agenda' ,
'langs' => 'agenda' ,
'position' => 100 ,
'perms' => '$user->rights->agenda->myactions->read' ,
'enabled' => '$conf->agenda->enabled' ,
'target' => '' ,
2010-06-09 20:25:20 +02:00
'user' => 2 );
2010-04-05 20:41:34 +02:00
$r ++ ;
$this -> menu [ $r ] = array ( 'fk_menu' => 'r=1' ,
'type' => 'left' ,
'titre' => 'NewAction' ,
'mainmenu' => 'agenda' ,
2014-09-18 21:18:25 +02:00
'url' => '/comm/action/card.php?mainmenu=agenda&leftmenu=agenda&action=create' ,
2011-02-02 17:44:15 +01:00
'langs' => 'commercial' ,
2010-04-05 20:41:34 +02:00
'position' => 101 ,
'perms' => '($user->rights->agenda->myactions->create||$user->rights->agenda->allactions->create)' ,
'enabled' => '$conf->agenda->enabled' ,
'target' => '' ,
2010-06-09 20:25:20 +02:00
'user' => 2 );
2010-04-05 20:41:34 +02:00
$r ++ ;
// Calendar
$this -> menu [ $r ] = array ( 'fk_menu' => 'r=1' ,
'type' => 'left' ,
2015-07-29 13:03:52 +02:00
'titre' => 'Agenda' ,
2010-04-05 20:41:34 +02:00
'mainmenu' => 'agenda' ,
2018-04-22 17:57:20 +02:00
'url' => '/comm/action/index.php?action=default&mainmenu=agenda&leftmenu=agenda' ,
2010-04-05 20:41:34 +02:00
'langs' => 'agenda' ,
2017-06-27 10:37:00 +02:00
'position' => 140 ,
2010-04-05 20:41:34 +02:00
'perms' => '$user->rights->agenda->myactions->read' ,
'enabled' => '$conf->agenda->enabled' ,
'target' => '' ,
2010-06-09 20:25:20 +02:00
'user' => 2 );
2010-04-05 20:41:34 +02:00
$r ++ ;
$this -> menu [ $r ] = array ( 'fk_menu' => 'r=3' ,
'type' => 'left' ,
'titre' => 'MenuToDoMyActions' ,
'mainmenu' => 'agenda' ,
2018-04-22 17:57:20 +02:00
'url' => '/comm/action/index.php?action=default&mainmenu=agenda&leftmenu=agenda&status=todo&filter=mine' ,
2010-04-05 20:41:34 +02:00
'langs' => 'agenda' ,
2017-06-27 10:37:00 +02:00
'position' => 141 ,
2010-04-05 20:41:34 +02:00
'perms' => '$user->rights->agenda->myactions->read' ,
'enabled' => '$conf->agenda->enabled' ,
'target' => '' ,
2010-06-09 20:25:20 +02:00
'user' => 2 );
2010-04-05 20:41:34 +02:00
$r ++ ;
$this -> menu [ $r ] = array ( 'fk_menu' => 'r=3' ,
'type' => 'left' ,
'titre' => 'MenuDoneMyActions' ,
'mainmenu' => 'agenda' ,
2018-04-22 17:57:20 +02:00
'url' => '/comm/action/index.php?action=default&mainmenu=agenda&leftmenu=agenda&status=done&filter=mine' ,
2010-04-05 20:41:34 +02:00
'langs' => 'agenda' ,
2017-06-27 10:37:00 +02:00
'position' => 142 ,
2010-04-05 20:41:34 +02:00
'perms' => '$user->rights->agenda->myactions->read' ,
'enabled' => '$conf->agenda->enabled' ,
'target' => '' ,
2010-06-09 20:25:20 +02:00
'user' => 2 );
2010-04-05 20:41:34 +02:00
$r ++ ;
$this -> menu [ $r ] = array ( 'fk_menu' => 'r=3' ,
'type' => 'left' ,
'titre' => 'MenuToDoActions' ,
'mainmenu' => 'agenda' ,
2018-04-22 17:57:20 +02:00
'url' => '/comm/action/index.php?action=default&mainmenu=agenda&leftmenu=agenda&status=todo&filtert=-1' ,
2010-04-05 20:41:34 +02:00
'langs' => 'agenda' ,
2017-06-27 10:37:00 +02:00
'position' => 143 ,
2010-04-05 20:41:34 +02:00
'perms' => '$user->rights->agenda->allactions->read' ,
'enabled' => '$user->rights->agenda->allactions->read' ,
'target' => '' ,
2010-06-09 20:25:20 +02:00
'user' => 2 );
2010-04-05 20:41:34 +02:00
$r ++ ;
$this -> menu [ $r ] = array ( 'fk_menu' => 'r=3' ,
'type' => 'left' ,
'titre' => 'MenuDoneActions' ,
'mainmenu' => 'agenda' ,
2018-04-22 17:57:20 +02:00
'url' => '/comm/action/index.php?action=default&mainmenu=agenda&leftmenu=agenda&status=done&filtert=-1' ,
2010-04-05 20:41:34 +02:00
'langs' => 'agenda' ,
2017-06-27 10:37:00 +02:00
'position' => 144 ,
2010-04-05 20:41:34 +02:00
'perms' => '$user->rights->agenda->allactions->read' ,
'enabled' => '$user->rights->agenda->allactions->read' ,
'target' => '' ,
2010-06-09 20:25:20 +02:00
'user' => 2 );
2018-04-20 13:23:34 +02:00
2010-04-05 20:41:34 +02:00
// List
2018-04-20 13:23:34 +02:00
$r ++ ;
2010-04-05 20:41:34 +02:00
$this -> menu [ $r ] = array ( 'fk_menu' => 'r=1' ,
'type' => 'left' ,
'titre' => 'List' ,
'mainmenu' => 'agenda' ,
2017-11-16 12:18:25 +01:00
'url' => '/comm/action/list.php?mainmenu=agenda&leftmenu=agenda' ,
2010-04-05 20:41:34 +02:00
'langs' => 'agenda' ,
2017-06-27 10:37:00 +02:00
'position' => 110 ,
2010-04-05 20:41:34 +02:00
'perms' => '$user->rights->agenda->myactions->read' ,
'enabled' => '$conf->agenda->enabled' ,
'target' => '' ,
2010-06-09 20:25:20 +02:00
'user' => 2 );
2010-04-05 20:41:34 +02:00
$r ++ ;
$this -> menu [ $r ] = array ( 'fk_menu' => 'r=8' ,
'type' => 'left' ,
'titre' => 'MenuToDoMyActions' ,
'mainmenu' => 'agenda' ,
2017-11-16 12:18:25 +01:00
'url' => '/comm/action/list.php?mainmenu=agenda&leftmenu=agenda&status=todo&filter=mine' ,
2010-04-05 20:41:34 +02:00
'langs' => 'agenda' ,
2017-06-27 10:37:00 +02:00
'position' => 111 ,
2010-04-05 20:41:34 +02:00
'perms' => '$user->rights->agenda->myactions->read' ,
'enabled' => '$conf->agenda->enabled' ,
'target' => '' ,
2010-06-09 20:25:20 +02:00
'user' => 2 );
2010-04-05 20:41:34 +02:00
$r ++ ;
$this -> menu [ $r ] = array ( 'fk_menu' => 'r=8' ,
'type' => 'left' ,
'titre' => 'MenuDoneMyActions' ,
'mainmenu' => 'agenda' ,
2017-11-16 12:18:25 +01:00
'url' => '/comm/action/list.php?mainmenu=agenda&leftmenu=agenda&status=done&filter=mine' ,
2010-04-05 20:41:34 +02:00
'langs' => 'agenda' ,
2017-06-27 10:37:00 +02:00
'position' => 112 ,
2010-04-05 20:41:34 +02:00
'perms' => '$user->rights->agenda->myactions->read' ,
'enabled' => '$conf->agenda->enabled' ,
'target' => '' ,
2010-06-09 20:25:20 +02:00
'user' => 2 );
2010-04-05 20:41:34 +02:00
$r ++ ;
$this -> menu [ $r ] = array ( 'fk_menu' => 'r=8' ,
'type' => 'left' ,
'titre' => 'MenuToDoActions' ,
'mainmenu' => 'agenda' ,
2017-11-16 12:18:25 +01:00
'url' => '/comm/action/list.php?mainmenu=agenda&leftmenu=agenda&status=todo&filtert=-1' ,
2010-04-05 20:41:34 +02:00
'langs' => 'agenda' ,
2017-06-27 10:37:00 +02:00
'position' => 113 ,
2010-04-05 20:41:34 +02:00
'perms' => '$user->rights->agenda->allactions->read' ,
'enabled' => '$user->rights->agenda->allactions->read' ,
'target' => '' ,
2010-06-09 20:25:20 +02:00
'user' => 2 );
2010-04-05 20:41:34 +02:00
$r ++ ;
$this -> menu [ $r ] = array ( 'fk_menu' => 'r=8' ,
'type' => 'left' ,
'titre' => 'MenuDoneActions' ,
'mainmenu' => 'agenda' ,
2017-11-16 12:18:25 +01:00
'url' => '/comm/action/list.php?mainmenu=agenda&leftmenu=agenda&status=done&filtert=-1' ,
2010-04-05 20:41:34 +02:00
'langs' => 'agenda' ,
2017-06-27 10:37:00 +02:00
'position' => 114 ,
2010-04-05 20:41:34 +02:00
'perms' => '$user->rights->agenda->allactions->read' ,
'enabled' => '$user->rights->agenda->allactions->read' ,
'target' => '' ,
2010-06-09 20:25:20 +02:00
'user' => 2 );
2010-04-05 20:41:34 +02:00
$r ++ ;
// Reports
$this -> menu [ $r ] = array ( 'fk_menu' => 'r=1' ,
'type' => 'left' ,
'titre' => 'Reportings' ,
'mainmenu' => 'agenda' ,
'url' => '/comm/action/rapport/index.php?mainmenu=agenda&leftmenu=agenda' ,
'langs' => 'agenda' ,
2017-06-27 10:37:00 +02:00
'position' => 160 ,
2010-04-05 20:41:34 +02:00
'perms' => '$user->rights->agenda->allactions->read' ,
'enabled' => '$conf->agenda->enabled' ,
'target' => '' ,
2010-06-09 20:25:20 +02:00
'user' => 2 );
2010-04-05 20:41:34 +02:00
$r ++ ;
2008-01-14 21:54:15 +01:00
// Exports
2009-07-22 22:42:31 +02:00
//--------
$r = 0 ;
2008-01-08 09:14:20 +01:00
2013-03-25 18:26:35 +01:00
$r ++ ;
$this -> export_code [ $r ] = $this -> rights_class . '_' . $r ;
2013-08-01 15:26:01 +02:00
$this -> export_label [ $r ] = " ExportDataset_event1 " ;
2013-03-25 18:26:35 +01:00
$this -> export_permission [ $r ] = array ( array ( " agenda " , " export " ));
2015-03-26 11:20:39 +01:00
$this -> export_fields_array [ $r ] = array ( 'ac.id' => " IdAgenda " , 'ac.ref_ext' => " ExternalRef " , 'ac.datec' => " DateCreation " , 'ac.datep' => " DateActionBegin " ,
'ac.datep2' => " DateActionEnd " , 'ac.label' => " Title " , 'ac.note' => " Note " , 'ac.percent' => " Percent " , 'ac.durationp' => " Duration " ,
2014-05-18 11:52:52 +02:00
'cac.libelle' => " ActionType " ,
's.rowid' => " IdCompany " , 's.nom' => 'CompanyName' , 's.address' => 'Address' , 's.zip' => 'Zip' , 's.town' => 'Town' ,
2015-03-26 11:20:39 +01:00
'co.code' => 'CountryCode' , 's.phone' => 'Phone' , 's.siren' => 'ProfId1' , 's.siret' => 'ProfId2' , 's.ape' => 'ProfId3' , 's.idprof4' => 'ProfId4' , 's.idprof5' => 'ProfId5' , 's.idprof6' => 'ProfId6' ,
2014-05-18 11:52:52 +02:00
's.code_compta' => 'CustomerAccountancyCode' , 's.code_compta_fournisseur' => 'SupplierAccountancyCode' , 's.tva_intra' => 'VATIntra' );
$this -> export_TypeFields_array [ $r ] = array ( 'ac.ref_ext' => " Text " , 'ac.datec' => " Date " , 'ac.datep' => " Date " ,
2015-09-12 15:19:19 +02:00
'ac.datep2' => " Date " , 'ac.label' => " Text " , 'ac.note' => " Text " , 'ac.percent' => " Numeric " ,
2013-11-21 17:32:11 +01:00
'ac.durationp' => " Duree " ,
2015-03-26 11:20:39 +01:00
'cac.libelle' => " List:c_actioncomm:libelle:id " ,
2014-05-18 11:52:52 +02:00
's.nom' => 'Text' , 's.address' => 'Text' , 's.zip' => 'Text' , 's.town' => 'Text' ,
2015-03-26 11:20:39 +01:00
'co.code' => 'Text' , 's.phone' => 'Text' , 's.siren' => 'Text' , 's.siret' => 'Text' , 's.ape' => 'Text' , 's.idprof4' => 'Text' , 's.idprof5' => 'Text' , 's.idprof6' => 'Text' ,
2014-05-18 11:52:52 +02:00
's.code_compta' => 'Text' , 's.code_compta_fournisseur' => 'Text' , 's.tva_intra' => 'Text' );
$this -> export_entities_array [ $r ] = array ( 'ac.id' => " action " , 'ac.ref_ext' => " action " , 'ac.datec' => " action " , 'ac.datep' => " action " ,
2013-11-21 17:32:11 +01:00
'ac.datep2' => " action " , 'ac.label' => " action " , 'ac.note' => " action " , 'ac.percent' => " action " , 'ac.durationp' => " action " ,
2014-05-18 11:52:52 +02:00
'cac.libelle' => " action " ,
's.rowid' => " company " , 's.nom' => 'company' , 's.address' => 'company' , 's.zip' => 'company' , 's.town' => 'company' ,
2015-03-26 11:20:39 +01:00
'co.code' => 'company' , 's.phone' => 'company' , 's.siren' => 'company' , 's.siret' => 'company' , 's.ape' => 'company' , 's.idprof4' => 'company' , 's.idprof5' => 'company' , 's.idprof6' => 'company' ,
2014-05-18 11:52:52 +02:00
's.code_compta' => 'company' , 's.code_compta_fournisseur' => 'company' , 's.tva_intra' => 'company' ,);
2013-03-25 18:26:35 +01:00
$this -> export_sql_start [ $r ] = 'SELECT DISTINCT ' ;
2013-11-21 17:32:11 +01:00
$this -> export_sql_end [ $r ] = ' FROM ' . MAIN_DB_PREFIX . 'actioncomm as ac' ;
$this -> export_sql_end [ $r ] .= ' LEFT JOIN ' . MAIN_DB_PREFIX . 'c_actioncomm as cac on ac.fk_action = cac.id' ;
2016-09-22 11:06:39 +02:00
if ( ! empty ( $user ) && empty ( $user -> rights -> agenda -> allactions -> read )) $this -> export_sql_end [ $r ] .= ' LEFT JOIN ' . MAIN_DB_PREFIX . 'actioncomm_resources acr on ac.id = acr.fk_actioncomm' ;
2013-11-21 17:32:11 +01:00
$this -> export_sql_end [ $r ] .= ' LEFT JOIN ' . MAIN_DB_PREFIX . 'socpeople as sp on ac.fk_contact = sp.rowid' ;
$this -> export_sql_end [ $r ] .= ' LEFT JOIN ' . MAIN_DB_PREFIX . 'societe as s on ac.fk_soc = s.rowid' ;
2016-09-22 11:06:39 +02:00
if ( ! empty ( $user ) && empty ( $user -> rights -> societe -> client -> voir )) $this -> export_sql_end [ $r ] .= ' LEFT JOIN ' . MAIN_DB_PREFIX . 'societe_commerciaux as sc ON sc.fk_soc = s.rowid' ;
2014-08-10 13:37:39 +02:00
$this -> export_sql_end [ $r ] .= ' LEFT JOIN ' . MAIN_DB_PREFIX . 'c_country as co on s.fk_pays = co.rowid' ;
2017-05-30 18:50:54 +02:00
$this -> export_sql_end [ $r ] .= ' WHERE ac.entity IN (' . getEntity ( 'agenda' ) . ')' ;
2016-09-22 13:00:02 +02:00
if ( empty ( $user -> rights -> societe -> client -> voir )) $this -> export_sql_end [ $r ] .= ' AND (sc.fk_user = ' . ( empty ( $user ) ? 0 : $user -> id ) . ' OR ac.fk_soc IS NULL)' ;
if ( empty ( $user -> rights -> agenda -> allactions -> read )) $this -> export_sql_end [ $r ] .= ' AND acr.fk_element = ' . ( empty ( $user ) ? 0 : $user -> id );
2014-10-12 01:59:21 +02:00
$this -> export_sql_end [ $r ] .= ' ORDER BY ac.datep' ;
2013-03-25 18:26:35 +01:00
2009-07-22 22:42:31 +02:00
}
2017-06-27 04:25:41 +02:00
2008-01-08 09:14:20 +01:00
}