/**
  * 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));
 }