function hasAccessToAction($role_id, $action_id) { $role_menu = \app\models\RoleAction::find()->where(["action_id" => $action_id, "role_id" => $role_id])->one(); if ($role_menu) { return TRUE; } return FALSE; }
public function actionDetail($id) { $model = $this->findModel($id); if (isset($_POST['menu'])) { RoleMenu::deleteAll(["role_id" => $id]); $menus = $_POST['menu']; foreach ($menus as $menu) { $roleMenu = new RoleMenu(); $roleMenu->role_id = $id; $roleMenu->menu_id = $menu; $roleMenu->save(); } RoleAction::deleteAll(["role_id" => $id]); $actions = $_POST['action']; if (isset($actions)) { foreach ($actions as $action) { $roleMenu = new RoleAction(); $roleMenu->role_id = $id; $roleMenu->action_id = $action; $roleMenu->save(); } } \Yii::$app->session->addFlash("success", "Role " . $model->name . " successfully updated."); return $this->redirect(["index"]); } return $this->render('detail', ['model' => $model]); }
/** * @return \yii\db\ActiveQuery */ public function getRoleActions() { return $this->hasMany(\app\models\RoleAction::className(), ['action_id' => 'id']); }