mirror of
https://port.numenaute.org/aleajactaest/khanat-opennel-code.git
synced 2024-11-25 08:36:14 +00:00
Show the logs in show_ticket_log
This commit is contained in:
parent
578e8d7b3f
commit
ffb3499bdb
3 changed files with 70 additions and 16 deletions
|
@ -22,6 +22,28 @@ class Ticket_Log{
|
||||||
|
|
||||||
////////////////////////////////////////////Functions////////////////////////////////////////////////////
|
////////////////////////////////////////////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
|
//Creates a log entry
|
||||||
public static function createLogEntry( $ticket_id, $author_id, $action, $arg = -1) {
|
public static function createLogEntry( $ticket_id, $author_id, $action, $arg = -1) {
|
||||||
|
@ -110,13 +132,13 @@ class Ticket_Log{
|
||||||
return $this->ticket;
|
return $this->ticket;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getAcion(){
|
public function getAction(){
|
||||||
$decodedQuery = json_decode($this->ticket);
|
$decodedQuery = json_decode($this->query);
|
||||||
return $decodedQuery[0];
|
return $decodedQuery[0];
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getArgument(){
|
public function getArgument(){
|
||||||
$decodedQuery = json_decode($this->ticket);
|
$decodedQuery = json_decode($this->query);
|
||||||
return $decodedQuery[1];
|
return $decodedQuery[1];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -2,5 +2,37 @@
|
||||||
|
|
||||||
function show_ticket_log(){
|
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="row-fluid sortable ui-sortable">
|
||||||
<div class="box span12">
|
<div class="box span12">
|
||||||
<div class="box-header well" data-original-title="">
|
<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">
|
<div class="box-icon">
|
||||||
<a href="#" class="btn btn-minimize btn-round"><i class="icon-chevron-up"></i></a>
|
<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>
|
<a href="#" class="btn btn-close btn-round"><i class="icon-remove"></i></a>
|
||||||
|
@ -10,26 +10,26 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="box-content">
|
<div class="box-content">
|
||||||
<div class="row-fluid">
|
<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">
|
<table class="table table-striped table-bordered bootstrap-datatable datatable">
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
<th>ID</th>
|
<th>ID</th>
|
||||||
<th>Title</th>
|
|
||||||
<th>Timestamp</th>
|
<th>Timestamp</th>
|
||||||
<th>Category</th>
|
<th>User</th>
|
||||||
<th>Status</th>
|
<th>Action</th>
|
||||||
|
<th>Argument</th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
{foreach from=$ticketlist item=ticket}
|
{foreach from=$ticket_logs item=log}
|
||||||
<tr>
|
<tr>
|
||||||
<td>{$ticket.tId}</td>
|
<td>{$log.tLogId}</td>
|
||||||
<td><a href ="index.php?page=show_ticket&id={$ticket.tId}">{$ticket.title}</a></td>
|
<td>{$log.timestamp}</td>
|
||||||
<td class="center"><i>{$ticket.timestamp}</i></td>
|
<td>{$log.author}</td>
|
||||||
<td class="center">{$ticket.category}</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>
|
</tr>
|
||||||
{/foreach}
|
{/foreach}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue