コード例 #1
0
ファイル: RoleController.php プロジェクト: snowbai/lulucms2
 /**
  * Lists all Role models.
  * @return mixed
  */
 public function actionIndex()
 {
     $result = [];
     $rows = Role::findAll();
     foreach ($rows as $row) {
         $result[$row->category][] = $row;
     }
     return $this->render('index', ['membersDataProvider' => new ArrayDataProvider(['allModels' => ArrayHelper::getValue($result, Role::Category_Member, []), 'key' => 'id']), 'adminsDataProvider' => new ArrayDataProvider(['allModels' => ArrayHelper::getValue($result, Role::Category_Admin, []), 'key' => 'id']), 'systemsDataProvider' => new ArrayDataProvider(['allModels' => ArrayHelper::getValue($result, Role::Category_System, []), 'key' => 'id'])]);
 }
コード例 #2
0
 public function actionRole($user)
 {
     $userRoles = Assignment::find()->select('role')->where(['user' => $user])->indexBy('role')->all();
     if (\Yii::$app->request->isPost) {
         $selectedRoles = LuLu::getPostValue('roles', []);
         Assignment::deleteAll(['and', 'user=\'' . $user . '\'', ['not in', 'role', $selectedRoles]]);
         foreach ($selectedRoles as $selectedRole) {
             if ($userRoles != null && isset($userRoles[$selectedRole])) {
                 continue;
             }
             $newAssignment = new Assignment();
             $newAssignment->user = $user;
             $newAssignment->role = $selectedRole;
             $newAssignment->save();
         }
         return $this->redirect(['role', 'user' => $user]);
     }
     $allRoles = Role::findAll();
     return $this->render('role', ['userRoles' => $userRoles, 'allRoles' => $allRoles]);
 }