/** * Lists all WorkList models. * @return mixed */ public function actionIndex($type = null) { if ($type != null && isset(Yii::$app->user->identity->teacher)) { $teacher = Yii::$app->user->identity->teacher->id; $searchModel = new WorkListSearch(); $query = WorkList::find()->where(['work_type_id' => $type, 'teacher_id' => $teacher]); $dataProvider = $searchModel->search(Yii::$app->request->queryParams, $query); return $this->renderAjax('index', ['searchModel' => $searchModel, 'dataProvider' => $dataProvider, 'type' => $type]); } }
/** * Creates data provider instance with search query applied * * @param array $params * * @return ActiveDataProvider */ public function search($params, $additionaly = null) { if ($additionaly === null) { $query = WorkList::find(); } else { $query = $additionaly; } // add conditions that should always apply here $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; } // grid filtering conditions $query->andFilterWhere(['id' => $this->id, 'work_type_id' => $this->work_type_id, 'teacher_id' => $this->teacher_id]); $query->andFilterWhere(['like', 'name', $this->name]); return $dataProvider; }
<?php use yii\bootstrap\Html; use yii\widgets\Pjax; use yii\widgets\ActiveForm; use common\models\WorkList; use yii\helpers\ArrayHelper; use common\models\WorkHistory; /* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ $this->title = 'Редактирование названия курсовой работы'; $workList = ArrayHelper::map(WorkList::find()->where(['teacher_id' => $model->teacher_id, 'work_type_id' => $model::TYPE_TERM])->all(), 'id', 'name', 'teacher.user.fullname'); $oldList = ArrayHelper::map($model->workHistory, 'id', 'name'); ?> <p> <h2><?php echo $this->title; ?> </h2> </p> <div class="container-fluid"> <?php Pjax::begin(['enablePushState' => false, 'id' => 'begin-term']); $form = ActiveForm::begin(['id' => 'begin-graduate-form', 'options' => ['class' => 'form-horizontal', 'data-pjax' => true]]); ?> <div class="form-group"> <?php echo Html::label('Изменить название');
public function actionEditGraduate() { $workModel = Work::find()->where(['student_id' => Yii::$app->user->identity->student->id])->andWhere(['work_type_id' => Work::TYPE_GRADUATE])->one(); if (Yii::$app->request->post()) { $workModel->editGraduate(Yii::$app->request->post()); return $this->redirect(['graduate']); } $workList = \common\models\WorkList::find()->where(['teacher_id' => $workModel->teacher_id, 'work_type_id' => Work::TYPE_GRADUATE])->all(); $teachers = \common\models\Teacher::find()->all(); return $this->renderAjax('edit_graduate', ['workModel' => $workModel, 'workList' => $workList, 'teachers' => $teachers]); }