/** * Updates an existing Kierunek model. * If update is successful, the browser will be redirected to the 'view' page. * @param integer $id * @return mixed */ public function actionUpdate($id = null) { $forModal = new Kek(); $searchModel = new KekSearch(); $model = $searchModel->search(['kierunekStudiow' => $id]); if ($forModal->load(Yii::$app->request->post()) && $forModal->save()) { $forModal = new Kek(); } return $this->render('update', ['model' => $model, 'id' => $id, 'forModal' => $forModal]); }
/** * Creates data provider instance with search query applied * * @param array $params * * @return ActiveDataProvider */ public function search($params) { if (Yii::$app->controller->id == 'kierunek') { $query = Kek::find()->where(['kierunekStudiow_id' => $params['kierunekStudiow']]); } elseif (Yii::$app->controller->id == 'przedmiot') { //$query = Przedmiot::find($params['kierunekStudiow'])->one()->getKeks(); $query = Kek::findBySql('SELECT * FROM kek WHERE id IN (SELECT kek_id FROM przedmiotKek WHERE przedmiot_id =' . $params['przedmiotId'] . ')'); } Yii::trace('query'); Yii::trace($query); $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(['id' => $this->id, 'kierunekStudiow_id' => $this->kierunekStudiow_id, 'kategoria' => $this->kategoria]); $query->andFilterWhere(['like', 'opis', $this->opis])->andFilterWhere(['like', 'symbol', $this->symbol]); return $dataProvider; }
/** * Creates a new Przedmiot model. * If creation is successful, the browser will be redirected to the 'view' page. * @return mixed */ public function actionCreate($step, $pid = null) { $forModal = null; switch ($step) { case '13': $model = new KierunekStudiow(); $searchModel = new KierunekSearch(); $dataProvider = $searchModel->search(Yii::$app->request->queryParams); break; case '13a': $kierunek = KierunekStudiow::findOne($pid); $model = new Przedmiot(); if ($model->load(Yii::$app->request->post()) && $model->save()) { $step = '14'; return $this->redirect(['create', 'step' => $step, 'pid' => $model->id]); } else { return $this->render('create', ['step' => $step, 'model' => $model, 'kierunek' => $kierunek]); } break; case '14': if (Yii::$app->request->isPost) { foreach (Yii::$app->request->post()['KeksOdBabci'] as $kek) { $model = new PrzedmiotKek(); $model->przedmiot_id = $pid; $model->kek_id = $kek; $model->save(); } } $searchModel = new KekSearch(); $dataProvider = $searchModel->search(['przedmiotId' => $pid]); $model = new Kek(); $przedmiot = Przedmiot::findOne($pid); return $this->render('create', ['model' => $model, 'searchModel' => $searchModel, 'dataProvider' => $dataProvider, 'step' => $step, 'przedmiot' => $przedmiot, 'forModal' => $forModal]); } if ($model->load(Yii::$app->request->post()) && $model->save()) { return $this->redirect(['create', 'model' => $model]); $step = $step++; } return $this->render('create', ['model' => $model, 'searchModel' => $searchModel, 'dataProvider' => $dataProvider, 'step' => $step, 'forModal' => $forModal]); // return $this->redirect(['create', 'step'=>'14']); /*else{ if($step==4 && $forModal->load(Yii::$app->request->post()) && $forModal->save()){ $forModal = new CelKP(); } }*/ }
public static function keksForMS($kid, $pid) { $result = ['Wiedza' => [], 'Umiejętności' => [], 'Kompetencje społeczne' => []]; foreach (Kek::findBySql('SELECT * FROM kek WHERE kierunekStudiow_id=' . $kid . ' AND id NOT IN (SELECT kek_id FROM przedmiotKek WHERE przedmiot_id=' . $pid . ')')->each() as $kek) { $result[static::categoryName[$kek->kategoria]][$kek->id] = $kek->symbol . ': ' . $kek->opis; Yii::trace('kategoria: ' . static::categoryName[$kek->kategoria]); } Yii::trace($result); return $result; }
}]]]]); ?> </div> <!-- Modal --> <div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel"> <div class="modal-dialog" role="document"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button> <h4 class="modal-title" id="myModalLabel">Powiąż przedmiot z kierunkowymi efektami kształcenia</h4> </div> <div class="modal-body"> <?php $form = ActiveForm::begin(); echo '<label class="control-label">Wybierz:</label>'; echo Select2::widget(['name' => 'KeksOdBabci', 'data' => Kek::keksForSelect2($przedmiot->kierunekStudiow_id, $przedmiot->id), 'options' => ['placeholder' => 'Wybierz KEKi', 'multiple' => true], 'pluginOptions' => ['tags' => true, 'maximumInputLength' => 10]]); ?> <div class="form-group"> <?php echo Html::submitButton('Zapisz', ['class' => 'btn btn-success']); ?> </div> <?php ActiveForm::end(); ?> </div> </div> </div> </div>
/** * @return \yii\db\ActiveQuery */ public function getKeks() { return $this->hasMany(Kek::className(), ['id' => 'kek_id'])->viaTable('przedmiotKek', ['przedmiot_id' => 'id']); }
/** * Finds the Kek model based on its primary key value. * If the model is not found, a 404 HTTP exception will be thrown. * @param integer $id * @param integer $Cykl_id * @return Kek the loaded model * @throws NotFoundHttpException if the model cannot be found */ protected function findModel($id) { if (($model = Kek::findOne(['id' => $id])) !== null) { return $model; } else { throw new NotFoundHttpException('The requested page does not exist.'); } }
/** * @return \yii\db\ActiveQuery */ public function getKeks() { return $this->hasMany(Kek::className(), ['kierunekStudiow_id' => 'id']); }