Example #1
0
 public function validate(Varien_Object $object)
 {
     /* @var Mirasvit_Helpdesk_Model_Ticket $object */
     $attrCode = $this->getAttribute();
     if (strpos($attrCode, 'old_') === 0) {
         $attrCode = str_replace('old_', '', $attrCode);
         $value = $object->getOrigData($attrCode);
     } elseif ($attrCode == 'last_message') {
         $value = $object->getLastMessagePlainText();
     } elseif ($attrCode == 'last_reply_by') {
         $lastMessage = $object->getLastMessage();
         if ($lastMessage->getUserId()) {
             $value = 'user';
         } else {
             $value = 'customer';
         }
     } elseif (strpos($attrCode, 'hours_since_') === 0) {
         $attrCode = str_replace('hours_since_', '', $attrCode);
         $timestamp = $object->getData($attrCode);
         $diff = abs(strtotime(Mage::getModel('core/date')->gmtDate()) - strtotime($timestamp));
         $value = round($diff / 60 / 60);
     } elseif ($attrCode == 'tags') {
         $value = Mage::helper('helpdesk/tag')->getTagsAsString($object);
     } else {
         $value = $object->getData($attrCode);
     }
     if (strpos($attrCode, '_id')) {
         $value = (int) $value;
         //нам это нужно чтоб приводить пустое значение к нулю и далее сравнивать
     }
     return $this->validateAttribute($value);
 }