示例#1
0
 public function afterSave($insert, $changedAttributes)
 {
     parent::afterSave($insert, $changedAttributes);
     if ($insert) {
         // if Participant is added
         // add MeetingPlaceChoice & MeetingTimeChoice this participant
         $mt = new MeetingTime();
         $mt->addChoices($this->meeting_id, $this->participant_id);
         $mp = new MeetingPlace();
         $mp->addChoices($this->meeting_id, $this->participant_id);
     }
 }
示例#2
0
 public function addChoices($meeting_id, $participant_id)
 {
     $all_times = MeetingTime::find()->where(['meeting_id' => $meeting_id])->all();
     foreach ($all_times as $mt) {
         MeetingTimeChoice::add($mt->id, $participant_id, 0);
     }
 }
示例#3
0
 /**
  * Displays a single Meeting model.
  * @param integer $id
  * @return mixed
  */
 public function actionView($id)
 {
     $timeProvider = new ActiveDataProvider(['query' => MeetingTime::find()->where(['meeting_id' => $id])]);
     $noteProvider = new ActiveDataProvider(['query' => MeetingNote::find()->where(['meeting_id' => $id])]);
     $placeProvider = new ActiveDataProvider(['query' => MeetingPlace::find()->where(['meeting_id' => $id])]);
     $participantProvider = new ActiveDataProvider(['query' => Participant::find()->where(['meeting_id' => $id])]);
     $model = $this->findModel($id);
     $model->prepareView();
     return $this->render('view', ['model' => $model, 'participantProvider' => $participantProvider, 'timeProvider' => $timeProvider, 'noteProvider' => $noteProvider, 'placeProvider' => $placeProvider]);
 }
示例#4
0
 /**
  * Creates data provider instance with search query applied
  *
  * @param array $params
  *
  * @return ActiveDataProvider
  */
 public function search($params)
 {
     $query = MeetingTime::find();
     $dataProvider = new ActiveDataProvider(['query' => $query, 'sort' => ['defaultOrder' => ['start' => SORT_ASC]]]);
     $this->load($params);
     if (!$this->validate()) {
         // uncomment the following line if you do not want to any records when validation fails
         // $query->where('0=1');
         return $dataProvider;
     }
     $query->andFilterWhere(['id' => $this->id, 'meeting_id' => $this->meeting_id, 'start' => $this->start, 'suggested_by' => $this->suggested_by, 'status' => $this->status, 'created_at' => $this->created_at, 'updated_at' => $this->updated_at]);
     return $dataProvider;
 }
 /**
  * Finds the MeetingTime model based on its primary key value.
  * If the model is not found, a 404 HTTP exception will be thrown.
  * @param integer $id
  * @return MeetingTime the loaded model
  * @throws NotFoundHttpException if the model cannot be found
  */
 protected function findModel($id)
 {
     if (($model = MeetingTime::findOne($id)) !== null) {
         return $model;
     } else {
         throw new NotFoundHttpException('The requested page does not exist.');
     }
 }
示例#6
0
 /**
  * @return \yii\db\ActiveQuery
  */
 public function getMeetingTimes()
 {
     return $this->hasMany(MeetingTime::className(), ['meeting_id' => 'id']);
 }
示例#7
0
 /**
  * @return \yii\db\ActiveQuery
  */
 public function getMeetingTime()
 {
     return $this->hasOne(MeetingTime::className(), ['id' => 'meeting_time_id']);
 }