Example #1
0
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]);
 }
Example #3
0
 /**
  * @return \yii\db\ActiveQuery
  */
 public function getRoleActions()
 {
     return $this->hasMany(\app\models\RoleAction::className(), ['action_id' => 'id']);
 }