Skip to content

Commit

Permalink
FIX Show list of events on tickets
Browse files Browse the repository at this point in the history
  • Loading branch information
eldy committed Jul 19, 2019
1 parent fafb795 commit 327e5eb
Show file tree
Hide file tree
Showing 4 changed files with 26 additions and 88 deletions.
5 changes: 4 additions & 1 deletion htdocs/admin/agenda.php
Expand Up @@ -40,7 +40,7 @@
$search_event = GETPOST('search_event', 'alpha');

// Get list of triggers available
$sql = "SELECT a.rowid, a.code, a.label, a.elementtype";
$sql = "SELECT a.rowid, a.code, a.label, a.elementtype, a.rang as position";
$sql.= " FROM ".MAIN_DB_PREFIX."c_action_trigger as a";
$sql.= " ORDER BY a.rang ASC";
$resql=$db->query($sql);
Expand All @@ -55,6 +55,7 @@
$triggers[$i]['code'] = $obj->code;
$triggers[$i]['element'] = $obj->elementtype;
$triggers[$i]['label'] = ($langs->trans("Notify_".$obj->code)!="Notify_".$obj->code?$langs->trans("Notify_".$obj->code):$obj->label);
$triggers[$i]['position'] = $obj->position;

$i++;
}
Expand All @@ -65,6 +66,8 @@
dol_print_error($db);
}

//$triggers = dol_sort_array($triggers, 'code', 'asc', 0, 0, 1);


/*
* Actions
Expand Down
10 changes: 2 additions & 8 deletions htdocs/public/ticket/view.php
Expand Up @@ -150,7 +150,7 @@
if ($display_ticket) {
// Confirmation close
if ($action == 'close') {
print $form->form_confirm($_SERVER["PHP_SELF"] . "?track_id=" . $track_id, $langs->trans("CloseATicket"), $langs->trans("ConfirmCloseAticket"), "confirm_public_close", '', '', 1);
print $form->formconfirm($_SERVER["PHP_SELF"] . "?track_id=" . $track_id, $langs->trans("CloseATicket"), $langs->trans("ConfirmCloseAticket"), "confirm_public_close", '', '', 1);
}

print '<div id="form_view_ticket">';
Expand Down Expand Up @@ -287,13 +287,7 @@

// Message list
print load_fiche_titre($langs->trans('TicketMessagesList'), '', 'messages@ticket');
$object->viewTicketMessages(false);

print '<br>';

// Logs list
print load_fiche_titre($langs->trans('TicketHistory'), '', 'history@ticket');
$object->viewTicketLogs(false);
$object->viewTicketMessages(false, true, $object->dao);
} else {
print '<div class="error">Not Allowed<br><a href="' . $_SERVER['PHP_SELF'] . '?track_id=' . $object->dao->track_id . '">' . $langs->trans('Back') . '</a></div>';
}
Expand Down
86 changes: 14 additions & 72 deletions htdocs/ticket/class/actions_ticket.class.php
Expand Up @@ -167,72 +167,12 @@ public function getTitle($action = '')
}
}

/**
* View html list of logs
*
* @param boolean $show_user Show user who make action
* @return void
*/
public function viewTicketLogs($show_user = true)
{
global $conf, $langs;

// Load logs in cache
$ret = $this->dao->loadCacheLogsTicket();

if (is_array($this->dao->cache_logs_ticket) && count($this->dao->cache_logs_ticket) > 0) {
print '<table class="border" style="width:100%;">';

print '<tr class="liste_titre">';

print '<th>';
print $langs->trans('DateCreation');
print '</th>';

if ($show_user) {
print '<th>';
print $langs->trans('User');
print '</th>';
}

foreach ($this->dao->cache_logs_ticket as $id => $arraylogs) {
print '<tr class="oddeven">';
print '<td><strong>';
print dol_print_date($arraylogs['datec'], 'dayhour');
print '</strong></td>';

if ($show_user) {
print '<td>';
if ($arraylogs['fk_user_create'] > 0) {
$userstat = new User($this->db);
$res = $userstat->fetch($arraylogs['fk_user_create']);
if ($res) {
print $userstat->getNomUrl(1);
}
}
print '</td>';
}
print '</tr>';
print '<tr class="oddeven">';
print '<td colspan="2">';
print dol_nl2br($arraylogs['message']);

print '</td>';
print '</tr>';
}

print '</table>';
} else {
print '<div class="info">' . $langs->trans('NoLogForThisTicket') . '</div>';
}
}

/**
* Show ticket original message
*
* @param User $user User wich display
* @param string $action Action mode
* @param Ticket $object Object ticket
* @param Ticket $object Object ticket
* @return void
*/
public function viewTicketOriginalMessage($user, $action, $object)
Expand Down Expand Up @@ -300,29 +240,31 @@ public function viewTicketOriginalMessage($user, $action, $object)
/**
* 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
* @param Ticket $object Object ticket
* @return void
*/
public function viewTicketMessages($show_private, $show_user = true)
public function viewTicketMessages($show_private, $show_user, $object)
{
global $conf, $langs, $user;

// Load logs in cache
$ret = $this->dao->loadCacheMsgsTicket();
$action = GETPOST('action');
if ($ret < 0) dol_print_error($this->dao->db);

$this->viewTicketOriginalMessage($user, $action);
$action = GETPOST('action', 'alpha');

if (is_array($this->dao->cache_msgs_ticket) && count($this->dao->cache_msgs_ticket) > 0) {
print load_fiche_titre($langs->trans('TicketMailExchanges'));
$this->viewTicketOriginalMessage($user, $action, $object);

if (is_array($this->dao->cache_msgs_ticket) && count($this->dao->cache_msgs_ticket) > 0)
{
print '<table class="border" style="width:100%;">';

print '<tr class="liste_titre">';

print '<td>';
print $langs->trans('DateCreation');
print $langs->trans('TicketMessagesList');
print '</td>';

if ($show_user) {
Expand All @@ -342,9 +284,9 @@ public function viewTicketMessages($show_private, $show_user = true)
print '<strong></td>';
if ($show_user) {
print '<td>';
if ($arraymsgs['fk_user_action'] > 0) {
if ($arraymsgs['fk_user_author'] > 0) {
$userstat = new User($this->db);
$res = $userstat->fetch($arraymsgs['fk_user_action']);
$res = $userstat->fetch($arraymsgs['fk_user_author']);
if ($res) {
print $userstat->getNomUrl(0);
}
Expand Down
13 changes: 6 additions & 7 deletions htdocs/ticket/class/ticket.class.php
Expand Up @@ -1660,20 +1660,19 @@ public function createTicketMessage($user, $notrigger = 0)
}

/**
* Charge la liste des messages sur le ticket
* Load the list of event on ticket into ->cache_msgs_ticket
*
* @return int Nb lignes chargees, 0 si deja chargees, <0 si ko
* @return int Nb of lines loaded, 0 if already loaded, <0 if KO
*/
public function loadCacheMsgsTicket()
{
global $langs;

if (is_array($this->cache_msgs_ticket) && count($this->cache_msgs_ticket)) {
return 0;
}
// Cache deja charge

$sql = "SELECT rowid, fk_user_author, datec, label, message, visibility";
// Cache already loaded

$sql = "SELECT id as rowid, fk_user_author, datec, label, note as message, visibility";
$sql .= " FROM " . MAIN_DB_PREFIX . "actioncomm";
$sql .= " WHERE fk_element = " . (int) $this->id;
$sql .= " AND elementtype = 'ticket'";
Expand All @@ -1687,7 +1686,7 @@ public function loadCacheMsgsTicket()
while ($i < $num) {
$obj = $this->db->fetch_object($resql);
$this->cache_msgs_ticket[$i]['id'] = $obj->rowid;
$this->cache_msgs_ticket[$i]['fk_user_action'] = $obj->fk_user_action;
$this->cache_msgs_ticket[$i]['fk_user_author'] = $obj->fk_user_author;
$this->cache_msgs_ticket[$i]['datec'] = $this->db->jdate($obj->datec);
$this->cache_msgs_ticket[$i]['subject'] = $obj->label;
$this->cache_msgs_ticket[$i]['message'] = $obj->message;
Expand Down

0 comments on commit 327e5eb

Please sign in to comment.