model() public static method

Returns the static model of the specified AR class.
public static model ( $className = __CLASS__ ) : Element_OphCoMessaging_Message
return Element_OphCoMessaging_Message static model class
 public function actionDelete($id)
 {
     $criteria = new \CDbCriteria();
     $criteria->addCondition('id = :id');
     $criteria->params = array(':id' => $id);
     $message = Element_OphCoMessaging_Message::model()->find($criteria);
     $message->updateByPk($id, array('marked_as_read' => 1));
     $this->redirect(array('/OphCoMessaging/Inbox'));
 }
 public function getMenuItem()
 {
     $user = \Yii::app()->user;
     $criteria = new \CDbCriteria();
     $criteria->addCondition('for_the_attention_of_user_id = :uid');
     $criteria->addCondition('marked_as_read = :read');
     $criteria->params = array(':uid' => $user->id, ':read' => false);
     $criteria->order = 'created_date asc';
     $messages = Element_OphCoMessaging_Message::model()->findAll($criteria);
     $containsUrgentMessage = false;
     foreach ($messages as $message) {
         if ($message['urgent']) {
             $containsUrgentMessage = true;
         }
     }
     return array('title' => 'Messages', 'uri' => '/OphCoMessaging/Inbox', 'messageCount' => count($messages), 'containsUrgentMessage' => $containsUrgentMessage);
 }
Example #3
0
 /**
  * Get sent messages.
  * 
  * @param CWebUser $user
  *
  * @return array title and content for the widget
  */
 public function getSentMessages($user = null)
 {
     if (is_null($user)) {
         $user = \Yii::app()->user;
     }
     $sort = new \CSort();
     $sort->attributes = array('priority' => array('asc' => 'urgent asc', 'desc' => 'urgent desc'), 'event_date' => array('asc' => 't.created_date asc', 'desc' => 't.created_date desc'), 'patient_name' => array('asc' => 'lower(contact.last_name) asc, lower(contact.first_name) asc', 'desc' => 'lower(contact.last_name) desc, lower(contact.first_name) desc'), 'hos_num' => array('asc' => 'patient.hos_num asc', 'desc' => 'patient.hos_num desc'), 'dob' => array('asc' => 'patient.dob asc', 'desc' => 'patient.dob desc'), 'user' => array('asc' => 'lower(for_the_attention_of_user.last_name) asc, lower(for_the_attention_of_user.first_name) asc', 'desc' => 'lower(for_the_attention_of_user.last_name) desc, lower(for_the_attention_of_user.first_name) desc'));
     $sort->defaultOrder = 'event_date desc';
     $from = \Yii::app()->request->getQuery('OphCoMessaging_sent_from', '');
     $to = \Yii::app()->request->getQuery('OphCoMessaging_sent_to', '');
     $params = array(':uid' => $user->id);
     $criteria = new \CDbCriteria();
     $criteria->select = array('*');
     $criteria->addCondition('t.created_user_id = :uid');
     $criteria->with = array('event', 'for_the_attention_of_user', 'message_type', 'event.episode', 'event.episode.patient', 'event.episode.patient.contact');
     $criteria->together = true;
     if ($from) {
         $criteria->addCondition('DATE(t.created_date) >= :from');
         $params[':from'] = \Helper::convertNHS2MySQL($from);
     }
     if ($to) {
         $criteria->addCondition('DATE(t.created_date) <= :to');
         $params[':to'] = \Helper::convertNHS2MySQL($to);
     }
     $criteria->addCondition('event.deleted = 0');
     $criteria->addCondition('episode.deleted = 0');
     $criteria->params = $params;
     $dataProvider = new \CActiveDataProvider('OEModule\\OphCoMessaging\\models\\Element_OphCoMessaging_Message', array('sort' => $sort, 'criteria' => $criteria, 'pagination' => array('pageSize' => 10)));
     $messages = Element_OphCoMessaging_Message::model()->findAll($criteria);
     \Yii::app()->getAssetManager()->registerCssFile('module.css', 'application.modules.OphCoMessaging.assets.css');
     $inbox_view = \Yii::app()->controller->renderPartial('OphCoMessaging.views.sent.grid', array('messages' => $messages, 'dataProvider' => $dataProvider), true);
     return array('title' => 'Sent Messages', 'content' => $inbox_view, 'options' => array('container-id' => \Yii::app()->user->id . '-sent-container', 'js-toggle-open' => \Yii::app()->request->cookies->contains(\Yii::app()->user->id . '-sent-container-state') ? (bool) \Yii::app()->request->cookies[\Yii::app()->user->id . '-sent-container-state']->value : false));
 }