Show the logs in show_ticket_log
This commit is contained in:
parent
2a85eb6367
commit
80c846050d
3 changed files with 70 additions and 16 deletions
|
@ -22,6 +22,28 @@ class Ticket_Log{
|
|||
|
||||
////////////////////////////////////////////Functions////////////////////////////////////////////////////
|
||||
|
||||
//return all logs that are related to a ticket
|
||||
public static function getLogsOfTicket( $ticket_id) {
|
||||
$dbl = new DBLayer("lib");
|
||||
$statement = $dbl->execute("SELECT * FROM ticket_log INNER JOIN ticket_user ON ticket_log.Author = ticket_user.TUserId and ticket_log.Ticket=:id ORDER BY ticket_log.TLogId DESC", array('id' => $ticket_id));
|
||||
$row = $statement->fetchAll();
|
||||
$result = Array();
|
||||
foreach($row as $log){
|
||||
$instanceAuthor = Ticket_User::constr_TUserId($log['Author']);
|
||||
$instanceAuthor->setExternId($log['ExternId']);
|
||||
$instanceAuthor->setPermission($log['Permission']);
|
||||
|
||||
$instanceLog = new self();
|
||||
$instanceLog->setTLogId($log['TLogId']);
|
||||
$instanceLog->setTimestamp($log['Timestamp']);
|
||||
$instanceLog->setAuthor($instanceAuthor);
|
||||
$instanceLog->setTicket($ticket_id);
|
||||
$instanceLog->setQuery($log['Query']);
|
||||
|
||||
$result[] = $instanceLog;
|
||||
}
|
||||
return $result;
|
||||
}
|
||||
|
||||
//Creates a log entry
|
||||
public static function createLogEntry( $ticket_id, $author_id, $action, $arg = -1) {
|
||||
|
@ -110,13 +132,13 @@ class Ticket_Log{
|
|||
return $this->ticket;
|
||||
}
|
||||
|
||||
public function getAcion(){
|
||||
$decodedQuery = json_decode($this->ticket);
|
||||
public function getAction(){
|
||||
$decodedQuery = json_decode($this->query);
|
||||
return $decodedQuery[0];
|
||||
}
|
||||
|
||||
public function getArgument(){
|
||||
$decodedQuery = json_decode($this->ticket);
|
||||
$decodedQuery = json_decode($this->query);
|
||||
return $decodedQuery[1];
|
||||
}
|
||||
|
||||
|
|
|
@ -2,5 +2,37 @@
|
|||
|
||||
function show_ticket_log(){
|
||||
|
||||
//if logged in
|
||||
if(WebUsers::isLoggedIn() && isset($_GET['id'])){
|
||||
|
||||
$result['ticket_id'] = filter_var($_GET['id'], FILTER_SANITIZE_NUMBER_INT);
|
||||
$target_ticket = new Ticket();
|
||||
$target_ticket->load_With_TId($result['ticket_id']);
|
||||
|
||||
if(($target_ticket->getAuthor() == $_SESSION['ticket_user']->getTUserId()) || WebUsers::isAdmin() ){
|
||||
|
||||
$result['ticket_title'] = $target_ticket->getTitle();
|
||||
$ticket_logs = Ticket_Log::getLogsOfTicket( $result['ticket_id']);
|
||||
$result['ticket_logs'] = Gui_Elements::make_table($ticket_logs, Array("getTLogId","getTimestamp","getAuthor()->getExternId","getAction","getArgument()"), Array("tLogId","timestamp","authorExtern","action","argument"));
|
||||
$i = 0;
|
||||
foreach( $result['ticket_logs'] as $log){
|
||||
$result['ticket_logs'][$i]['author'] = WebUsers::getUsername($log['authorExtern']);
|
||||
$i++;
|
||||
}
|
||||
if(WebUsers::isAdmin()){
|
||||
$result['isAdmin'] = "TRUE";
|
||||
}
|
||||
return $result;
|
||||
|
||||
}else{
|
||||
//ERROR: No access!
|
||||
$_SESSION['error_code'] = "403";
|
||||
header("Location: index.php?page=error");
|
||||
exit;
|
||||
}
|
||||
}else{
|
||||
//ERROR: not logged in!
|
||||
header("Location: index.php");
|
||||
exit;
|
||||
}
|
||||
}
|
|
@ -2,7 +2,7 @@
|
|||
<div class="row-fluid sortable ui-sortable">
|
||||
<div class="box span12">
|
||||
<div class="box-header well" data-original-title="">
|
||||
<h2><i class="icon-tag"></i> Tickets of {$target_name}</h2>
|
||||
<h2><i class="icon-tag"></i> Log of Ticket #{$ticket_id}</h2>
|
||||
<div class="box-icon">
|
||||
<a href="#" class="btn btn-minimize btn-round"><i class="icon-chevron-up"></i></a>
|
||||
<a href="#" class="btn btn-close btn-round"><i class="icon-remove"></i></a>
|
||||
|
@ -10,26 +10,26 @@
|
|||
</div>
|
||||
<div class="box-content">
|
||||
<div class="row-fluid">
|
||||
<legend>Tickets</legend>
|
||||
<legend>Title: <a href="index.php?page=show_ticket&id={$ticket_id}">{$ticket_title}</a></legend>
|
||||
<table class="table table-striped table-bordered bootstrap-datatable datatable">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>ID</th>
|
||||
<th>Title</th>
|
||||
<th>Timestamp</th>
|
||||
<th>Category</th>
|
||||
<th>Status</th>
|
||||
<th>User</th>
|
||||
<th>Action</th>
|
||||
<th>Argument</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{foreach from=$ticketlist item=ticket}
|
||||
{foreach from=$ticket_logs item=log}
|
||||
<tr>
|
||||
<td>{$ticket.tId}</td>
|
||||
<td><a href ="index.php?page=show_ticket&id={$ticket.tId}">{$ticket.title}</a></td>
|
||||
<td class="center"><i>{$ticket.timestamp}</i></td>
|
||||
<td class="center">{$ticket.category}</td>
|
||||
<td>{$log.tLogId}</td>
|
||||
<td>{$log.timestamp}</td>
|
||||
<td>{$log.author}</td>
|
||||
<td>{$log.action}</td>
|
||||
<td>{$log.argument}</td>
|
||||
|
||||
<td class="center"><span class="label {if $ticket.status eq 0}label-success{else if $ticket.status eq 1}label-warning{else if $ticket.status eq 2}label-important{/if}">{if $ticket.status eq 0} <i class="icon-exclamation-sign icon-white"></i>{/if} {$ticket.statusText}</span></td>
|
||||
</tr>
|
||||
{/foreach}
|
||||
|
||||
|
|
Loading…
Reference in a new issue