model() public static method

Returns the static model of the specified AR class.
public static model ( $className = __CLASS__ ) : Element_OphCiExamination_ClinicOutcome
return Element_OphCiExamination_ClinicOutcome the static model class
Example #1
0
 /**
  * custom validation for virtual clinic referral.
  *
  * @TODO: this should hand off validation to a faked PatientTicket request via the API.
  *
  * @param array $data
  *
  * @return array
  */
 protected function setAndValidateElementsFromData($data)
 {
     $errors = parent::setAndValidateElementsFromData($data);
     if (isset($data['patientticket_queue']) && ($api = Yii::app()->moduleAPI->get('PatientTicketing'))) {
         $co_sid = @$data[\CHtml::modelName(models\Element_OphCiExamination_ClinicOutcome::model())]['status_id'];
         $status = models\OphCiExamination_ClinicOutcome_Status::model()->findByPk($co_sid);
         if ($status && $status->patientticket) {
             $err = array();
             $queue = null;
             if (!$data['patientticket_queue']) {
                 $err['patientticket_queue'] = 'You must select a valid Virtual Clinic for referral';
             } elseif (!($queue = $api->getQueueForUserAndFirm(Yii::app()->user, $this->firm, $data['patientticket_queue']))) {
                 $err['patientticket_queue'] = 'Virtual Clinic not found';
             }
             if ($queue) {
                 if (!$api->canAddPatientToQueue($this->patient, $queue)) {
                     $err['patientticket_queue'] = 'Cannot add Patient to Queue';
                 } else {
                     list($ignore, $fld_errs) = $api->extractQueueData($queue, $data, true);
                     $err = array_merge($err, $fld_errs);
                 }
             }
             if (count($err)) {
                 $et_name = models\Element_OphCiExamination_ClinicOutcome::model()->getElementTypeName();
                 if (@$errors[$et_name]) {
                     $errors[$et_name] = array_merge($errors[$et_name], $err);
                 } else {
                     $errors[$et_name] = $err;
                 }
             }
         }
     }
     return $errors;
 }