Merge branch 'develop' into dev_ticketsup
This commit is contained in:
commit
d9b55f2275
@ -859,7 +859,7 @@ class FormMail extends Form
|
||||
if (! GETPOST('modelselected','alpha') || GETPOST('modelmailselected') != '-1')
|
||||
{
|
||||
if ($arraydefaultmessage && $arraydefaultmessage->content) {
|
||||
$defaultmessage = $arraydefaultmessage['content'];
|
||||
$defaultmessage = $arraydefaultmessage->content;
|
||||
} elseif (! is_numeric($this->withbody)) {
|
||||
$defaultmessage = $this->withbody;
|
||||
}
|
||||
|
||||
@ -31,9 +31,11 @@ if (!class_exists('FormCompany')) {
|
||||
/**
|
||||
* Classe permettant la generation du formulaire d'un nouveau ticket.
|
||||
*
|
||||
* Utilisation: $formticketsup = new FormTicketsup($db)
|
||||
* $formticketsup->proprietes=1 ou chaine ou tableau de valeurs
|
||||
* $formticketsup->show_form() affiche le formulaire
|
||||
* @package Ticketsup
|
||||
|
||||
* \remarks Utilisation: $formticketsup = new FormTicketsup($db)
|
||||
* \remarks $formticketsup->proprietes=1 ou chaine ou tableau de valeurs
|
||||
* \remarks $formticketsup->show_form() affiche le formulaire
|
||||
*/
|
||||
class FormTicketsup
|
||||
{
|
||||
@ -72,6 +74,7 @@ class FormTicketsup
|
||||
public $withcancel;
|
||||
|
||||
/**
|
||||
*
|
||||
* @var array $substit Substitutions
|
||||
*/
|
||||
public $substit = array();
|
||||
@ -526,7 +529,7 @@ class FormTicketsup
|
||||
$filterarray = explode(',', $filtertype);
|
||||
}
|
||||
|
||||
$ticketstat->load_cache_categories_tickets();
|
||||
$ticketstat->loadCacheCategoriesTickets();
|
||||
|
||||
print '<select id="select' . $htmlname . '" class="flat select_ticketcategory" name="' . $htmlname . '">';
|
||||
if ($empty) {
|
||||
@ -624,7 +627,7 @@ class FormTicketsup
|
||||
$filterarray = explode(',', $filtertype);
|
||||
}
|
||||
|
||||
$ticketstat->load_cache_severities_tickets();
|
||||
$ticketstat->loadCacheSeveritiesTickets();
|
||||
|
||||
print '<select id="select' . $htmlname . '" class="flat select_ticketseverity" name="' . $htmlname . '">';
|
||||
if ($empty) {
|
||||
|
||||
@ -331,7 +331,7 @@ function project_admin_prepare_head()
|
||||
*/
|
||||
function projectLinesa(&$inc, $parent, &$lines, &$level, $var, $showproject, &$taskrole, $projectsListId='', $addordertick=0, $projectidfortotallink=0)
|
||||
{
|
||||
global $user, $bc, $langs;
|
||||
global $user, $bc, $langs, $conf;
|
||||
global $projectstatic, $taskstatic;
|
||||
|
||||
$lastprojectid=0;
|
||||
@ -1298,11 +1298,11 @@ function projectLinesPerWeek(&$inc, $firstdaytoshow, $fuser, $parent, $lines, &$
|
||||
}
|
||||
|
||||
$tableCell ='<td align="center" class="hide'.$idw.($cssonholiday?' '.$cssonholiday:'').($cssweekend?' '.$cssweekend:'').'">';
|
||||
$placeholder='';
|
||||
if ($alreadyspent)
|
||||
{
|
||||
$tableCell.='<span class="timesheetalreadyrecorded" title="texttoreplace"><input type="text" class="center smallpadd" size="2" disabled id="timespent['.$inc.']['.$idw.']" name="task['.$lines[$i]->id.']['.$idw.']" value="'.$alreadyspent.'"></span>';
|
||||
//$placeholder=' placeholder="00:00"';
|
||||
$placeholder='';
|
||||
//$tableCell.='+';
|
||||
}
|
||||
$tableCell.='<input type="text" alt="'.($disabledtask?'':$alttitle).'" title="'.($disabledtask?'':$alttitle).'" '.($disabledtask?'disabled':$placeholder).' class="center smallpadd" size="2" id="timeadded['.$inc.']['.$idw.']" name="task['.$lines[$i]->id.']['.$idw.']" value="" cols="2" maxlength="5"';
|
||||
@ -1525,6 +1525,8 @@ function print_projecttasks_array($db, $form, $socid, $projectsListId, $mytasks=
|
||||
print_liste_field_titre("Status","","","","",'align="right"',$sortfield,$sortorder);
|
||||
print "</tr>\n";
|
||||
|
||||
$total_plannedworkload=0;
|
||||
$total_declaredprogressworkload=0;
|
||||
while ($i < $num)
|
||||
{
|
||||
$objp = $db->fetch_object($resql);
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
<?php
|
||||
/* <one line to give the program's name and a brief idea of what it does.>
|
||||
* Copyright (C) 2013-2016 Jean-François FERRY <hello@librethic.io>
|
||||
/*
|
||||
* Copyright (C) 2013-2018 Jean-François FERRY <hello@librethic.io>
|
||||
* 2016 Christophe Battarel <christophe@altairis.fr>
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
@ -20,7 +20,13 @@
|
||||
/**
|
||||
* \file core/lib/ticketsup.lib.php
|
||||
* \ingroup ticketsup
|
||||
* \brief This file is an example module library
|
||||
* \brief This file is a library for TicketSup module
|
||||
*/
|
||||
|
||||
/**
|
||||
* Build tabs for admin page
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
function ticketsupAdminPrepareHead()
|
||||
{
|
||||
@ -54,10 +60,10 @@ function ticketsupAdminPrepareHead()
|
||||
}
|
||||
|
||||
/**
|
||||
* Prepare head for ticket card
|
||||
* Build tabs for a Ticketsup object
|
||||
*
|
||||
* @param Object $object Object Ticket
|
||||
* @return array Array of tabs
|
||||
* @param Ticketsup $object Object Ticket
|
||||
* @return array Array of tabs
|
||||
*/
|
||||
function ticketsup_prepare_head($object)
|
||||
{
|
||||
|
||||
@ -1049,7 +1049,7 @@ class DolibarrModules // Can not be abstract, because we need to insta
|
||||
{
|
||||
if (preg_match('/\.sql$/i',$file) && ! preg_match('/\.key\.sql$/i',$file) && substr($file,0,4) == 'llx_' && substr($file,0,4) != 'data')
|
||||
{
|
||||
$result=run_sql($dir.$file,1,'',1);
|
||||
$result=run_sql($dir.$file, empty($conf->global->MAIN_DISPLAY_SQL_INSTALL_LOG)?0:1, '', 1);
|
||||
if ($result <= 0) $error++;
|
||||
}
|
||||
}
|
||||
@ -1067,7 +1067,7 @@ class DolibarrModules // Can not be abstract, because we need to insta
|
||||
{
|
||||
if (preg_match('/\.key\.sql$/i',$file) && substr($file,0,4) == 'llx_' && substr($file,0,4) != 'data')
|
||||
{
|
||||
$result=run_sql($dir.$file,1,'',1);
|
||||
$result=run_sql($dir.$file, empty($conf->global->MAIN_DISPLAY_SQL_INSTALL_LOG)?0:1, '', 1);
|
||||
if ($result <= 0) $error++;
|
||||
}
|
||||
}
|
||||
@ -1085,7 +1085,7 @@ class DolibarrModules // Can not be abstract, because we need to insta
|
||||
{
|
||||
if (preg_match('/\.sql$/i',$file) && ! preg_match('/\.key\.sql$/i',$file) && substr($file,0,4) == 'data')
|
||||
{
|
||||
$result=run_sql($dir.$file,1,'',1);
|
||||
$result=run_sql($dir.$file, empty($conf->global->MAIN_DISPLAY_SQL_INSTALL_LOG)?0:1, '', 1);
|
||||
if ($result <= 0) $error++;
|
||||
}
|
||||
}
|
||||
@ -1103,7 +1103,7 @@ class DolibarrModules // Can not be abstract, because we need to insta
|
||||
{
|
||||
if (preg_match('/\.sql$/i',$file) && ! preg_match('/\.key\.sql$/i',$file) && substr($file,0,6) == 'update')
|
||||
{
|
||||
$result=run_sql($dir.$file,1,'',1);
|
||||
$result=run_sql($dir.$file, empty($conf->global->MAIN_DISPLAY_SQL_INSTALL_LOG)?0:1, '', 1);
|
||||
if ($result <= 0) $error++;
|
||||
}
|
||||
}
|
||||
|
||||
@ -73,7 +73,8 @@ class mod_ticketsup_simple extends ModeleNumRefTicketsup
|
||||
$posindice = 8;
|
||||
$sql = "SELECT MAX(CAST(SUBSTRING(ref FROM " . $posindice . ") AS SIGNED)) as max";
|
||||
$sql .= " FROM " . MAIN_DB_PREFIX . "ticketsup";
|
||||
$sql .= " WHERE ref LIKE '" . $this->prefix . "____-%'";
|
||||
$search = $this->prefix . "____-%";
|
||||
$sql .= " WHERE ref LIKE '" . $search ."'";
|
||||
$sql .= " AND entity = " . $conf->entity;
|
||||
$resql = $db->query($sql);
|
||||
if ($resql) {
|
||||
@ -107,7 +108,8 @@ class mod_ticketsup_simple extends ModeleNumRefTicketsup
|
||||
$posindice = 8;
|
||||
$sql = "SELECT MAX(CAST(SUBSTRING(ref FROM " . $posindice . ") AS SIGNED)) as max";
|
||||
$sql .= " FROM " . MAIN_DB_PREFIX . "ticketsup";
|
||||
$sql .= " WHERE ref like '" . $this->prefix . "____-%'";
|
||||
$search = $this->prefix . "____-%";
|
||||
$sql .= " WHERE ref LIKE '" . $search ."'";
|
||||
$sql .= " AND entity = " . $conf->entity;
|
||||
|
||||
$resql = $db->query($sql);
|
||||
|
||||
@ -134,8 +134,8 @@ class InterfaceTicketEmail extends DolibarrTriggers
|
||||
}
|
||||
|
||||
$message .= '</ul>';
|
||||
$message .= '<p>' . $langs->trans('Message') . ' : <br />' . $object->message . '</p>';
|
||||
$message .= '<p><a href="' . dol_buildpath('/ticketsup/card.php', 2) . '?track_id=' . $object->track_id . '">' . $langs->trans('SeeThisTicketIntomanagementInterface') . '</a><br /></p>';
|
||||
$message .= '<p>' . $langs->trans('Message') . ' : <br>' . $object->message . '</p>';
|
||||
$message .= '<p><a href="' . dol_buildpath('/ticketsup/card.php', 2) . '?track_id=' . $object->track_id . '">' . $langs->trans('SeeThisTicketIntomanagementInterface') . '</a></p>';
|
||||
|
||||
$sendto = $userstat->email;
|
||||
$from = dolGetFirstLastname($user->firstname, $user->lastname) . '<' . $user->email . '>';
|
||||
@ -202,7 +202,7 @@ class InterfaceTicketEmail extends DolibarrTriggers
|
||||
$message_admin.='<p>'.$langs->trans('Company'). ' : '.$object->thirdparty->name.'</p>';
|
||||
}
|
||||
|
||||
$message_admin.='<p>'.$langs->trans('Message').' : <br />'.$object->message.'</p>';
|
||||
$message_admin.='<p>'.$langs->trans('Message').' : <br>'.$object->message.'</p>';
|
||||
$message_admin.='<p><a href="'.dol_buildpath('/ticketsup/card.php', 2).'?track_id='.$object->track_id.'">'.$langs->trans('SeeThisTicketIntomanagementInterface').'</a></p>';
|
||||
|
||||
$from = $conf->global->MAIN_INFO_SOCIETE_NOM.'<'.$conf->global->TICKETS_NOTIFICATION_EMAIL_FROM.'>';
|
||||
@ -250,7 +250,7 @@ class InterfaceTicketEmail extends DolibarrTriggers
|
||||
}
|
||||
}
|
||||
$message_customer.='</ul>';
|
||||
$message_customer.='<p>'.$langs->trans('Message').' : <br />'.$object->message.'</p>';
|
||||
$message_customer.='<p>'.$langs->trans('Message').' : <br>'.$object->message.'</p>';
|
||||
$url_public_ticket = ($conf->global->TICKETS_URL_PUBLIC_INTERFACE?$conf->global->TICKETS_URL_PUBLIC_INTERFACE.'/':dol_buildpath('/ticketsup/public/view.php', 2)).'?track_id='.$object->track_id;
|
||||
$message_customer.='<p>' . $langs->trans('TicketNewEmailBodyInfosTrackUrlCustomer') . ' : <a href="'.$url_public_ticket.'">'.$url_public_ticket.'</a></p>';
|
||||
$message_customer.='<p>'.$langs->trans('TicketEmailPleaseDoNotReplyToThisEmail').'</p>';
|
||||
|
||||
@ -275,7 +275,7 @@ if ($action == 'create_ticket' && GETPOST('add_ticket')) {
|
||||
}
|
||||
}
|
||||
$message_admin .= '</ul>';
|
||||
$message_admin .= '<p>' . $langs->trans('Message') . ' : <br />' . $object->message . '</p>';
|
||||
$message_admin .= '<p>' . $langs->trans('Message') . ' : <br>' . $object->message . '</p>';
|
||||
$message_admin .= '<p><a href="' . dol_buildpath('/ticketsup/card.php', 2) . '?track_id=' . $object->track_id . '">' . $langs->trans('SeeThisTicketIntomanagementInterface') . '</a></p>';
|
||||
|
||||
$from = $conf->global->MAIN_INFO_SOCIETE_NOM . '<' . $conf->global->TICKETS_NOTIFICATION_EMAIL_FROM . '>';
|
||||
@ -367,7 +367,7 @@ if ($action != "infos_success") {
|
||||
$formticket->showForm();
|
||||
} else {
|
||||
print '<div class="ok">' . $langs->trans('MesgInfosPublicTicketCreatedWithTrackId', '<strong>' . $object->track_id . '</strong>');
|
||||
print '<br />';
|
||||
print '<br>';
|
||||
print $langs->trans('PleaseRememberThisId');
|
||||
}
|
||||
print '</div>';
|
||||
|
||||
@ -533,7 +533,7 @@ if ($action == 'view' || $action == 'add_message' || $action == 'close' || $acti
|
||||
$userstatic = new User($db);
|
||||
foreach (array('internal', 'external') as $source) {
|
||||
$tmpobject = $object->dao;
|
||||
$tab = $tmpobject->liste_contact(-1, $source);
|
||||
$tab = $tmpobject->listeContact(-1, $source);
|
||||
$num = count($tab);
|
||||
$i = 0;
|
||||
while ($i < $num) {
|
||||
|
||||
@ -343,7 +343,7 @@ class ActionsTicketsup
|
||||
if ($ret) {
|
||||
// Si déjà un user assigné on le supprime des contacts
|
||||
if ($useroriginassign > 0) {
|
||||
$internal_contacts = $this->dao->liste_contact(-1, 'internal');
|
||||
$internal_contacts = $this->dao->listeContact(-1, 'internal');
|
||||
|
||||
foreach ($internal_contacts as $key => $contact) {
|
||||
if ($contact['code'] == "SUPPORTTEC" && $contact['id'] == $useroriginassign) {
|
||||
@ -609,8 +609,8 @@ class ActionsTicketsup
|
||||
/**
|
||||
* Add new message on a ticket (private area)
|
||||
*
|
||||
* @param User $user Object user
|
||||
* @param string $action Action
|
||||
* @param User $user User for action
|
||||
* @param string $action Action string
|
||||
*/
|
||||
private function newMessage($user, &$action)
|
||||
{
|
||||
@ -820,8 +820,8 @@ class ActionsTicketsup
|
||||
/**
|
||||
* Add new message on a ticket (public area)
|
||||
*
|
||||
* @param User $user Object user
|
||||
* @param string $action Action
|
||||
* @param User $user User for action
|
||||
* @param string $action Action string
|
||||
*/
|
||||
private function newMessagePublic($user, &$action)
|
||||
{
|
||||
@ -964,9 +964,9 @@ class ActionsTicketsup
|
||||
/**
|
||||
* Fetch object
|
||||
*
|
||||
* @param int $id Id
|
||||
* @param int $track_id Track id
|
||||
* @param string $ref Ref
|
||||
* @param int $id ID of ticket
|
||||
* @param string $track_id Track ID of ticket (for public area)
|
||||
* @param string $ref Reference of ticket
|
||||
* @return void
|
||||
*/
|
||||
public function fetch($id = 0, $track_id = 0, $ref = '')
|
||||
@ -977,8 +977,7 @@ class ActionsTicketsup
|
||||
|
||||
/**
|
||||
* print statut
|
||||
*
|
||||
* @param int $mode Mode
|
||||
* @param int $mode Display mode
|
||||
* @return void
|
||||
*/
|
||||
public function getLibStatut($mode = 0)
|
||||
@ -989,10 +988,9 @@ class ActionsTicketsup
|
||||
}
|
||||
|
||||
/**
|
||||
* Get ticket info
|
||||
* Get ticket info
|
||||
*
|
||||
* @param int $id Object id
|
||||
* @return void
|
||||
* @param int $id Object id
|
||||
*/
|
||||
public function getInfo($id)
|
||||
{
|
||||
@ -1004,10 +1002,9 @@ class ActionsTicketsup
|
||||
}
|
||||
|
||||
/**
|
||||
* Get action title
|
||||
* Get action title
|
||||
*
|
||||
* @param string $action Type of action
|
||||
* @return string Label
|
||||
* @param string $action Type of action
|
||||
*/
|
||||
public function getTitle($action = '')
|
||||
{
|
||||
@ -1029,8 +1026,7 @@ class ActionsTicketsup
|
||||
/**
|
||||
* View html list of logs
|
||||
*
|
||||
* @param boolean $show_user Show user who make action
|
||||
* @return void
|
||||
* @param boolean $show_user Show user who make action
|
||||
*/
|
||||
public function viewTicketLogs($show_user = true)
|
||||
{
|
||||
@ -1092,8 +1088,7 @@ class ActionsTicketsup
|
||||
/**
|
||||
* View list of logs with timeline view
|
||||
*
|
||||
* @param boolean $show_user Show user who make action
|
||||
* @return void
|
||||
* @param boolean $show_user Show user who make action
|
||||
*/
|
||||
public function viewTimelineTicketLogs($show_user = true)
|
||||
{
|
||||
@ -1139,9 +1134,8 @@ class ActionsTicketsup
|
||||
/**
|
||||
* Show ticket original message
|
||||
*
|
||||
* @param User $user Object user
|
||||
* @param string $action Action
|
||||
* @return void
|
||||
* @param User $user $user wich display
|
||||
* @param string $action Action mode
|
||||
*/
|
||||
public function viewTicketOriginalMessage($user, $action = '')
|
||||
{
|
||||
@ -1196,9 +1190,8 @@ class ActionsTicketsup
|
||||
/**
|
||||
* View html list of message for ticket
|
||||
*
|
||||
* @param boolean $show_private Show private messages
|
||||
* @param boolean $show_user Show user who make action
|
||||
* @return void
|
||||
* @param boolean $show_private Show private messages
|
||||
* @param boolean $show_user Show user who make action
|
||||
*/
|
||||
public function viewTicketMessages($show_private, $show_user = true)
|
||||
{
|
||||
@ -1268,9 +1261,8 @@ class ActionsTicketsup
|
||||
/**
|
||||
* View list of message for ticket with timeline display
|
||||
*
|
||||
* @param boolean $show_private Show private messages
|
||||
* @param boolean $show_user Show user who make action
|
||||
* @return void
|
||||
* @param boolean $show_private Show private messages
|
||||
* @param boolean $show_user Show user who make action
|
||||
*/
|
||||
public function viewTicketTimelineMessages($show_private, $show_user = true)
|
||||
{
|
||||
@ -1419,12 +1411,12 @@ class ActionsTicketsup
|
||||
|
||||
/**
|
||||
* Copy files into ticket directory
|
||||
*
|
||||
* Used for files linked into messages
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function copyFilesForTicket()
|
||||
{
|
||||
|
||||
global $conf;
|
||||
|
||||
// Create form object
|
||||
@ -1466,9 +1458,8 @@ class ActionsTicketsup
|
||||
|
||||
/**
|
||||
* Print html navbar with link to set ticket status
|
||||
* $selected : 0=>'NotRead', 1=>'Read', 3=>'Answered', 4=>'Assigned', 5 => 'InProgress', 6=> 'Waiting', 8=>'Closed', 9=>'Deleted'
|
||||
*
|
||||
* @return void
|
||||
*
|
||||
* @global type $langs
|
||||
*/
|
||||
public function viewStatusActions()
|
||||
{
|
||||
@ -1520,10 +1511,10 @@ class ActionsTicketsup
|
||||
/**
|
||||
* Hook to add email element template
|
||||
*
|
||||
* @param array $parameters Parameters
|
||||
* @param Object $object Object
|
||||
* @param string $action Action
|
||||
* @param HookManager $hookmanager Hookmanager
|
||||
* @param array $parameters Parameters
|
||||
* @param Ticketsup $object Object for action
|
||||
* @param string $action Action string
|
||||
* @param HookManager $hookmanager Hookmanager object
|
||||
* @return int
|
||||
*/
|
||||
public function emailElementlist($parameters, &$object, &$action, $hookmanager)
|
||||
|
||||
@ -54,8 +54,8 @@ class Ticketsup extends CommonObject
|
||||
* @var string String with name of icon for ticketsupcore. Must be the part after the 'object_' into object_ticketsupcore.png
|
||||
*/
|
||||
public $picto = 'ticketsup@ticketsup';
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* @var string Hash to identify ticket
|
||||
*/
|
||||
@ -192,9 +192,9 @@ class Ticketsup extends CommonObject
|
||||
'date_read' => array('type'=>'datetime', 'label'=>'TicketReadOn', 'visible'=>-2, 'enabled'=>1, 'position'=>500, 'notnull'=>1),
|
||||
'date_close' => array('type'=>'datetime', 'label'=>'TicketCloseOn', 'visible'=>-2, 'enabled'=>1, 'position'=>500, 'notnull'=>1),
|
||||
'tms' => array('type'=>'timestamp', 'label'=>'DateModification', 'visible'=>-2, 'enabled'=>1, 'position'=>501, 'notnull'=>1)
|
||||
|
||||
|
||||
);
|
||||
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
*
|
||||
@ -533,14 +533,15 @@ class Ticketsup extends CommonObject
|
||||
/**
|
||||
* Load all objects in memory from database
|
||||
*
|
||||
* @param User $user Object user
|
||||
* @param string $sortorder Sort order
|
||||
* @param string $sortfield Sort field
|
||||
* @param int $limit page number
|
||||
* @param int $offset Offset
|
||||
* @param int $arch archive or not (not used)
|
||||
* @param array $filter Filter
|
||||
* @return int <0 if KO, >0 if OK
|
||||
* @param User $user User for action
|
||||
* @param string $sortorder Sort order
|
||||
* @param string $sortfield Sort field
|
||||
* @param int $limit page number
|
||||
* @param int $offset Offset for query
|
||||
* @param int $arch archive or not (not used)
|
||||
* @param array $filter Filter for query
|
||||
* output
|
||||
* @return int <0 if KO, >0 if OK
|
||||
*/
|
||||
public function fetchAll($user, $sortorder = 'ASC', $sortfield = 't.datec', $limit = '', $offset = 0, $arch = '', $filter = '')
|
||||
{
|
||||
@ -1002,7 +1003,7 @@ class Ticketsup extends CommonObject
|
||||
$this->tms = '';
|
||||
}
|
||||
|
||||
|
||||
|
||||
public function printSelectStatus($selected = "")
|
||||
{
|
||||
print Form::selectarray('search_fk_statut', $this->statuts_short, $selected, $show_empty = 1, $key_in_label = 0, $value_as_key = 0, $option = '', $translate = 1, $maxlen = 0, $disabled = 0, $sort = '', $morecss = '');
|
||||
@ -1052,7 +1053,7 @@ class Ticketsup extends CommonObject
|
||||
*
|
||||
* @return int Nb lignes chargees, 0 si deja chargees, <0 si ko
|
||||
*/
|
||||
function load_cache_categories_tickets()
|
||||
public function loadCacheCategoriesTickets()
|
||||
{
|
||||
global $langs;
|
||||
|
||||
@ -1092,7 +1093,7 @@ class Ticketsup extends CommonObject
|
||||
*
|
||||
* @return int Nb lignes chargees, 0 si deja chargees, <0 si ko
|
||||
*/
|
||||
public function load_cache_severities_tickets()
|
||||
public function loadCacheSeveritiesTickets()
|
||||
{
|
||||
global $langs;
|
||||
|
||||
@ -1105,7 +1106,7 @@ class Ticketsup extends CommonObject
|
||||
$sql .= " FROM " . MAIN_DB_PREFIX . "c_ticketsup_severity";
|
||||
$sql .= " WHERE active > 0";
|
||||
$sql .= " ORDER BY pos";
|
||||
dol_syslog(get_class($this) . "::load_cache_severities_tickets sql=" . $sql, LOG_DEBUG);
|
||||
dol_syslog(get_class($this) . "::loadCacheSeveritiesTickets sql=" . $sql, LOG_DEBUG);
|
||||
$resql = $this->db->query($sql);
|
||||
if ($resql) {
|
||||
$num = $this->db->num_rows($resql);
|
||||
@ -1128,25 +1129,27 @@ class Ticketsup extends CommonObject
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Return status label of object
|
||||
*
|
||||
* @param mode 0=long label, 1=short label, 2=Picto + short label, 3=Picto, 4=Picto + long label, 5=Short label + Picto
|
||||
* @return string Label
|
||||
* Return status label of object
|
||||
*
|
||||
* @param int $mode 0=long label, 1=short label, 2=Picto + short label, 3=Picto, 4=Picto + long label, 5=Short label + Picto
|
||||
* @return string Label
|
||||
*/
|
||||
public function getLibStatut($mode = 0)
|
||||
{
|
||||
return $this->LibStatut($this->fk_statut, $mode);
|
||||
return $this->libStatut($this->fk_statut, $mode);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Return status label of object
|
||||
*
|
||||
*
|
||||
* @param string $statut id statut
|
||||
* @param int $mode 0=long label, 1=short label, 2=Picto + short label, 3=Picto, 4=Picto + long label, 5=Short label + Picto
|
||||
* @return string Label
|
||||
*/
|
||||
public function LibStatut($statut, $mode = 0)
|
||||
function LibStatut($statut, $mode = 0)
|
||||
{
|
||||
global $langs;
|
||||
|
||||
@ -1291,11 +1294,11 @@ class Ticketsup extends CommonObject
|
||||
}
|
||||
|
||||
/**
|
||||
* Renvoie nom clicable (avec eventuellement le picto)
|
||||
*
|
||||
* @param int $withpicto 0=Pas de picto, 1=Inclut le picto dans le lien, 2=Picto seul
|
||||
* @param string $option Sur quoi pointe le lien
|
||||
* @return string Chaine avec URL
|
||||
* Return clickable link to object
|
||||
*
|
||||
* @param int $withpicto 0=Pas de picto, 1=Inclut le picto dans le lien, 2=Picto seul
|
||||
* @param string $option Sur quoi pointe le lien
|
||||
* @return string Chaine avec URL
|
||||
*/
|
||||
public function getNomUrl($withpicto = 0, $option = '')
|
||||
{
|
||||
@ -1326,13 +1329,13 @@ class Ticketsup extends CommonObject
|
||||
|
||||
return $result;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Mark a message as read
|
||||
*
|
||||
* @param User $user Object user
|
||||
* @param int $notrigger No trigger
|
||||
* @return int <0 if KO, >0 if OK
|
||||
*
|
||||
* @param User $user Object user
|
||||
* @param int $notrigger No trigger
|
||||
* @return int <0 if KO, >0 if OK
|
||||
*/
|
||||
public function markAsRead($user, $notrigger = 0)
|
||||
{
|
||||
@ -1340,7 +1343,7 @@ class Ticketsup extends CommonObject
|
||||
|
||||
if ($this->statut != 9) { // no closed
|
||||
$this->db->begin();
|
||||
|
||||
|
||||
$sql = "UPDATE " . MAIN_DB_PREFIX . "ticketsup";
|
||||
$sql .= " SET fk_statut = 1, date_read='" . $this->db->idate(dol_now()) . "'";
|
||||
$sql .= " WHERE rowid = " . $this->id;
|
||||
@ -1378,7 +1381,7 @@ class Ticketsup extends CommonObject
|
||||
|
||||
/**
|
||||
* Mark a message as read
|
||||
*
|
||||
*
|
||||
* @param User $user Object user
|
||||
* @param int $id_assign_user ID of user assigned
|
||||
* @param int $notrigger Disable trigger
|
||||
@ -1431,10 +1434,10 @@ class Ticketsup extends CommonObject
|
||||
* 1- create entry into database for message storage
|
||||
* 2- if trigger, send an email to ticket contacts
|
||||
*
|
||||
* @param User $user User that create
|
||||
* @param string $message Log message
|
||||
* @param int $noemail 0=send email after, 1=disable emails
|
||||
* @return int <0 if KO, >0 if OK
|
||||
* @param User $user User that create
|
||||
* @param string $message Log message
|
||||
* @param int $noemail 0=send email after, 1=disable emails
|
||||
* @return int <0 if KO, >0 if OK
|
||||
*/
|
||||
public function createTicketLog(User $user, $message, $noemail = 0)
|
||||
{
|
||||
@ -1486,13 +1489,13 @@ class Ticketsup extends CommonObject
|
||||
}
|
||||
|
||||
/**
|
||||
* Send notification of changes by email
|
||||
* Send notification of changes by email
|
||||
*
|
||||
* @param User $user User that create
|
||||
* @param string $message Log message
|
||||
* @return int <0 if KO, >0 if OK (number of emails sent)
|
||||
* @param User $user User that create
|
||||
* @param string $log_message Log message
|
||||
* @return int <0 if KO, >0 if OK (number of emails sent)
|
||||
*/
|
||||
private function sendLogByEmail($user, $log_message)
|
||||
private function sendLogByEmail($user, $message)
|
||||
{
|
||||
global $conf, $langs;
|
||||
|
||||
@ -1501,8 +1504,8 @@ class Ticketsup extends CommonObject
|
||||
$langs->load('ticketsup@ticketsup');
|
||||
|
||||
// Retrieve email of all contacts (internal and external)
|
||||
$contacts = $this->liste_contact(-1, 'internal');
|
||||
$contacts = array_merge($contacts, $this->liste_contact(-1, 'external'));
|
||||
$contacts = $this->listeContact(-1, 'internal');
|
||||
$contacts = array_merge($contacts, $this->listeContact(-1, 'external'));
|
||||
|
||||
/* If origin_email and no socid, we add email to the list * */
|
||||
if (!empty($this->origin_email) && empty($this->fk_soc)) {
|
||||
@ -1733,7 +1736,7 @@ class Ticketsup extends CommonObject
|
||||
|
||||
/**
|
||||
* Close a ticket
|
||||
*
|
||||
*
|
||||
* @return int <0 if KO, >0 if OK
|
||||
*/
|
||||
public function close()
|
||||
@ -2034,7 +2037,7 @@ class Ticketsup extends CommonObject
|
||||
*/
|
||||
public function getInfosTicketInternalContact()
|
||||
{
|
||||
return $this->liste_contact(-1, 'internal');
|
||||
return $this->listeContact(-1, 'internal');
|
||||
}
|
||||
|
||||
/**
|
||||
@ -2054,7 +2057,7 @@ class Ticketsup extends CommonObject
|
||||
*/
|
||||
public function getInfosTicketExternalContact()
|
||||
{
|
||||
return $this->liste_contact(-1, 'external');
|
||||
return $this->listeContact(-1, 'external');
|
||||
}
|
||||
|
||||
/**
|
||||
@ -2099,7 +2102,7 @@ class Ticketsup extends CommonObject
|
||||
/**
|
||||
* Return id of all contacts for ticket
|
||||
*
|
||||
* @param int $exclude_self exclude_self Exclude current user form list
|
||||
* @return array Array of contacts
|
||||
*/
|
||||
public function getTicketAllCustomerContacts()
|
||||
{
|
||||
@ -2112,11 +2115,11 @@ class Ticketsup extends CommonObject
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if contact are linked to the ticket. If yes, send mail and save trace into llx_notify.
|
||||
* Send message
|
||||
*
|
||||
* @param string $subject Subject
|
||||
* @param string $texte Message to send
|
||||
* @return int <0 if KO, or number of changes if OK
|
||||
* @param string $subject Subject
|
||||
* @param string $texte Message to send
|
||||
* @return int <0 if KO, or number of changes if OK
|
||||
*/
|
||||
public function messageSend($subject, $texte)
|
||||
{
|
||||
@ -2138,7 +2141,8 @@ class Ticketsup extends CommonObject
|
||||
$sendto = $obj->firstname . " " . $obj->lastname . " <" . $obj->email . ">";
|
||||
$actiondefid = $obj->adid;
|
||||
|
||||
if (dol_strlen($sendto)) {
|
||||
if (dol_strlen($sendto))
|
||||
{
|
||||
include_once DOL_DOCUMENT_ROOT . '/core/lib/files.lib.php';
|
||||
$application = ($conf->global->MAIN_APPLICATION_TITLE ? $conf->global->MAIN_APPLICATION_TITLE : 'Dolibarr ERP/CRM');
|
||||
|
||||
@ -2239,12 +2243,12 @@ class Ticketsup extends CommonObject
|
||||
* Get array of all contacts for a ticket
|
||||
* Override method of file commonobject.class.php to add phone number
|
||||
*
|
||||
* @param int $statut Status of lines to get (-1=all)
|
||||
* @param string $source Source of contact: external or thirdparty (llx_socpeople) or internal (llx_user)
|
||||
* @param int $list 0:Return array contains all properties, 1:Return array contains just id
|
||||
* @return array Array of contacts
|
||||
* @param int $statut Status of lines to get (-1=all)
|
||||
* @param string $source Source of contact: external or thirdparty (llx_socpeople) or internal (llx_user)
|
||||
* @param int $list 0:Return array contains all properties, 1:Return array contains just id
|
||||
* @return array Array of contacts
|
||||
*/
|
||||
public function liste_contact($statut = -1, $source = 'external', $list = 0, $code = '')
|
||||
function liste_contact($statut = -1, $source = 'external', $list = 0)
|
||||
{
|
||||
global $langs;
|
||||
|
||||
@ -2296,8 +2300,7 @@ class Ticketsup extends CommonObject
|
||||
}
|
||||
|
||||
$sql .= " ORDER BY t.lastname ASC";
|
||||
//echo $sql; exit;
|
||||
dol_syslog(get_class($this) . "::liste_contact sql=" . $sql);
|
||||
|
||||
$resql = $this->db->query($sql);
|
||||
if ($resql) {
|
||||
$num = $this->db->num_rows($resql);
|
||||
@ -2454,12 +2457,12 @@ class Ticketsup extends CommonObject
|
||||
}
|
||||
|
||||
/**
|
||||
* Affiche la premiere photo du ticket
|
||||
* Return if at least one photo is available
|
||||
*
|
||||
* @param string $sdir Repertoire a scanner
|
||||
* @return boolean true si photo dispo, false sinon
|
||||
* @param string $sdir Directory to scan
|
||||
* @return boolean True if at least one photo is available, False if not
|
||||
*/
|
||||
public function is_photo_available($sdir)
|
||||
function is_photo_available($sdir)
|
||||
{
|
||||
include_once DOL_DOCUMENT_ROOT . '/core/lib/files.lib.php';
|
||||
|
||||
@ -2501,7 +2504,7 @@ class Ticketsup extends CommonObject
|
||||
* @param int $nolink Do not add a href link to view enlarged imaged into a new tab
|
||||
* @return string Html code to show photo. Number of photos shown is saved in this->nbphoto
|
||||
*/
|
||||
public function show_photos($sdir, $size = 0, $nbmax = 0, $nbbyrow = 5, $showfilename = 0, $showaction = 0, $maxHeight = 120, $maxWidth = 160, $nolink = 0)
|
||||
function show_photos($sdir, $size = 0, $nbmax = 0, $nbbyrow = 5, $showfilename = 0, $showaction = 0, $maxHeight = 120, $maxWidth = 160, $nolink = 0)
|
||||
{
|
||||
global $conf, $user, $langs;
|
||||
|
||||
|
||||
1
htdocs/ticketsup/tpl/index.html
Normal file
1
htdocs/ticketsup/tpl/index.html
Normal file
@ -0,0 +1 @@
|
||||
|
||||
@ -16,6 +16,12 @@
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
// Protection to avoid direct call of template
|
||||
if (empty($conf) || ! is_object($conf))
|
||||
{
|
||||
print "Error, template page can't be called as URL";
|
||||
exit;
|
||||
}
|
||||
?>
|
||||
|
||||
<!-- BEGIN PHP TEMPLATE -->
|
||||
@ -55,4 +61,4 @@ foreach ($linkedObjectBlock as $object) {
|
||||
<?php } ?>
|
||||
</table>
|
||||
|
||||
<!-- END PHP TEMPLATE -->
|
||||
<!-- END PHP TEMPLATE -->
|
||||
|
||||
Loading…
Reference in New Issue
Block a user