made the todo queue
This commit is contained in:
parent
c0a45df44c
commit
1be6112aa2
5 changed files with 55 additions and 7 deletions
|
@ -24,6 +24,50 @@ class Ticket_Queue{
|
||||||
$this->setQueue($rows);
|
$this->setQueue($rows);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function loadToDoTickets($user_id){
|
||||||
|
|
||||||
|
$dbl = new DBLayer("lib");
|
||||||
|
|
||||||
|
//first: find the tickets assigned to the user with status != waiting on user reply
|
||||||
|
$statement = $dbl->execute("SELECT ticket . * FROM ticket LEFT JOIN assigned ON ticket.TId = assigned.Ticket WHERE assigned.User = :user_id",array('user_id' => $user_id));
|
||||||
|
$assignedTo = $statement->fetchAll();
|
||||||
|
|
||||||
|
//second: find all non-assigned tickets forwarded to the support groups to which that user belongs
|
||||||
|
//TODO
|
||||||
|
|
||||||
|
//third: find all not assigned tickets that aren't forwarded yet.
|
||||||
|
//TODO: check if not forwarded to a group!
|
||||||
|
$statement = $dbl->executeWithoutParams("SELECT ticket . * FROM ticket LEFT JOIN assigned ON ticket.TId = assigned.Ticket WHERE assigned.Ticket IS NULL");
|
||||||
|
$notAssigned = $statement->fetchAll();
|
||||||
|
|
||||||
|
//forth: find all tickets assigned to someone else, not forwarded to a group or forwarded to a group you are a member from, with status == waiting on support and with timestamp of last reply > 1 day
|
||||||
|
//TODO
|
||||||
|
|
||||||
|
//Now let's get them all together
|
||||||
|
$allTogether = $assignedTo + $notAssigned;
|
||||||
|
|
||||||
|
//filter to only get unique ticket id's
|
||||||
|
$this->setQueue(self::filter_tickets($allTogether));
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
//filters the array of tickets and returns unique tickets based on there TId
|
||||||
|
static public function filter_tickets($ticketArray){
|
||||||
|
$tmp = array ();
|
||||||
|
foreach ($ticketArray as $ticket1){
|
||||||
|
$found = false;
|
||||||
|
foreach ($tmp as $ticket2){
|
||||||
|
if($ticket1['TId'] == $ticket2['TId']){
|
||||||
|
$found = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(! $found){
|
||||||
|
$tmp[] = $ticket1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return $tmp;
|
||||||
|
}
|
||||||
|
|
||||||
public function getTickets(){
|
public function getTickets(){
|
||||||
return $this->queueElements;
|
return $this->queueElements;
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
class Ticket_Queue_Handler{
|
class Ticket_Queue_Handler{
|
||||||
|
|
||||||
public static function getTickets($input){
|
public static function getTickets($input, $user_id){
|
||||||
|
|
||||||
$queue = new Ticket_Queue();
|
$queue = new Ticket_Queue();
|
||||||
|
|
||||||
|
@ -17,6 +17,9 @@ class Ticket_Queue_Handler{
|
||||||
case "not_assigned":
|
case "not_assigned":
|
||||||
$queue->loadAllNotAssignedTickets();
|
$queue->loadAllNotAssignedTickets();
|
||||||
break;
|
break;
|
||||||
|
case "todo":
|
||||||
|
$queue->loadToDoTickets($user_id);
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
return "ERROR";
|
return "ERROR";
|
||||||
}
|
}
|
||||||
|
|
|
@ -34,8 +34,8 @@ not_assigned = "Open"
|
||||||
success_assigned = "The ticket was successfully assigned!"
|
success_assigned = "The ticket was successfully assigned!"
|
||||||
success_unassigned = "The ticket was successfully unassigned!"
|
success_unassigned = "The ticket was successfully unassigned!"
|
||||||
ticket_not_existing = "That ticket doesn't exist!"
|
ticket_not_existing = "That ticket doesn't exist!"
|
||||||
already_assigned = "That ticket is already assigned to someone!"
|
ticket_already_assigned = "That ticket is already assigned to someone!"
|
||||||
not_assigned = "That ticket isn't assigned to you!"
|
ticket_not_assigned = "That ticket isn't assigned to you!"
|
||||||
|
|
||||||
[show_sgroup]
|
[show_sgroup]
|
||||||
add_to_group_success = "The user has been added to the group!"
|
add_to_group_success = "The user has been added to the group!"
|
||||||
|
|
|
@ -8,12 +8,13 @@ function show_queue(){
|
||||||
if( Ticket_User::isMod($_SESSION['ticket_user'])){
|
if( Ticket_User::isMod($_SESSION['ticket_user'])){
|
||||||
$result['queue_view'] = filter_var($_GET['get'], FILTER_SANITIZE_STRING);
|
$result['queue_view'] = filter_var($_GET['get'], FILTER_SANITIZE_STRING);
|
||||||
|
|
||||||
$queueArray = Ticket_Queue_Handler::getTickets($result['queue_view']);
|
$user_id = $_SESSION['ticket_user']->getTUserId();
|
||||||
|
$queueArray = Ticket_Queue_Handler::getTickets($result['queue_view'], $user_id);
|
||||||
|
|
||||||
//if queue_view is a valid parameter value
|
//if queue_view is a valid parameter value
|
||||||
if ($queueArray != "ERROR"){
|
if ($queueArray != "ERROR"){
|
||||||
|
|
||||||
$user_id = $_SESSION['ticket_user']->getTUserId();
|
|
||||||
|
|
||||||
if(isset($_POST['action'])){
|
if(isset($_POST['action'])){
|
||||||
switch($_POST['action']){
|
switch($_POST['action']){
|
||||||
|
|
|
@ -26,11 +26,11 @@
|
||||||
</div>
|
</div>
|
||||||
{else if isset($ACTION_RESULT) and $ACTION_RESULT eq "ALREADY_ASSIGNED"}
|
{else if isset($ACTION_RESULT) and $ACTION_RESULT eq "ALREADY_ASSIGNED"}
|
||||||
<div class="alert alert-error">
|
<div class="alert alert-error">
|
||||||
{$already_assigned}
|
{$ticket_already_assigned}
|
||||||
</div>
|
</div>
|
||||||
{else if isset($ACTION_RESULT) and $ACTION_RESULT eq "NOT_ASSIGNED"}
|
{else if isset($ACTION_RESULT) and $ACTION_RESULT eq "NOT_ASSIGNED"}
|
||||||
<div class="alert alert-error">
|
<div class="alert alert-error">
|
||||||
{$not_assigned}
|
{$ticket_not_assigned}
|
||||||
</div>
|
</div>
|
||||||
{/if}
|
{/if}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue