get(RBACServiceInterface::ServiceName); return [ 'permissions' => [ 'class' => IndexAction::className(), 'data' => function($query) use($service){ $result = $service->getPermissionList($query); return [ 'dataProvider' => $result['dataProvider'], 'searchModel' => $result['searchModel'], ]; } ], 'permission-sort' => [ 'class' => SortAction::className(), 'doSort' => function($name, $sort) use($service){ return $service->sortPermission($name['name'], $sort); }, ], 'permission-create' => [ "class" => CreateAction::className(), 'doCreate' => function($postData) use($service){ return $service->createPermission($postData); }, 'data' => function($createResultModel) use($service){ $model = $createResultModel === null ? $service->getNewPermissionModel() : $createResultModel; return [ 'model' => $model, 'groups' => $service->getPermissionGroups(), 'categories' => $service->getPermissionCategories(), ]; }, 'successRedirect' => ['rbac/permissions'], ], 'permission-update' => [ 'primaryKeyIdentity' => 'name', "class" => UpdateAction::className(), "doUpdate" => function($name, $postData) use($service){ return $service->updatePermission($name, $postData); }, "data" => function($name, $updateResultModel) use($service){ $model = $updateResultModel === null ? $service->getPermissionDetail($name) : $updateResultModel; return [ 'model' => $model, 'groups' => $service->getPermissionGroups(), 'categories' => $service->getPermissionCategories(), ]; } ], 'permission-view-layer' => [ 'primaryKeyIdentity' => 'name', 'class' => ViewAction::className(), 'data' => function($name) use($service){ return [ "model" => $service->getPermissionDetail($name), ]; }, 'viewFile' => 'permission-view-layer', ], 'permission-delete' => [ 'primaryKeyIdentity' => 'name', "class" => DeleteAction::className(), "doDelete" => function($name) use($service) { return $service->deletePermission($name); }, ], 'roles' => [ 'class' => IndexAction::className(), 'data' => function($query) use($service){ $result = $service->getRoleList($query); return [ 'dataProvider' => $result['dataProvider'], 'searchModel' => $result['searchModel'], ]; }, 'viewFile' => 'roles', ], 'role-view-layer' => [ 'class' => ViewAction::className(), 'primaryKeyIdentity' => 'name', 'viewFile' => 'role-view-layer', 'data' => function($name) use($service){ return [ 'model' => $service->getRoleDetail($name), ]; } ], 'role-create' => [ "class" => CreateAction::className(), 'doCreate' => function($postData) use($service){ return $service->createRole($postData); }, 'data' => function($createResultModel) use($service){ $model = $createResultModel === null ? $service->getNewRoleModel() : $createResultModel; return [ 'model' => $model, 'permissions' => $service->getPermissionsGroups(), 'roles' => $service->getRoles(), ]; }, 'successRedirect' => ['rbac/roles'] ], 'role-update' => [ "class" => UpdateAction::className(), 'primaryKeyIdentity' => 'name', "doUpdate" => function($name, $postData) use($service){ return $service->updateRole($name, $postData); }, 'data' => function($name, $updateResultModel) use($service){ $model = $updateResultModel === null ? $service->getRoleDetail($name) : $updateResultModel; $roles = $service->getRoles(); unset($roles[$name]); return [ 'model' => $model, 'permissions' => $service->getPermissionsGroups(), 'roles' => $roles, ]; }, 'successRedirect' => ['rbac/roles'], ], 'role-sort' => [ 'class' => SortAction::className(), 'doSort' => function($name, $sort) use($service) { return $service->sortRole($name['name'], $sort); }, ], 'role-delete' => [ "class" => DeleteAction::className(), 'primaryKeyIdentity' => 'name', "doDelete" => function($name) use($service) { return $service->deleteRole($name); }, ], ]; } }