# ticket queues, though moving away from this approach

--HG--
branch : quitta-gsoc-2013
This commit is contained in:
Quitta 2013-07-14 22:33:09 +02:00
parent b64d27a427
commit 5a8f45f88c
4 changed files with 59 additions and 23 deletions

View file

@ -1,7 +1,7 @@
<?php
class Ticket_Queue{
private $queueElements;
protected $queueElements;
public function loadAllOpenTickets(){
$dbl = new DBLayer("lib");

View file

@ -0,0 +1,11 @@
<?php
class Ticket_Queue_csr extends Ticket_Queue{
public function loadAllNewCsrTickets(){
$dbl = new DBLayer("lib");
$statement = $dbl->executeWithoutParams("SELECT ticket . * FROM ticket LEFT JOIN assigned ON ticket.TId = assigned.Ticket WHERE assigned.Ticket IS NULL");
$rows = $statement->fetchAll();
$this->setQueue($rows);
}
}

View file

@ -0,0 +1,29 @@
<?php
class Ticket_Queue_Handler{
public static function getTickets($input,$permission){
switch($permission){
case 2:
$queue = new Ticket_Queue_Csr();
break;
case 3:
// $queue = new Ticket_Queue_Dev();
break;
}
switch ($input){
case "all_open":
$queue->loadAllOpenTickets();
break;
case "archive":
$queue->loadAllClosedTickets();
break;
default:
return "ERROR";
}
return $queue->getTickets();
}
}

View file

@ -6,30 +6,26 @@ function show_queue(){
if(WebUsers::isLoggedIn() && isset($_GET['get'])){
if( WebUsers::isAdmin()){
$result['queue_action'] = filter_var($_GET['get'], FILTER_SANITIZE_STRING);
$queue = new Ticket_Queue();
switch ($result['queue_action']){
case "all_open":
$queue->loadAllOpenTickets();
break;
case "archive":
$queue->loadAllClosedTickets();
break;
}
$queueArray = $queue->getTickets();
$result['tickets'] = Gui_Elements::make_table($queueArray, Array("getTId","getTitle","getTimestamp","getAuthor()->getExternId","getTicket_Category()->getName","getStatus","getStatusText"), Array("tId","title","timestamp","authorExtern","category","status","statusText"));
$i = 0;
foreach( $result['tickets'] as $ticket){
$result['tickets'][$i]['author'] = WebUsers::getUsername($ticket['authorExtern']);
$i++;
$queueArray = Ticket_Queue_Handler::getTickets($result['queue_action'],2);
if ($queueArray != "ERROR"){
$result['tickets'] = Gui_Elements::make_table($queueArray, Array("getTId","getTitle","getTimestamp","getAuthor()->getExternId","getTicket_Category()->getName","getStatus","getStatusText"), Array("tId","title","timestamp","authorExtern","category","status","statusText"));
$i = 0;
foreach( $result['tickets'] as $ticket){
$result['tickets'][$i]['author'] = WebUsers::getUsername($ticket['authorExtern']);
$i++;
}
if(WebUsers::isAdmin()){
$result['isAdmin'] = "TRUE";
}
return $result;
}else{
//ERROR: Doesn't exist!
$_SESSION['error_code'] = "404";
header("Location: index.php?page=error");
exit;
}
if(WebUsers::isAdmin()){
$result['isAdmin'] = "TRUE";
}
return $result;
}else{
//ERROR: No access!