/** * Assign a new handler to the ticket * * handler_id = the FSS User ID of the ticket handler * * Type: * * define("TICKET_ASSIGN_FORWARD", 0); * define("TICKET_ASSIGN_TOOK_OWNER", 1); * define("TICKET_ASSIGN_UNASSIGNED", 2); * define("TICKET_ASSIGN_ASSIGNED", 3); * * if handler_id is 0, then type gets set to 2 and ticket becomes unassigned **/ function assignHandler($handler_id, $type = TICKET_ASSIGN_FORWARD) { if ($handler_id == $this->admin_id) { return true; } $qry = "UPDATE #__fss_ticket_ticket SET admin_id = {$handler_id} WHERE id = {$this->id}"; $db = JFactory::getDBO(); $db->setQuery($qry); $db->Query(); if ($handler_id == 0) { $type = TICKET_ASSIGN_UNASSIGNED; } // update last_update $this->updateLastUpdated(); // add audit note if ($type == TICKET_ASSIGN_FORWARD) { $this->addAuditNote("Forwarded to handler '" . SupportUsers::getUserName($handler_id) . "'"); } else { if ($type == TICKET_ASSIGN_TOOK_OWNER) { $this->addAuditNote("Handler '" . SupportUsers::getUserName($handler_id) . "' took ownership of the ticket"); } else { if ($type == TICKET_ASSIGN_UNASSIGNED) { $this->addAuditNote("Ticket set as unassigned"); } else { if ($type == TICKET_ASSIGN_ASSIGNED) { $this->addAuditNote("Ticket assigned to '" . SupportUsers::getUserName($handler_id) . "'"); } } } } // change this object $this->admin_id = $handler_id; SupportActions::DoAction_Ticket("assignHandler", $this, array('handler' => $handler_id, 'type' => $type)); }