Example #1
0
 public function actionEntry()
 {
     $this->layout = '//main';
     $session = Yii::$app->session;
     if ($session->has('patient_access_token')) {
         $accessToken = $session->get('patient_access_token');
         $session->remove('patient_access_token');
     } else {
         $accessToken = Yii::$app->request->post('access_token');
     }
     if ($accessToken === null) {
         $this->redirect(['login']);
     }
     $patient = Patient::find()->where(['access_token' => $accessToken])->one();
     if ($patient === null) {
         $this->redirect(['login']);
     }
     $ticket = new Ticket();
     if ($ticketForm = Yii::$app->request->post('TicketForm')) {
         $ticket->patient_id = $patient->patient_id;
         $ticket->physician_id = $ticketForm['physician_id'];
         $ticket->locality_id = $ticketForm['locality_id'];
         $time = explode(':', $ticketForm['time']);
         $ticket->hour = $time[0];
         $ticket->minute = $time[1];
         $ticket->date = date('Y-m-d', strtotime($ticketForm['date']));
         if ($ticket->save()) {
             return $this->redirect(['view', 'token' => $ticket->token]);
         }
     }
     return $this->render('entry', ['model' => new TicketForm(), 'patient' => $patient, 'accessToken' => $accessToken]);
 }
Example #2
0
 /**
  * Creates data provider instance with search query applied
  *
  * @param array $params
  *
  * @return ActiveDataProvider
  */
 public function search($params)
 {
     $query = Patient::find();
     $dataProvider = new ActiveDataProvider(['query' => $query]);
     $this->load($params);
     if (!$this->validate()) {
         // uncomment the following line if you do not want to return any records when validation fails
         // $query->where('0=1');
         return $dataProvider;
     }
     $query->andFilterWhere(['patient_id' => $this->patient_id, 'locality_id' => $this->locality_id, 'blocked' => $this->blocked, 'birth_date' => $this->birth_date, 'created_at' => $this->created_at, 'updated_at' => $this->updated_at]);
     $query->andFilterWhere(['like', 'policy', $this->policy])->andFilterWhere(['like', 'last_name', $this->last_name])->andFilterWhere(['like', 'first_name', $this->first_name])->andFilterWhere(['like', 'patronymic', $this->patronymic]);
     return $dataProvider;
 }