Esempio n. 1
0
 /**
  * 
  */
 public function notifyFollowupCase()
 {
     $dbAdapter = Zend_Db_Table_Abstract::getDefaultAdapter();
     $dbAdapter->beginTransaction();
     try {
         $filters = array('status' => 1);
         $today = new Zend_Date();
         $mapperCase = new Client_Model_Mapper_Case();
         $rows = $mapperCase->listByFilters($filters);
         // Search the user who must receive notes to follow up cases
         $noteTypeMapper = new Admin_Model_Mapper_NoteType();
         $users = $noteTypeMapper->getUsersByNoteType(Admin_Model_Mapper_NoteType::CASE_FOLLOW_UP);
         $noteModelMapper = new Default_Model_Mapper_NoteModel();
         $noteMapper = new Default_Model_Mapper_Note();
         foreach ($rows as $row) {
             $dateCase = new Zend_Date($row->date_start, 'dd/MM/yyyy');
             $days = $today->sub($dateCase);
             $measure = new Zend_Measure_Time($days->toValue(), Zend_Measure_Time::SECOND);
             $diffDays = $measure->convertTo(Zend_Measure_Time::DAY, 0);
             $diff = (double) preg_replace('/[^0-9]/i', '', $diffDays);
             if ($diff % 15 != 0) {
                 continue;
             }
             $usersWarning = $users;
             $usersWarning[] = $row->fk_id_counselor;
             $dataNote = array('title' => 'HALO AKOMPAÑAMENTU KAZU HO KLIENTE', 'level' => 0, 'message' => $noteModelMapper->getFollowUpCase($row->client), 'users' => $usersWarning);
             $noteMapper->setData($dataNote)->saveNote();
         }
         $dbAdapter->commit();
         return true;
     } catch (Exception $e) {
         $dbAdapter->rollBack();
         echo "Error sending cases follow-ups notifications: " . $e->getMessage() . "\n";
         return false;
     }
 }
Esempio n. 2
0
 /**
  * 
  */
 public function searchCaseAction()
 {
     $this->_helper->layout()->disableLayout();
     $this->view->rows = $this->_mapper->listByFilters($this->_getAllParams());
 }