示例#1
0
 /**
  * @param Mageplace_Freshdesk_Model_Ticket $ticket
  *
  * @return bool
  */
 public function canClose($ticket)
 {
     if (!$this->canAction()) {
         return false;
     }
     $statusField = Mage::getModel('freshdesk/field')->loadStatusField();
     return is_object($statusField) && $statusField->isEditable() && $ticket->getStatus() != Mage::helper('freshdesk')->getStatusClose();
 }
示例#2
0
 /**
  * @param array                            $notes
  * @param Mageplace_Freshdesk_Model_Ticket $ticket
  *
  * @return array
  */
 public function parseTicketNotes($ticket, $notes = null)
 {
     $this->setTicketId($ticket->getId());
     $notesParsed = array();
     if (null === $notes) {
         $notes = $ticket->getNotes();
     }
     foreach ($notes as $note) {
         $noteModel = clone $this;
         if (!empty($note[self::NOTE])) {
             $noteModel->addData($note[self::NOTE]);
         } else {
             $noteModel->addData($note);
         }
         if ($noteModel->getUserId() > 0) {
             $user = Mage::getModel('freshdesk/user')->load($noteModel->getUserId());
             $noteModel->setUser($user);
             $noteModel->setUserName($user->getName());
             unset($user);
         }
         $notesParsed[] = $noteModel;
     }
     return $notesParsed;
 }
示例#3
0
 public function save(Mageplace_Freshdesk_Model_Ticket $ticket)
 {
     $this->getFreshdeskModel()->setTicketFromArray($ticket->getData())->createTicket();
     return $this;
 }