Exemple #1
0
 /**
  * 角色分配任务
  * 根据任务分类来过滤和显示数据
  *
  * @author lixupeng
  */
 public function actionAssignTask($id)
 {
     $model = self::findModel($id);
     // 先获取授权分类
     $task_categorys = models\RbacTaskCategory::getCategories();
     $searchParams = Yii::$app->request->queryParams;
     $task_category = isset($searchParams['task_category']) ? $searchParams['task_category'] : null;
     //任务列表
     $unassign = $taskItems = models\RbacAuthtask::getTasksByCategory($task_category);
     // 已授权的
     $authorized = models\RbacRoleTask::getTaskAuthorized($id);
     // 从所有授权任务中过滤出已经授权的
     if ($authorized) {
         foreach ($authorized as $k => $v) {
             unset($unassign[$v]);
         }
     }
     $authorized = array_intersect_key($taskItems, array_flip($authorized));
     return $this->render('/rbac/role/assignTask', ['model' => $model, 'unassign' => $unassign, 'assigned' => $authorized, 'task_categorys' => $task_categorys, 'task_category' => $task_category]);
 }