Exemple #1
0
 /**
  * Retrieve current status of reminder
  *
  * @param Olts_Reminder_Model_Reminder $reminder
  * @return Olts_Reminder_Model_Statuses
  */
 public function getActualReminderStatus(Olts_Reminder_Model_Reminder $reminder)
 {
     $dateTo = $this->_getTimestamp($reminder->getDateTo());
     $dateFrom = $this->_getTimestamp($reminder->getDateFrom());
     $currentDate = $this->_getTimestamp();
     $statusCode = Olts_Reminder_Model_Statuses::STATUS_CODE_FAILED;
     if ($reminder->getIsComplete()) {
         $statusCode = Olts_Reminder_Model_Statuses::STATUS_CODE_COMPLETED;
     } elseif (!$reminder->getIsActive()) {
         $statusCode = Olts_Reminder_Model_Statuses::STATUS_CODE_DISABLED;
     } elseif ($currentDate < $dateFrom) {
         $statusCode = Olts_Reminder_Model_Statuses::STATUS_CODE_PENDING;
     } elseif ($currentDate >= $dateFrom && $currentDate <= $dateTo) {
         $statusCode = Olts_Reminder_Model_Statuses::STATUS_CODE_PROCESSING;
     }
     return Mage::getModel('olts_reminder/statuses')->loadByCode($statusCode);
 }
Exemple #2
0
 /**
  * Perform operations before object save
  *
  * @param Olts_Reminder_Model_Reminder $object
  * @return Olts_Reminder_Model_Resource_Reminder
  */
 protected function _beforeSave(Olts_Reminder_Model_Reminder $object)
 {
     if (!$object->getId()) {
         $object->setCreationTime(Mage::getSingleton('core/date')->gmtDate());
     }
     $object->setUpdateTime(Mage::getSingleton('core/date')->gmtDate());
     $object->setStatusId((int) $this->_getReminderStatus($object)->getId());
     return $this;
 }