##// END OF EJS Templates
permissions: explicitly register all permissions set for user. Fixes #4217...
permissions: explicitly register all permissions set for user. Fixes #4217 - in order to get a proper inheritance chain of permissions we'll register each step. This allows to get full inheritance chain. Final permissions will be the same becuase the only thing we change is we register each step before permissions final value. - Also display the permissions summary in a nicer way more explicitly stating what permissions overwrites which.

File last commit:

r2042:e367c94a default
r2063:8a6e9139 default
Show More
__init__.py
245 lines | 7.7 KiB | text/x-python | PythonLexer
admin: moved admin pyramid into apps.
r1503 # -*- coding: utf-8 -*-
# Copyright (C) 2016-2017 RhodeCode GmbH
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License, version 3
# (only), as published by the Free Software Foundation.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
# This program is dual-licensed. If you wish to learn more about the
# RhodeCode Enterprise Edition, including its added features, Support services,
# and proprietary license terms, please see https://rhodecode.com/licenses/
from rhodecode.apps.admin.navigation import NavigationRegistry
from rhodecode.config.routing import ADMIN_PREFIX
from rhodecode.lib.utils2 import str2bool
admin: simplify usage of admin prefix on admin routes.
r1542 def admin_routes(config):
"""
Admin prefixed routes
"""
config.add_route(
audit-logs: introduced new view to replace admin journal....
r1758 name='admin_audit_logs',
pattern='/audit_logs')
config.add_route(
name='pull_requests_global_0', # backward compat
pull-request: code cleanup...
r1979 pattern='/pull_requests/{pull_request_id:\d+}')
audit-logs: introduced new view to replace admin journal....
r1758 config.add_route(
name='pull_requests_global_1', # backward compat
pull-request: code cleanup...
r1979 pattern='/pull-requests/{pull_request_id:\d+}')
audit-logs: introduced new view to replace admin journal....
r1758 config.add_route(
name='pull_requests_global',
pull-request: code cleanup...
r1979 pattern='/pull-request/{pull_request_id:\d+}')
audit-logs: introduced new view to replace admin journal....
r1758
config.add_route(
admin: simplify usage of admin prefix on admin routes.
r1542 name='admin_settings_open_source',
pattern='/settings/open_source')
config.add_route(
name='admin_settings_vcs_svn_generate_cfg',
pattern='/settings/vcs/svn_generate_cfg')
config.add_route(
name='admin_settings_system',
pattern='/settings/system')
config.add_route(
name='admin_settings_system_update',
pattern='/settings/system/updates')
config.add_route(
name='admin_settings_sessions',
pattern='/settings/sessions')
config.add_route(
name='admin_settings_sessions_cleanup',
pattern='/settings/sessions/cleanup')
process-managemet: added simple page to monitor worker processes of RhodeCode.
r1885 config.add_route(
name='admin_settings_process_management',
pattern='/settings/process_management')
config.add_route(
name='admin_settings_process_management_signal',
pattern='/settings/process_management/signal')
users-admin: moved views into pyramid for editing emails and ips....
r1821 # global permissions
global-permissions: ported controller to pyramid view....
r1941
config.add_route(
name='admin_permissions_application',
pattern='/permissions/application')
config.add_route(
name='admin_permissions_application_update',
pattern='/permissions/application/update')
config.add_route(
name='admin_permissions_global',
pattern='/permissions/global')
config.add_route(
name='admin_permissions_global_update',
pattern='/permissions/global/update')
config.add_route(
name='admin_permissions_object',
pattern='/permissions/object')
config.add_route(
name='admin_permissions_object_update',
pattern='/permissions/object/update')
users-admin: moved views into pyramid for editing emails and ips....
r1821 config.add_route(
name='admin_permissions_ips',
pattern='/permissions/ips')
global-permissions: ported controller to pyramid view....
r1941 config.add_route(
name='admin_permissions_overview',
pattern='/permissions/overview')
permissions: expose new view that lists all available views for usage in whitelist access.
r1943 config.add_route(
name='admin_permissions_auth_token_access',
pattern='/permissions/auth_token_access')
ssh-keys: added admin panel for managing globally all SSH Keys....
r2042 config.add_route(
name='admin_permissions_ssh_keys',
pattern='/permissions/ssh_keys')
config.add_route(
name='admin_permissions_ssh_keys_data',
pattern='/permissions/ssh_keys/data')
config.add_route(
name='admin_permissions_ssh_keys_update',
pattern='/permissions/ssh_keys/update')
admin: simplify usage of admin prefix on admin routes.
r1542 # users admin
config.add_route(
name='users',
pattern='/users')
config.add_route(
name='users_data',
pattern='/users_data')
# user auth tokens
config.add_route(
name='edit_user_auth_tokens',
pattern='/users/{user_id:\d+}/edit/auth_tokens')
config.add_route(
name='edit_user_auth_tokens_add',
pattern='/users/{user_id:\d+}/edit/auth_tokens/new')
config.add_route(
name='edit_user_auth_tokens_delete',
pattern='/users/{user_id:\d+}/edit/auth_tokens/delete')
users: added SSH key management for user admin pages
r1993 # user ssh keys
config.add_route(
name='edit_user_ssh_keys',
pattern='/users/{user_id:\d+}/edit/ssh_keys')
config.add_route(
name='edit_user_ssh_keys_generate_keypair',
pattern='/users/{user_id:\d+}/edit/ssh_keys/generate')
config.add_route(
name='edit_user_ssh_keys_add',
pattern='/users/{user_id:\d+}/edit/ssh_keys/new')
config.add_route(
name='edit_user_ssh_keys_delete',
pattern='/users/{user_id:\d+}/edit/ssh_keys/delete')
users-admin: moved views into pyramid for editing emails and ips....
r1821 # user emails
config.add_route(
name='edit_user_emails',
pattern='/users/{user_id:\d+}/edit/emails')
config.add_route(
name='edit_user_emails_add',
pattern='/users/{user_id:\d+}/edit/emails/new')
config.add_route(
name='edit_user_emails_delete',
pattern='/users/{user_id:\d+}/edit/emails/delete')
# user IPs
config.add_route(
name='edit_user_ips',
pattern='/users/{user_id:\d+}/edit/ips')
config.add_route(
name='edit_user_ips_add',
pattern='/users/{user_id:\d+}/edit/ips/new')
config.add_route(
name='edit_user_ips_delete',
pattern='/users/{user_id:\d+}/edit/ips/delete')
users/user_groups: ported permission summary pages into pyramid....
r1998 # user perms
config.add_route(
name='edit_user_perms_summary',
pattern='/users/{user_id:\d+}/edit/permissions_summary')
config.add_route(
name='edit_user_perms_summary_json',
pattern='/users/{user_id:\d+}/edit/permissions_summary/json')
Bartłomiej Wołyńczyk
admin-users: add view for user groups managment...
r1556 # user groups management
config.add_route(
name='edit_user_groups_management',
pattern='/users/{user_id:\d+}/edit/groups_management')
config.add_route(
name='edit_user_groups_management_updates',
pattern='/users/{user_id:\d+}/edit/edit_user_groups_management/updates')
admin-users: add audit page to allow showing user actions in RhodeCode....
r1559 # user audit logs
config.add_route(
name='edit_user_audit_logs',
pattern='/users/{user_id:\d+}/edit/audit')
user-groups: moved the display of user group into a pyramid view
r1980 # user groups admin
config.add_route(
name='user_groups',
pattern='/user_groups')
config.add_route(
name='user_groups_data',
pattern='/user_groups_data')
config.add_route(
name='user_group_members_data',
pattern='/user_groups/{user_group_id:\d+}/members')
users/user_groups: ported permission summary pages into pyramid....
r1998 # user groups perms
config.add_route(
name='edit_user_group_perms_summary',
pattern='/user_groups/{user_group_id:\d+}/edit/permissions_summary')
config.add_route(
name='edit_user_group_perms_summary_json',
pattern='/user_groups/{user_group_id:\d+}/edit/permissions_summary/json')
repositories: rewrote whole admin section to pyramid....
r2014 # repos admin
config.add_route(
name='repos',
pattern='/repos')
config.add_route(
name='repo_new',
pattern='/repos/new')
config.add_route(
name='repo_create',
pattern='/repos/create')
admin: simplify usage of admin prefix on admin routes.
r1542
admin: moved admin pyramid into apps.
r1503 def includeme(config):
settings = config.get_settings()
# Create admin navigation registry and add it to the pyramid registry.
labs_active = str2bool(settings.get('labs_settings_active', False))
navigation_registry = NavigationRegistry(labs_active=labs_active)
config.registry.registerUtility(navigation_registry)
audit-logs: introduced new view to replace admin journal....
r1758 # main admin routes
config.add_route(name='admin_home', pattern=ADMIN_PREFIX)
admin: simplify usage of admin prefix on admin routes.
r1542 config.include(admin_routes, route_prefix=ADMIN_PREFIX)
admin: moved auth tokens into pyramid view....
r1518
admin: moved admin pyramid into apps.
r1503 # Scan module for configuration decorators.
pyramid: use a faster scan method for faster app start.
r1991 config.scan('.views', ignore='.tests')