/** * Lists all Lesson models. * @return mixed */ public function actionIndex() { if (isset(Yii::$app->request->get()['group'])) { $group = Yii::$app->request->get()['group']; return $this->render('group', ['group' => $group]); } if (isset(Yii::$app->request->get()['teacher'])) { $teacher = Yii::$app->request->get()['teacher']; return $this->render('teacher', ['teacher' => $teacher]); } $teachers = \common\models\Teacher::find()->all(); $groups = \common\models\Group::find()->all(); $teacherRequest = null; $groupRequest = null; if (Yii::$app->request->isAjax) { //$teacher = Yii::$app->request->post()['teacher_name']; if (isset(Yii::$app->request->post()['teacher_fullname'])) { $searchTeacher = new \frontend\models\TeacherSearch(); $teacherRequest = Yii::$app->request->post()['teacher_fullname']; $dataProviderTeacher = $searchTeacher->search(['TeacherSearch' => ['fullname' => $teacherRequest]]); $teachers = $dataProviderTeacher->getModels(); } if (isset(Yii::$app->request->post()['group_name'])) { $searchGroup = new \frontend\models\GroupSearch(); $groupRequest = Yii::$app->request->post()['group_name']; $dataProviderGroup = $searchGroup->search(['GroupSearch' => ['name' => $groupRequest]]); $groups = $dataProviderGroup->getModels(); } //$teachers = json_encode(); //return $this->render('index',['teachers' => $teachers, 'groups' => $groups]); } return $this->render('index', ['teachers' => $teachers, 'groups' => $groups, 'teacherRequest' => $teacherRequest, 'groupRequest' => $groupRequest]); }
/** * Creates data provider instance with search query applied * * @param array $params * * @return ActiveDataProvider */ public function search($params) { $query = Teacher::find(); // add conditions that should always apply here $dataProvider = new ActiveDataProvider(['query' => $query]); $dataProvider->setSort(['attributes' => ['id', 'fullname' => ['asc' => ['user.last_name' => SORT_ASC], 'desc' => ['user.last_name' => SORT_DESC]], 'academic_degree', 'post']]); $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, 'user_id' => $this->user_id]); $query->andFilterWhere(['like', 'post', $this->post])->andFilterWhere(['like', 'academic_degree', $this->academic_degree]); $query->joinWith(['user' => function ($q) { $q->where('user.first_name LIKE "%' . $this->fullname . '%" ' . 'OR user.last_name LIKE "%' . $this->fullname . '%"' . 'OR user.middle_name LIKE "%' . $this->fullname . '%"'); }]); return $dataProvider; }
/** * @get teacher */ public function getTeacher() { return $this->hasOne(Teacher::className(), ['id' => 'teacher_id']); }
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]); }
use yii\helpers\Html; use yii\widgets\ListView; use common\models\Lesson; use common\models\GroupHasDiscipline; use yii\helpers\Url; use common\models\Teacher; use yii\web\NotFoundHttpException; use yii\bootstrap\Tabs; use common\widgets\Schedule; use yii\bootstrap\Modal; /* @var $this yii\web\View */ /* @var $dataProvider yii\data\ActiveDataProvider */ $date = new DateTime(); $todayDate = $date->format("Y-m-d"); $Teacher = Teacher::findOne($teacher); if (!$Teacher) { throw new NotFoundHttpException('Страница не найдена.'); } //if(!$ghd) { echo Html::tag('h3','Расписания данной группы не существует или оно еще не заполнено!'); return;} $this->title = 'Расписание преподавателя ' . $Teacher->user->fullname; $this->params['breadcrumbs'][] = ['label' => 'Информация', 'url' => Url::to(['site/information'])]; $this->params['breadcrumbs'][] = ['label' => 'Расписание', 'url' => Url::to(['lesson/index'])]; $this->params['breadcrumbs'][] = $this->title; ?> <div class="lesson-index"> <h3><?php echo "Расписание преподавателя: " . Html::button($Teacher->user->fullname, ['class' => 'btn btn-lg btn-link modalButton', 'value' => Url::to(['//teacher/view', 'id' => $Teacher->id])]); ?> </h3>
/** * Finds the Teacher model based on its primary key value. * If the model is not found, a 404 HTTP exception will be thrown. * @param integer $id * @return Teacher the loaded model * @throws NotFoundHttpException if the model cannot be found */ protected function findModel($id) { if (($model = Teacher::findOne($id)) !== null) { return $model; } else { throw new NotFoundHttpException('The requested page does not exist.'); } }
$semesterList = $model->group_id ? ArrayHelper::map(GroupSemesters::find()->where(['group_id' => $model->group_id])->all(), 'id', 'semester_number') : []; if ($semesterList != []) { foreach ($semesterList as $key => $ar) { $semesterList[$key] = $ar . " - (" . Yii::$app->formatter->asDate(GroupSemesters::findOne($key)->begin_date) . ':' . Yii::$app->formatter->asDate(GroupSemesters::findOne($key)->end_date) . ')'; } } ?> <div class="group-has-discipline-form"> <?php $form = ActiveForm::begin(['id' => 'project-form', 'enableAjaxValidation' => true]); ?> <?php echo $form->field($model, 'teacherHasDiscipline')->widget(MultipleInput::className(), ['min' => 1, 'columns' => [['name' => 'teacher_id', 'type' => 'dropDownList', 'defaultValue' => 1, 'items' => ArrayHelper::map(\common\models\Teacher::find()->all(), 'id', 'user.fullname')]]]); ?> <?php echo $form->field($model, 'discipline_id')->dropDownList(ArrayHelper::map(Discipline::find()->all(), 'id', 'name')); ?> <?php echo $model->isNewRecord ? $form->field($model, 'group_id')->dropDownList(ArrayHelper::map(Group::find()->all(), 'id', 'name'), ['prompt' => '-Группа-', 'onchange' => ' $.post( "' . Yii::$app->urlManager->createUrl('group-has-discipline/semlist?id=') . '"+$(this).val(), function( data ) { $( "select#grouphasdiscipline-semester_id" ).html( data ); }); ', 'class' => 'form-control']) : ""; ?> <?php