Yii::$app->params["time"]) $this->redirect(["/dashboard"]); if (Yii::$app->user->isGuest) return $this->redirect(['/site/login']); } /** * {@inheritdoc} */ public function behaviors() { return [ 'verbs' => [ 'class' => VerbFilter::className(), 'actions' => [ 'delete' => ['POST'], ], ], ]; } public function actionIndex() { $this->view->title = 'Cấp quyền truy cập'; return $this->render('index', [ "company" => Department::findOne(1), "scheduleArray" => Schedule::scheduleArray(), "doorLists" => Door::find()->all(), "deviceArray" => Device::deviceArray() ]); } public function actionStaff($id) { if (Yii::$app->request->isAjax) { $model = new Department(); $lsDepartment = $model->departmentChilds(intval($id)); $searchModel = new StaffSearch(); $dataProvider = $searchModel->search(Yii::$app->request->queryParams); $dataProvider->query->andFilterWhere(['IN', 'department_id', $lsDepartment]); $dataProvider->pagination->pageSize = 200; return $this->renderAjax("staff", [ 'searchModel' => $searchModel, 'dataProvider' => $dataProvider, "departmentArray" => Department::departmentArray(), "scheduleArray" => Schedule::scheduleArray(), "doorsArray" => Door::doorsArray() ]); } } public function actionSearchStaff() { if (Yii::$app->request->post()) { $post = Yii::$app->request->post(); $searchModel = new StaffSearch(); $dataProvider = $searchModel->search(Yii::$app->request->queryParams); $dataProvider->query->andFilterWhere(['OR', ["LIKE", "name", $post['key']], ["LIKE", "code", $post['key']]]); $dataProvider->pagination->pageSize = 200; return $this->renderAjax("staff", [ 'searchModel' => $searchModel, 'dataProvider' => $dataProvider, "departmentArray" => Department::departmentArray(), "scheduleArray" => Schedule::scheduleArray(), "doorsArray" => Door::doorsArray() ]); } } public function actionSetSchedule() { if (Yii::$app->request->post()) { $post = Yii::$app->request->post(); $lists = Staff::find()->andWhere(["IN", "id", $post["staffs"]])->all(); foreach ($lists as $key => $value) { $value->schedule_id = $post["schedule"]; $value->door_access_old = $value->door_access; $value->door_access = json_encode($post["doors"]); $value->save(); } $doors = []; foreach ($post["doors"] as $key => $value) { $doors[] = Door::findOne($value)->name; } Yii::$app->response->format = "json"; return [ "schedule" => Schedule::findOne($post['schedule'])->name, "doors" => implode("
", $doors) ]; } } }