Ejemplo n.º 1
0
 private function loadFormattedReferences($arrEyeSchedule)
 {
     if (!isset($locale)) {
         $locale = self::getApplication()->getLocale();
     }
     foreach ($arrEyeSchedule as &$item) {
         $date = strtotime($item['date']);
         $item['formatted_date'] = $locale->getFormattedTime($date);
         $EyeExamRequestID = $item['eyeExamRequestID'];
         if ($EyeExamRequestID !== null) {
             $EyeExamRequestItem = EyeExamRequest::getInstanceByID($EyeExamRequestID, ActiveRecordModel::LOAD_DATA);
             $EyeExamRequestItem->getSpecification();
             $EyeExamRequestItemAsArray = $EyeExamRequestItem->toArray();
             $eyeExamRequest = array();
             $eyeExamRequest['ID'] = $EyeExamRequestItemAsArray['ID'];
             $eyeExamRequest['date'] = $EyeExamRequestItemAsArray['date'];
             $eyeExamRequest['time'] = $EyeExamRequestItemAsArray['time'];
             if (isset($EyeExamRequestItemAsArray['byHandle'])) {
                 $specialFields = array();
                 foreach ($EyeExamRequestItemAsArray['byHandle'] as $key => $value) {
                     $fieldName = $value['EavField']['name'];
                     $specialFields[$fieldName] = $value['value'];
                 }
                 $eyeExamRequest['specialFields'] = $specialFields;
             }
             $item['EyeExamRequest'] = $eyeExamRequest;
         }
     }
     return $arrEyeSchedule;
 }
Ejemplo n.º 2
0
 public function send()
 {
     if (!$this->buildValidator()->isValid()) {
         return new ActionRedirectResponse('EyeExam', 'index');
     }
     $eyeExamScheduleID = $this->request->get('time');
     // this field is used for passing ID
     $eyeExamSchedule = EyeExamSchedule::getInstanceByID('EyeExamSchedule', $eyeExamScheduleID, ActiveRecord::LOAD_DATA);
     $requestDate = $eyeExamSchedule->date->get();
     $requestTime = $eyeExamSchedule->time->get();
     $eyeExamRequest = EyeExamRequest::getNewInstance();
     $eyeExamRequest->date->set(strtotime($requestDate));
     // does it still needed in DB??
     $eyeExamRequest->time->set($requestTime);
     // does it still needed in DB??
     // custom fields
     $eyeExamRequest->getSpecification()->loadRequestData($this->request);
     $eyeExamRequest->save();
     $eyeExamSchedule->setFieldValue('eyeExamRequestID', $eyeExamRequest);
     $eyeExamSchedule->save();
     $email = new Email($this->application);
     $email->setTemplate('module/eye-exam/eyeExam/eyeExamRequestNotify');
     $email->setTo($this->config->get('NOTIFICATION_EMAIL'), $this->config->get('STORE_NAME'));
     $email->set('date', $requestDate);
     $email->set('time', $requestTime);
     $email->set('doctorName', $eyeExamSchedule->doctorName->get());
     $email->send();
     $response = new ActionResponse();
     $response->set('date', $requestDate);
     $response->set('time', $requestTime);
     $this->addBreadCrumb($this->translate('_title_lang'), $this->router->createUrl(array('controller' => 'EyeExam')));
     $this->addBreadCrumb($this->translate('_form_sent'), '');
     return $response;
 }