public function getRequirementList() { $requirements = Requirement::find()->addOrderBy('name asc')->all(); $output = []; foreach ($requirements as $req) { if (!isset($output[$req->teamString])) { $output[$req->teamString] = []; } $output[$req->teamString][$req->id] = $req->name; } return $output; return ArrayHelper::map($requirements, 'id', 'name'); }
/** * Creates data provider instance with search query applied * * @param array $params * * @return ActiveDataProvider */ public function search($params) { $query = Requirement::find(); $dataProvider = new ActiveDataProvider(['query' => $query]); $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]); $query->andFilterWhere(['like', 'name', $this->name]); return $dataProvider; }
/** * Displays a single Team model. * @param integer $id * @return mixed */ public function actionView($id) { $model = $this->findModel($id); $event = $model->event; $start = new MDateTime($event->start, new \DateTimeZone('EST5EDT')); $start->subToStart('D'); $days = []; while ($start->timestamp < $event->end) { $days[$start->timestamp] = $model->getDayDataProvider($start->timestamp); $start->add(new \DateInterval('P1D')); } $dp = new ActiveDataProvider(['query' => Shift::find()->where(['team_id' => $id]), 'pagination' => false]); $shift = new Shift(); $shift->team_id = $model->id; $shift->active = true; if ($shift->load(Yii::$app->request->post())) { $shift->save(); } $requirements = Requirement::find()->orderBy('name ASC')->all(); $event = $model->event; return $this->render('view', ['model' => $model, 'shift' => $shift, 'event' => $event, 'dataProvider' => $dp, 'days' => $days, 'requirements' => $requirements]); }
/** * Updates an existing Shift model. * If update is successful, the browser will be redirected to the 'view' page. * @param integer $id * @return mixed */ public function actionUpdate($id) { $model = $this->findModel($id); if (!$model->team->event->active) { Yii::$app->session->addFlash('error', 'Shifts can not be updated once an event is closed'); Yii::$app->user->setReturnUrl(Yii::$app->request->referrer); return $this->goBack(); } if ($model->load(Yii::$app->request->post()) && $model->save()) { return $this->redirect(['view', 'id' => $model->id]); } else { $requirements = Requirement::find()->orderBy('name ASC')->all(); return $this->render('update', ['requirements' => $requirements, 'model' => $model]); } }
public function actionTeamAjaxSearch($term = '') { Yii::$app->response->format = Response::FORMAT_JSON; $reqs = Requirement::find()->where(['like', 'team', $term])->andWhere(['not', ['team' => null]])->all(); $output = []; foreach ($reqs as $req) { $output[] = $req->team; } return $output; }