public function validateMaxAvailable($attribute, $params)
 {
     $tour_date = ToursDates::findOne($this->tour_date_id);
     if ($this->{$attribute} > $tour_date->getAvailablePlaces($attribute)) {
         $this->addError($attribute, 'Max available places for this field is ' . $tour_date->getAvailablePlaces($attribute));
     }
 }
 public function actionBookPlace($tour_date_id)
 {
     $model = new BookingsForm();
     $tour_date = ToursDates::findOne($tour_date_id);
     $query = new Query();
     $custom_fields = CustomFields::getCustomFieldsArray($tour_date->tour_id);
     if ($model->load(Yii::$app->request->post()) && $model->save()) {
         Yii::$app->session->setFlash('success', 'Congratulations! Places successful booked');
         return $this->redirect(['tour-details', Tours::FIELD_TOUR_ID => $tour_date->tour_id]);
     }
     return $this->render('book_place', ['model' => $model, 'tour_date' => $tour_date, 'custom_fields' => $custom_fields]);
 }
 public function actionViewDetailsTourDate($tour_date_id)
 {
     $model = ToursDates::findOne($tour_date_id);
     $dataProvider = new ActiveDataProvider(['query' => Bookings::find()->where([Bookings::FIELD_TOUR_DATE_ID => $tour_date_id])]);
     return $this->render('details_tour_date', ['model' => $model, 'dataProvider' => $dataProvider]);
 }