/**
  * Reset diagnosis data on the event based on the diagnosis set on this element.
  */
 protected function afterSave()
 {
     if (!$this->event->episode->eye && !$this->event->episode->disorder_id) {
         $this->event->episode->setPrincipalDiagnosis($this->disorder_id, $this->eye_id);
         if ($sd = SecondaryDiagnosis::model()->find('patient_id=? and disorder_id=? and eye_id = ?', array($this->event->episode->patient_id, $this->disorder_id, 3))) {
             $this->event->episode->patient->removeDiagnosis($sd->id);
             if (in_array($this->eye_id, array(1, 2))) {
                 $this->event->episode->patient->addDiagnosis($this->disorder_id, $this->eye_id == 1 ? 2 : 1);
             }
         }
     } else {
         if (!SecondaryDiagnosis::model()->find('patient_id=? and disorder_id=? and eye_id in (' . $this->eye_id . ',3)', array($this->event->episode->patient_id, $this->disorder_id))) {
             if (!Episode::model()->find('patient_id=? and disorder_id=? and eye_id in (' . $this->eye_id . ',3)', array($this->event->episode->patient_id, $this->disorder_id))) {
                 $this->event->episode->patient->addDiagnosis($this->disorder_id, $this->eye_id);
             }
         }
     }
     return parent::afterSave();
 }
 protected function afterSave()
 {
     return parent::afterSave();
 }
 public function afterSave()
 {
     // Update Episode status when outcome is saved
     if ($this->status && $this->status->episode_status) {
         if ($this->event->isLatestOfTypeInEpisode()) {
             $this->event->episode->episode_status_id = $this->status->episode_status_id;
             if (!$this->event->episode->save()) {
                 throw new Exception('Unable to save episode status: ' . print_r($this->event->episode->getErrors(), true));
             }
         }
     }
     parent::afterSave();
 }
 protected function afterSave()
 {
     $existing_leaflet_ids = array();
     foreach ($this->leaflets as $leaflet) {
         $existing_leaflet_ids[] = $leaflet->leaflet_id;
     }
     if (isset($_POST['OphTrConsent_Leaflet']) && is_array($_POST['OphTrConsent_Leaflet'])) {
         foreach ($_POST['OphTrConsent_Leaflet'] as $id) {
             if (!in_array($id, $existing_leaflet_ids)) {
                 $leaflet = new OphTrConsent_Leaflets();
                 $leaflet->element_id = $this->id;
                 $leaflet->leaflet_id = $id;
                 if (!$leaflet->save()) {
                     throw new Exception('Unable to save leaflet: ' . print_r($leaflet->getErrors(), true));
                 }
             }
         }
     }
     foreach ($existing_leaflet_ids as $id) {
         if (!isset($_POST['OphTrConsent_Leaflet']) || !in_array($id, $_POST['OphTrConsent_Leaflet'])) {
             $leaflet = OphTrConsent_Leaflets::model()->find('element_id=:element_id and leaflet_id=:leaflet_id', array(':element_id' => $this->id, ':leaflet_id' => $id));
             if (!$leaflet->delete()) {
                 throw new Exception('Unable to delete leaflet: ' . print_r($leaflet->getErrors(), true));
             }
         }
     }
     return parent::afterSave();
 }
 public function afterSave()
 {
     parent::afterSave();
     $this->updateMeasurementReference($this->left_field_id, Eye::LEFT);
     $this->updateMeasurementReference($this->right_field_id, Eye::RIGHT);
 }
Exemple #6
0
 public function afterSave()
 {
     if (@$_POST['update_enclosures']) {
         foreach ($this->enclosures as $enclosure) {
             $enclosure->delete();
         }
         if (is_array(@$_POST['EnclosureItems'])) {
             $i = 1;
             foreach (@$_POST['EnclosureItems'] as $key => $value) {
                 if (strlen(trim($value)) > 0) {
                     $enc = new LetterEnclosure();
                     $enc->element_letter_id = $this->id;
                     $enc->display_order = $i++;
                     $enc->content = $value;
                     if (!$enc->save()) {
                         throw new Exception('Unable to save EnclosureItem: ' . print_r($enc->getErrors(), true));
                     }
                 }
             }
         }
     }
     return parent::afterSave();
 }
 protected function afterSave()
 {
     foreach ($_POST['Procedures_procedures'] as $procedure_id) {
         if (!EtOphtrconsentProcedureProceduresProcedures::model()->find('element_id=? and proc_id=?', array($this->id, $procedure_id))) {
             $p = new EtOphtrconsentProcedureProceduresProcedures();
             $p->element_id = $this->id;
             $p->proc_id = $procedure_id;
             if (!$p->save()) {
                 throw new Exception('Unable to save procedure item: ' . print_r($p->getErrors(), true));
             }
         }
     }
     foreach (EtOphtrconsentProcedureProceduresProcedures::model()->findAll('element_id=?', array($this->id)) as $p) {
         if (!in_array($p->proc_id, $_POST['Procedures_procedures'])) {
             if (!$p->delete()) {
                 throw new Exception('Unable to delete procedure item: ' . print_r($p->getErrors(), true));
             }
         }
     }
     if (isset($_POST['Procedures_additional'])) {
         foreach ($_POST['Procedures_additional'] as $procedure_id) {
             if (!EtOphtrconsentProcedureAddProcsAddProcs::model()->find('element_id=? and proc_id=?', array($this->id, $procedure_id))) {
                 $p = new EtOphtrconsentProcedureAddProcsAddProcs();
                 $p->element_id = $this->id;
                 $p->proc_id = $procedure_id;
                 if (!$p->save()) {
                     throw new Exception('Unable to save additional procedure item: ' . print_r($p->getErrors(), true));
                 }
             }
         }
         foreach (EtOphtrconsentProcedureAddProcsAddProcs::model()->findAll('element_id=?', array($this->id)) as $p) {
             if (!in_array($p->proc_id, $_POST['Procedures_additional'])) {
                 if (!$p->delete()) {
                     throw new Exception('Unable to delete additional procedure item: ' . print_r($p->getErrors(), true));
                 }
             }
         }
     } else {
         foreach (EtOphtrconsentProcedureAddProcsAddProcs::model()->findAll('element_id=?', array($this->id)) as $p) {
             if (!$p->delete()) {
                 throw new Exception('Unable to delete additional procedure item: ' . print_r($p->getErrors(), true));
             }
         }
     }
     return parent::afterSave();
 }