/** * @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(); }
/** * @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; }
public function save(Mageplace_Freshdesk_Model_Ticket $ticket) { $this->getFreshdeskModel()->setTicketFromArray($ticket->getData())->createTicket(); return $this; }