application: not use config.scan(), and replace all @add_view decorator into a explicit add_view call for faster app start.
This commit is contained in:
parent
9d122ba26f
commit
eb5ec20934
89 changed files with 2537 additions and 1706 deletions
|
|
@ -527,6 +527,14 @@ class jsonrpc_deprecated_method(object):
|
||||||
return result
|
return result
|
||||||
|
|
||||||
|
|
||||||
|
def add_api_methods(config):
|
||||||
|
from rhodecode.api.views import (
|
||||||
|
deprecated_api, gist_api, pull_request_api, repo_api, repo_group_api,
|
||||||
|
server_api, search_api, testing_api, user_api, user_group_api)
|
||||||
|
|
||||||
|
config.scan('rhodecode.api.views')
|
||||||
|
|
||||||
|
|
||||||
def includeme(config):
|
def includeme(config):
|
||||||
plugin_module = 'rhodecode.api'
|
plugin_module = 'rhodecode.api'
|
||||||
plugin_settings = get_plugin_settings(
|
plugin_settings = get_plugin_settings(
|
||||||
|
|
@ -549,7 +557,8 @@ def includeme(config):
|
||||||
config.add_route(
|
config.add_route(
|
||||||
'apiv2', plugin_settings.get('url', DEFAULT_URL), jsonrpc_call=True)
|
'apiv2', plugin_settings.get('url', DEFAULT_URL), jsonrpc_call=True)
|
||||||
|
|
||||||
config.scan(plugin_module, ignore='rhodecode.api.tests')
|
|
||||||
# register some exception handling view
|
# register some exception handling view
|
||||||
config.add_view(exception_view, context=JSONRPCBaseError)
|
config.add_view(exception_view, context=JSONRPCBaseError)
|
||||||
config.add_notfound_view(exception_view, jsonrpc_method_not_found=True)
|
config.add_notfound_view(exception_view, jsonrpc_method_not_found=True)
|
||||||
|
|
||||||
|
add_api_methods(config)
|
||||||
|
|
|
||||||
|
|
@ -144,3 +144,5 @@ def includeme(config):
|
||||||
labs_active = str2bool(settings.get('labs_settings_active', False))
|
labs_active = str2bool(settings.get('labs_settings_active', False))
|
||||||
navigation_registry_instance = NavigationRegistry(labs_active=labs_active)
|
navigation_registry_instance = NavigationRegistry(labs_active=labs_active)
|
||||||
config.registry.registerUtility(navigation_registry_instance)
|
config.registry.registerUtility(navigation_registry_instance)
|
||||||
|
log.debug('Created new nabigation instance, %s', navigation_registry_instance)
|
||||||
|
|
||||||
|
|
|
||||||
File diff suppressed because it is too large
Load diff
|
|
@ -21,7 +21,6 @@
|
||||||
import logging
|
import logging
|
||||||
|
|
||||||
from pyramid.httpexceptions import HTTPNotFound
|
from pyramid.httpexceptions import HTTPNotFound
|
||||||
from pyramid.view import view_config
|
|
||||||
|
|
||||||
from rhodecode.apps._base import BaseAppView
|
from rhodecode.apps._base import BaseAppView
|
||||||
from rhodecode.model.db import joinedload, UserLog
|
from rhodecode.model.db import joinedload, UserLog
|
||||||
|
|
@ -34,15 +33,13 @@ log = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
|
||||||
class AdminAuditLogsView(BaseAppView):
|
class AdminAuditLogsView(BaseAppView):
|
||||||
|
|
||||||
def load_default_context(self):
|
def load_default_context(self):
|
||||||
c = self._get_local_tmpl_context()
|
c = self._get_local_tmpl_context()
|
||||||
return c
|
return c
|
||||||
|
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasPermissionAllDecorator('hg.admin')
|
@HasPermissionAllDecorator('hg.admin')
|
||||||
@view_config(
|
|
||||||
route_name='admin_audit_logs', request_method='GET',
|
|
||||||
renderer='rhodecode:templates/admin/admin_audit_logs.mako')
|
|
||||||
def admin_audit_logs(self):
|
def admin_audit_logs(self):
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
|
|
||||||
|
|
@ -76,9 +73,6 @@ class AdminAuditLogsView(BaseAppView):
|
||||||
|
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasPermissionAllDecorator('hg.admin')
|
@HasPermissionAllDecorator('hg.admin')
|
||||||
@view_config(
|
|
||||||
route_name='admin_audit_log_entry', request_method='GET',
|
|
||||||
renderer='rhodecode:templates/admin/admin_audit_log_entry.mako')
|
|
||||||
def admin_audit_log_entry(self):
|
def admin_audit_log_entry(self):
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
audit_log_id = self.request.matchdict['audit_log_id']
|
audit_log_id = self.request.matchdict['audit_log_id']
|
||||||
|
|
|
||||||
|
|
@ -23,7 +23,6 @@ import logging
|
||||||
import formencode
|
import formencode
|
||||||
import formencode.htmlfill
|
import formencode.htmlfill
|
||||||
|
|
||||||
from pyramid.view import view_config
|
|
||||||
from pyramid.httpexceptions import HTTPFound
|
from pyramid.httpexceptions import HTTPFound
|
||||||
from pyramid.renderers import render
|
from pyramid.renderers import render
|
||||||
from pyramid.response import Response
|
from pyramid.response import Response
|
||||||
|
|
@ -41,17 +40,13 @@ log = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
|
||||||
class AdminDefaultSettingsView(BaseAppView):
|
class AdminDefaultSettingsView(BaseAppView):
|
||||||
|
|
||||||
def load_default_context(self):
|
def load_default_context(self):
|
||||||
c = self._get_local_tmpl_context()
|
c = self._get_local_tmpl_context()
|
||||||
|
|
||||||
|
|
||||||
return c
|
return c
|
||||||
|
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasPermissionAllDecorator('hg.admin')
|
@HasPermissionAllDecorator('hg.admin')
|
||||||
@view_config(
|
|
||||||
route_name='admin_defaults_repositories', request_method='GET',
|
|
||||||
renderer='rhodecode:templates/admin/defaults/defaults.mako')
|
|
||||||
def defaults_repository_show(self):
|
def defaults_repository_show(self):
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
c.backends = BACKENDS.keys()
|
c.backends = BACKENDS.keys()
|
||||||
|
|
@ -72,9 +67,6 @@ class AdminDefaultSettingsView(BaseAppView):
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasPermissionAllDecorator('hg.admin')
|
@HasPermissionAllDecorator('hg.admin')
|
||||||
@CSRFRequired()
|
@CSRFRequired()
|
||||||
@view_config(
|
|
||||||
route_name='admin_defaults_repositories_update', request_method='POST',
|
|
||||||
renderer='rhodecode:templates/admin/defaults/defaults.mako')
|
|
||||||
def defaults_repository_update(self):
|
def defaults_repository_update(self):
|
||||||
_ = self.request.translate
|
_ = self.request.translate
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
|
|
|
||||||
|
|
@ -21,7 +21,6 @@ import os
|
||||||
import logging
|
import logging
|
||||||
|
|
||||||
from pyramid.httpexceptions import HTTPFound
|
from pyramid.httpexceptions import HTTPFound
|
||||||
from pyramid.view import view_config
|
|
||||||
|
|
||||||
from rhodecode.apps._base import BaseAppView
|
from rhodecode.apps._base import BaseAppView
|
||||||
from rhodecode.apps._base.navigation import navigation_list
|
from rhodecode.apps._base.navigation import navigation_list
|
||||||
|
|
@ -99,9 +98,6 @@ class ExceptionsTrackerView(BaseAppView):
|
||||||
|
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasPermissionAllDecorator('hg.admin')
|
@HasPermissionAllDecorator('hg.admin')
|
||||||
@view_config(
|
|
||||||
route_name='admin_settings_exception_tracker', request_method='GET',
|
|
||||||
renderer='rhodecode:templates/admin/settings/settings.mako')
|
|
||||||
def browse_exceptions(self):
|
def browse_exceptions(self):
|
||||||
_ = self.request.translate
|
_ = self.request.translate
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
|
|
@ -117,9 +113,6 @@ class ExceptionsTrackerView(BaseAppView):
|
||||||
|
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasPermissionAllDecorator('hg.admin')
|
@HasPermissionAllDecorator('hg.admin')
|
||||||
@view_config(
|
|
||||||
route_name='admin_settings_exception_tracker_show', request_method='GET',
|
|
||||||
renderer='rhodecode:templates/admin/settings/settings.mako')
|
|
||||||
def exception_show(self):
|
def exception_show(self):
|
||||||
_ = self.request.translate
|
_ = self.request.translate
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
|
|
@ -132,9 +125,6 @@ class ExceptionsTrackerView(BaseAppView):
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasPermissionAllDecorator('hg.admin')
|
@HasPermissionAllDecorator('hg.admin')
|
||||||
@CSRFRequired()
|
@CSRFRequired()
|
||||||
@view_config(
|
|
||||||
route_name='admin_settings_exception_tracker_delete_all', request_method='POST',
|
|
||||||
renderer='rhodecode:templates/admin/settings/settings.mako')
|
|
||||||
def exception_delete_all(self):
|
def exception_delete_all(self):
|
||||||
_ = self.request.translate
|
_ = self.request.translate
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
|
|
@ -159,9 +149,6 @@ class ExceptionsTrackerView(BaseAppView):
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasPermissionAllDecorator('hg.admin')
|
@HasPermissionAllDecorator('hg.admin')
|
||||||
@CSRFRequired()
|
@CSRFRequired()
|
||||||
@view_config(
|
|
||||||
route_name='admin_settings_exception_tracker_delete', request_method='POST',
|
|
||||||
renderer='rhodecode:templates/admin/settings/settings.mako')
|
|
||||||
def exception_delete(self):
|
def exception_delete(self):
|
||||||
_ = self.request.translate
|
_ = self.request.translate
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
|
|
|
||||||
|
|
@ -21,7 +21,6 @@
|
||||||
import logging
|
import logging
|
||||||
|
|
||||||
from pyramid.httpexceptions import HTTPFound, HTTPNotFound
|
from pyramid.httpexceptions import HTTPFound, HTTPNotFound
|
||||||
from pyramid.view import view_config
|
|
||||||
|
|
||||||
from rhodecode.apps._base import BaseAppView
|
from rhodecode.apps._base import BaseAppView
|
||||||
from rhodecode.lib import helpers as h
|
from rhodecode.lib import helpers as h
|
||||||
|
|
@ -39,9 +38,6 @@ class AdminMainView(BaseAppView):
|
||||||
|
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@NotAnonymous()
|
@NotAnonymous()
|
||||||
@view_config(
|
|
||||||
route_name='admin_home', request_method='GET',
|
|
||||||
renderer='rhodecode:templates/admin/main.mako')
|
|
||||||
def admin_main(self):
|
def admin_main(self):
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
c.active = 'admin'
|
c.active = 'admin'
|
||||||
|
|
@ -52,9 +48,6 @@ class AdminMainView(BaseAppView):
|
||||||
return self._get_template_context(c)
|
return self._get_template_context(c)
|
||||||
|
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@view_config(route_name='pull_requests_global_0', request_method='GET')
|
|
||||||
@view_config(route_name='pull_requests_global_1', request_method='GET')
|
|
||||||
@view_config(route_name='pull_requests_global', request_method='GET')
|
|
||||||
def pull_requests(self):
|
def pull_requests(self):
|
||||||
"""
|
"""
|
||||||
Global redirect for Pull Requests
|
Global redirect for Pull Requests
|
||||||
|
|
|
||||||
|
|
@ -21,8 +21,6 @@
|
||||||
import collections
|
import collections
|
||||||
import logging
|
import logging
|
||||||
|
|
||||||
from pyramid.view import view_config
|
|
||||||
|
|
||||||
from rhodecode.apps._base import BaseAppView
|
from rhodecode.apps._base import BaseAppView
|
||||||
from rhodecode.apps._base.navigation import navigation_list
|
from rhodecode.apps._base.navigation import navigation_list
|
||||||
from rhodecode.lib.auth import (LoginRequired, HasPermissionAllDecorator)
|
from rhodecode.lib.auth import (LoginRequired, HasPermissionAllDecorator)
|
||||||
|
|
@ -39,9 +37,6 @@ class OpenSourceLicensesAdminSettingsView(BaseAppView):
|
||||||
|
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasPermissionAllDecorator('hg.admin')
|
@HasPermissionAllDecorator('hg.admin')
|
||||||
@view_config(
|
|
||||||
route_name='admin_settings_open_source', request_method='GET',
|
|
||||||
renderer='rhodecode:templates/admin/settings/settings.mako')
|
|
||||||
def open_source_licenses(self):
|
def open_source_licenses(self):
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
c.active = 'open_source'
|
c.active = 'open_source'
|
||||||
|
|
|
||||||
|
|
@ -25,7 +25,6 @@ import formencode.htmlfill
|
||||||
import datetime
|
import datetime
|
||||||
from pyramid.interfaces import IRoutesMapper
|
from pyramid.interfaces import IRoutesMapper
|
||||||
|
|
||||||
from pyramid.view import view_config
|
|
||||||
from pyramid.httpexceptions import HTTPFound
|
from pyramid.httpexceptions import HTTPFound
|
||||||
from pyramid.renderers import render
|
from pyramid.renderers import render
|
||||||
from pyramid.response import Response
|
from pyramid.response import Response
|
||||||
|
|
@ -59,9 +58,6 @@ class AdminPermissionsView(BaseAppView, DataGridAppView):
|
||||||
|
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasPermissionAllDecorator('hg.admin')
|
@HasPermissionAllDecorator('hg.admin')
|
||||||
@view_config(
|
|
||||||
route_name='admin_permissions_application', request_method='GET',
|
|
||||||
renderer='rhodecode:templates/admin/permissions/permissions.mako')
|
|
||||||
def permissions_application(self):
|
def permissions_application(self):
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
c.active = 'application'
|
c.active = 'application'
|
||||||
|
|
@ -90,9 +86,6 @@ class AdminPermissionsView(BaseAppView, DataGridAppView):
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasPermissionAllDecorator('hg.admin')
|
@HasPermissionAllDecorator('hg.admin')
|
||||||
@CSRFRequired()
|
@CSRFRequired()
|
||||||
@view_config(
|
|
||||||
route_name='admin_permissions_application_update', request_method='POST',
|
|
||||||
renderer='rhodecode:templates/admin/permissions/permissions.mako')
|
|
||||||
def permissions_application_update(self):
|
def permissions_application_update(self):
|
||||||
_ = self.request.translate
|
_ = self.request.translate
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
|
|
@ -149,9 +142,6 @@ class AdminPermissionsView(BaseAppView, DataGridAppView):
|
||||||
|
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasPermissionAllDecorator('hg.admin')
|
@HasPermissionAllDecorator('hg.admin')
|
||||||
@view_config(
|
|
||||||
route_name='admin_permissions_object', request_method='GET',
|
|
||||||
renderer='rhodecode:templates/admin/permissions/permissions.mako')
|
|
||||||
def permissions_objects(self):
|
def permissions_objects(self):
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
c.active = 'objects'
|
c.active = 'objects'
|
||||||
|
|
@ -174,9 +164,6 @@ class AdminPermissionsView(BaseAppView, DataGridAppView):
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasPermissionAllDecorator('hg.admin')
|
@HasPermissionAllDecorator('hg.admin')
|
||||||
@CSRFRequired()
|
@CSRFRequired()
|
||||||
@view_config(
|
|
||||||
route_name='admin_permissions_object_update', request_method='POST',
|
|
||||||
renderer='rhodecode:templates/admin/permissions/permissions.mako')
|
|
||||||
def permissions_objects_update(self):
|
def permissions_objects_update(self):
|
||||||
_ = self.request.translate
|
_ = self.request.translate
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
|
|
@ -225,9 +212,6 @@ class AdminPermissionsView(BaseAppView, DataGridAppView):
|
||||||
|
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasPermissionAllDecorator('hg.admin')
|
@HasPermissionAllDecorator('hg.admin')
|
||||||
@view_config(
|
|
||||||
route_name='admin_permissions_branch', request_method='GET',
|
|
||||||
renderer='rhodecode:templates/admin/permissions/permissions.mako')
|
|
||||||
def permissions_branch(self):
|
def permissions_branch(self):
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
c.active = 'branch'
|
c.active = 'branch'
|
||||||
|
|
@ -249,9 +233,6 @@ class AdminPermissionsView(BaseAppView, DataGridAppView):
|
||||||
|
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasPermissionAllDecorator('hg.admin')
|
@HasPermissionAllDecorator('hg.admin')
|
||||||
@view_config(
|
|
||||||
route_name='admin_permissions_global', request_method='GET',
|
|
||||||
renderer='rhodecode:templates/admin/permissions/permissions.mako')
|
|
||||||
def permissions_global(self):
|
def permissions_global(self):
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
c.active = 'global'
|
c.active = 'global'
|
||||||
|
|
@ -274,9 +255,6 @@ class AdminPermissionsView(BaseAppView, DataGridAppView):
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasPermissionAllDecorator('hg.admin')
|
@HasPermissionAllDecorator('hg.admin')
|
||||||
@CSRFRequired()
|
@CSRFRequired()
|
||||||
@view_config(
|
|
||||||
route_name='admin_permissions_global_update', request_method='POST',
|
|
||||||
renderer='rhodecode:templates/admin/permissions/permissions.mako')
|
|
||||||
def permissions_global_update(self):
|
def permissions_global_update(self):
|
||||||
_ = self.request.translate
|
_ = self.request.translate
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
|
|
@ -327,9 +305,6 @@ class AdminPermissionsView(BaseAppView, DataGridAppView):
|
||||||
|
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasPermissionAllDecorator('hg.admin')
|
@HasPermissionAllDecorator('hg.admin')
|
||||||
@view_config(
|
|
||||||
route_name='admin_permissions_ips', request_method='GET',
|
|
||||||
renderer='rhodecode:templates/admin/permissions/permissions.mako')
|
|
||||||
def permissions_ips(self):
|
def permissions_ips(self):
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
c.active = 'ips'
|
c.active = 'ips'
|
||||||
|
|
@ -342,9 +317,6 @@ class AdminPermissionsView(BaseAppView, DataGridAppView):
|
||||||
|
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasPermissionAllDecorator('hg.admin')
|
@HasPermissionAllDecorator('hg.admin')
|
||||||
@view_config(
|
|
||||||
route_name='admin_permissions_overview', request_method='GET',
|
|
||||||
renderer='rhodecode:templates/admin/permissions/permissions.mako')
|
|
||||||
def permissions_overview(self):
|
def permissions_overview(self):
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
c.active = 'perms'
|
c.active = 'perms'
|
||||||
|
|
@ -355,9 +327,6 @@ class AdminPermissionsView(BaseAppView, DataGridAppView):
|
||||||
|
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasPermissionAllDecorator('hg.admin')
|
@HasPermissionAllDecorator('hg.admin')
|
||||||
@view_config(
|
|
||||||
route_name='admin_permissions_auth_token_access', request_method='GET',
|
|
||||||
renderer='rhodecode:templates/admin/permissions/permissions.mako')
|
|
||||||
def auth_token_access(self):
|
def auth_token_access(self):
|
||||||
from rhodecode import CONFIG
|
from rhodecode import CONFIG
|
||||||
|
|
||||||
|
|
@ -415,9 +384,6 @@ class AdminPermissionsView(BaseAppView, DataGridAppView):
|
||||||
|
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasPermissionAllDecorator('hg.admin')
|
@HasPermissionAllDecorator('hg.admin')
|
||||||
@view_config(
|
|
||||||
route_name='admin_permissions_ssh_keys', request_method='GET',
|
|
||||||
renderer='rhodecode:templates/admin/permissions/permissions.mako')
|
|
||||||
def ssh_keys(self):
|
def ssh_keys(self):
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
c.active = 'ssh_keys'
|
c.active = 'ssh_keys'
|
||||||
|
|
@ -426,9 +392,6 @@ class AdminPermissionsView(BaseAppView, DataGridAppView):
|
||||||
|
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasPermissionAllDecorator('hg.admin')
|
@HasPermissionAllDecorator('hg.admin')
|
||||||
@view_config(
|
|
||||||
route_name='admin_permissions_ssh_keys_data', request_method='GET',
|
|
||||||
renderer='json_ext', xhr=True)
|
|
||||||
def ssh_keys_data(self):
|
def ssh_keys_data(self):
|
||||||
_ = self.request.translate
|
_ = self.request.translate
|
||||||
self.load_default_context()
|
self.load_default_context()
|
||||||
|
|
@ -498,9 +461,6 @@ class AdminPermissionsView(BaseAppView, DataGridAppView):
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasPermissionAllDecorator('hg.admin')
|
@HasPermissionAllDecorator('hg.admin')
|
||||||
@CSRFRequired()
|
@CSRFRequired()
|
||||||
@view_config(
|
|
||||||
route_name='admin_permissions_ssh_keys_update', request_method='POST',
|
|
||||||
renderer='rhodecode:templates/admin/permissions/permissions.mako')
|
|
||||||
def ssh_keys_update(self):
|
def ssh_keys_update(self):
|
||||||
_ = self.request.translate
|
_ = self.request.translate
|
||||||
self.load_default_context()
|
self.load_default_context()
|
||||||
|
|
|
||||||
|
|
@ -22,7 +22,7 @@ import logging
|
||||||
|
|
||||||
import psutil
|
import psutil
|
||||||
import signal
|
import signal
|
||||||
from pyramid.view import view_config
|
|
||||||
|
|
||||||
from rhodecode.apps._base import BaseAppView
|
from rhodecode.apps._base import BaseAppView
|
||||||
from rhodecode.apps._base.navigation import navigation_list
|
from rhodecode.apps._base.navigation import navigation_list
|
||||||
|
|
@ -84,9 +84,6 @@ class AdminProcessManagementView(BaseAppView):
|
||||||
|
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasPermissionAllDecorator('hg.admin')
|
@HasPermissionAllDecorator('hg.admin')
|
||||||
@view_config(
|
|
||||||
route_name='admin_settings_process_management', request_method='GET',
|
|
||||||
renderer='rhodecode:templates/admin/settings/settings.mako')
|
|
||||||
def process_management(self):
|
def process_management(self):
|
||||||
_ = self.request.translate
|
_ = self.request.translate
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
|
|
@ -99,9 +96,6 @@ class AdminProcessManagementView(BaseAppView):
|
||||||
|
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasPermissionAllDecorator('hg.admin')
|
@HasPermissionAllDecorator('hg.admin')
|
||||||
@view_config(
|
|
||||||
route_name='admin_settings_process_management_data', request_method='GET',
|
|
||||||
renderer='rhodecode:templates/admin/settings/settings_process_management_data.mako')
|
|
||||||
def process_management_data(self):
|
def process_management_data(self):
|
||||||
_ = self.request.translate
|
_ = self.request.translate
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
|
|
@ -111,9 +105,6 @@ class AdminProcessManagementView(BaseAppView):
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasPermissionAllDecorator('hg.admin')
|
@HasPermissionAllDecorator('hg.admin')
|
||||||
@CSRFRequired()
|
@CSRFRequired()
|
||||||
@view_config(
|
|
||||||
route_name='admin_settings_process_management_signal',
|
|
||||||
request_method='POST', renderer='json_ext')
|
|
||||||
def process_management_signal(self):
|
def process_management_signal(self):
|
||||||
pids = self.request.json.get('pids', [])
|
pids = self.request.json.get('pids', [])
|
||||||
result = []
|
result = []
|
||||||
|
|
@ -155,9 +146,6 @@ class AdminProcessManagementView(BaseAppView):
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasPermissionAllDecorator('hg.admin')
|
@HasPermissionAllDecorator('hg.admin')
|
||||||
@CSRFRequired()
|
@CSRFRequired()
|
||||||
@view_config(
|
|
||||||
route_name='admin_settings_process_management_master_signal',
|
|
||||||
request_method='POST', renderer='json_ext')
|
|
||||||
def process_management_master_signal(self):
|
def process_management_master_signal(self):
|
||||||
pid_data = self.request.json.get('pid_data', {})
|
pid_data = self.request.json.get('pid_data', {})
|
||||||
pid = safe_int(pid_data['pid'])
|
pid = safe_int(pid_data['pid'])
|
||||||
|
|
|
||||||
|
|
@ -25,7 +25,7 @@ import formencode
|
||||||
import formencode.htmlfill
|
import formencode.htmlfill
|
||||||
|
|
||||||
from pyramid.httpexceptions import HTTPFound, HTTPForbidden
|
from pyramid.httpexceptions import HTTPFound, HTTPForbidden
|
||||||
from pyramid.view import view_config
|
|
||||||
from pyramid.renderers import render
|
from pyramid.renderers import render
|
||||||
from pyramid.response import Response
|
from pyramid.response import Response
|
||||||
|
|
||||||
|
|
@ -96,9 +96,6 @@ class AdminRepoGroupsView(BaseAppView, DataGridAppView):
|
||||||
# `repo_group_list_data` via RepoGroupList
|
# `repo_group_list_data` via RepoGroupList
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@NotAnonymous()
|
@NotAnonymous()
|
||||||
@view_config(
|
|
||||||
route_name='repo_groups', request_method='GET',
|
|
||||||
renderer='rhodecode:templates/admin/repo_groups/repo_groups.mako')
|
|
||||||
def repo_group_list(self):
|
def repo_group_list(self):
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
return self._get_template_context(c)
|
return self._get_template_context(c)
|
||||||
|
|
@ -106,9 +103,6 @@ class AdminRepoGroupsView(BaseAppView, DataGridAppView):
|
||||||
# permission check inside
|
# permission check inside
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@NotAnonymous()
|
@NotAnonymous()
|
||||||
@view_config(
|
|
||||||
route_name='repo_groups_data', request_method='GET',
|
|
||||||
renderer='json_ext', xhr=True)
|
|
||||||
def repo_group_list_data(self):
|
def repo_group_list_data(self):
|
||||||
self.load_default_context()
|
self.load_default_context()
|
||||||
column_map = {
|
column_map = {
|
||||||
|
|
@ -254,9 +248,6 @@ class AdminRepoGroupsView(BaseAppView, DataGridAppView):
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@NotAnonymous()
|
@NotAnonymous()
|
||||||
# perm checks inside
|
# perm checks inside
|
||||||
@view_config(
|
|
||||||
route_name='repo_group_new', request_method='GET',
|
|
||||||
renderer='rhodecode:templates/admin/repo_groups/repo_group_add.mako')
|
|
||||||
def repo_group_new(self):
|
def repo_group_new(self):
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
|
|
||||||
|
|
@ -296,9 +287,6 @@ class AdminRepoGroupsView(BaseAppView, DataGridAppView):
|
||||||
@NotAnonymous()
|
@NotAnonymous()
|
||||||
@CSRFRequired()
|
@CSRFRequired()
|
||||||
# perm checks inside
|
# perm checks inside
|
||||||
@view_config(
|
|
||||||
route_name='repo_group_create', request_method='POST',
|
|
||||||
renderer='rhodecode:templates/admin/repo_groups/repo_group_add.mako')
|
|
||||||
def repo_group_create(self):
|
def repo_group_create(self):
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
_ = self.request.translate
|
_ = self.request.translate
|
||||||
|
|
|
||||||
|
|
@ -23,7 +23,7 @@ import formencode
|
||||||
import formencode.htmlfill
|
import formencode.htmlfill
|
||||||
|
|
||||||
from pyramid.httpexceptions import HTTPFound, HTTPForbidden
|
from pyramid.httpexceptions import HTTPFound, HTTPForbidden
|
||||||
from pyramid.view import view_config
|
|
||||||
from pyramid.renderers import render
|
from pyramid.renderers import render
|
||||||
from pyramid.response import Response
|
from pyramid.response import Response
|
||||||
|
|
||||||
|
|
@ -52,7 +52,6 @@ class AdminReposView(BaseAppView, DataGridAppView):
|
||||||
|
|
||||||
def load_default_context(self):
|
def load_default_context(self):
|
||||||
c = self._get_local_tmpl_context()
|
c = self._get_local_tmpl_context()
|
||||||
|
|
||||||
return c
|
return c
|
||||||
|
|
||||||
def _load_form_data(self, c):
|
def _load_form_data(self, c):
|
||||||
|
|
@ -65,9 +64,6 @@ class AdminReposView(BaseAppView, DataGridAppView):
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@NotAnonymous()
|
@NotAnonymous()
|
||||||
# perms check inside
|
# perms check inside
|
||||||
@view_config(
|
|
||||||
route_name='repos', request_method='GET',
|
|
||||||
renderer='rhodecode:templates/admin/repos/repos.mako')
|
|
||||||
def repository_list(self):
|
def repository_list(self):
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
return self._get_template_context(c)
|
return self._get_template_context(c)
|
||||||
|
|
@ -75,9 +71,6 @@ class AdminReposView(BaseAppView, DataGridAppView):
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@NotAnonymous()
|
@NotAnonymous()
|
||||||
# perms check inside
|
# perms check inside
|
||||||
@view_config(
|
|
||||||
route_name='repos_data', request_method='GET',
|
|
||||||
renderer='json_ext', xhr=True)
|
|
||||||
def repository_list_data(self):
|
def repository_list_data(self):
|
||||||
self.load_default_context()
|
self.load_default_context()
|
||||||
column_map = {
|
column_map = {
|
||||||
|
|
@ -162,9 +155,6 @@ class AdminReposView(BaseAppView, DataGridAppView):
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@NotAnonymous()
|
@NotAnonymous()
|
||||||
# perms check inside
|
# perms check inside
|
||||||
@view_config(
|
|
||||||
route_name='repo_new', request_method='GET',
|
|
||||||
renderer='rhodecode:templates/admin/repos/repo_add.mako')
|
|
||||||
def repository_new(self):
|
def repository_new(self):
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
|
|
||||||
|
|
@ -216,9 +206,6 @@ class AdminReposView(BaseAppView, DataGridAppView):
|
||||||
@NotAnonymous()
|
@NotAnonymous()
|
||||||
@CSRFRequired()
|
@CSRFRequired()
|
||||||
# perms check inside
|
# perms check inside
|
||||||
@view_config(
|
|
||||||
route_name='repo_create', request_method='POST',
|
|
||||||
renderer='rhodecode:templates/admin/repos/repos.mako')
|
|
||||||
def repository_create(self):
|
def repository_create(self):
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -20,7 +20,7 @@
|
||||||
|
|
||||||
import logging
|
import logging
|
||||||
|
|
||||||
from pyramid.view import view_config
|
|
||||||
from pyramid.httpexceptions import HTTPFound
|
from pyramid.httpexceptions import HTTPFound
|
||||||
|
|
||||||
from rhodecode.apps._base import BaseAppView
|
from rhodecode.apps._base import BaseAppView
|
||||||
|
|
@ -37,17 +37,13 @@ log = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
|
||||||
class AdminSessionSettingsView(BaseAppView):
|
class AdminSessionSettingsView(BaseAppView):
|
||||||
|
|
||||||
def load_default_context(self):
|
def load_default_context(self):
|
||||||
c = self._get_local_tmpl_context()
|
c = self._get_local_tmpl_context()
|
||||||
|
|
||||||
|
|
||||||
return c
|
return c
|
||||||
|
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasPermissionAllDecorator('hg.admin')
|
@HasPermissionAllDecorator('hg.admin')
|
||||||
@view_config(
|
|
||||||
route_name='admin_settings_sessions', request_method='GET',
|
|
||||||
renderer='rhodecode:templates/admin/settings/settings.mako')
|
|
||||||
def settings_sessions(self):
|
def settings_sessions(self):
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
|
|
||||||
|
|
@ -71,8 +67,6 @@ class AdminSessionSettingsView(BaseAppView):
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasPermissionAllDecorator('hg.admin')
|
@HasPermissionAllDecorator('hg.admin')
|
||||||
@CSRFRequired()
|
@CSRFRequired()
|
||||||
@view_config(
|
|
||||||
route_name='admin_settings_sessions_cleanup', request_method='POST')
|
|
||||||
def settings_sessions_cleanup(self):
|
def settings_sessions_cleanup(self):
|
||||||
_ = self.request.translate
|
_ = self.request.translate
|
||||||
expire_days = safe_int(self.request.params.get('expire_days'))
|
expire_days = safe_int(self.request.params.get('expire_days'))
|
||||||
|
|
|
||||||
|
|
@ -27,7 +27,7 @@ import formencode
|
||||||
import formencode.htmlfill
|
import formencode.htmlfill
|
||||||
|
|
||||||
import rhodecode
|
import rhodecode
|
||||||
from pyramid.view import view_config
|
|
||||||
from pyramid.httpexceptions import HTTPFound, HTTPNotFound
|
from pyramid.httpexceptions import HTTPFound, HTTPNotFound
|
||||||
from pyramid.renderers import render
|
from pyramid.renderers import render
|
||||||
from pyramid.response import Response
|
from pyramid.response import Response
|
||||||
|
|
@ -68,7 +68,6 @@ class AdminSettingsView(BaseAppView):
|
||||||
c.labs_active = str2bool(
|
c.labs_active = str2bool(
|
||||||
rhodecode.CONFIG.get('labs_settings_active', 'true'))
|
rhodecode.CONFIG.get('labs_settings_active', 'true'))
|
||||||
c.navlist = navigation_list(self.request)
|
c.navlist = navigation_list(self.request)
|
||||||
|
|
||||||
return c
|
return c
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
|
|
@ -109,9 +108,6 @@ class AdminSettingsView(BaseAppView):
|
||||||
|
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasPermissionAllDecorator('hg.admin')
|
@HasPermissionAllDecorator('hg.admin')
|
||||||
@view_config(
|
|
||||||
route_name='admin_settings_vcs', request_method='GET',
|
|
||||||
renderer='rhodecode:templates/admin/settings/settings.mako')
|
|
||||||
def settings_vcs(self):
|
def settings_vcs(self):
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
c.active = 'vcs'
|
c.active = 'vcs'
|
||||||
|
|
@ -139,9 +135,6 @@ class AdminSettingsView(BaseAppView):
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasPermissionAllDecorator('hg.admin')
|
@HasPermissionAllDecorator('hg.admin')
|
||||||
@CSRFRequired()
|
@CSRFRequired()
|
||||||
@view_config(
|
|
||||||
route_name='admin_settings_vcs_update', request_method='POST',
|
|
||||||
renderer='rhodecode:templates/admin/settings/settings.mako')
|
|
||||||
def settings_vcs_update(self):
|
def settings_vcs_update(self):
|
||||||
_ = self.request.translate
|
_ = self.request.translate
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
|
|
@ -207,9 +200,6 @@ class AdminSettingsView(BaseAppView):
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasPermissionAllDecorator('hg.admin')
|
@HasPermissionAllDecorator('hg.admin')
|
||||||
@CSRFRequired()
|
@CSRFRequired()
|
||||||
@view_config(
|
|
||||||
route_name='admin_settings_vcs_svn_pattern_delete', request_method='POST',
|
|
||||||
renderer='json_ext', xhr=True)
|
|
||||||
def settings_vcs_delete_svn_pattern(self):
|
def settings_vcs_delete_svn_pattern(self):
|
||||||
delete_pattern_id = self.request.POST.get('delete_svn_pattern')
|
delete_pattern_id = self.request.POST.get('delete_svn_pattern')
|
||||||
model = VcsSettingsModel()
|
model = VcsSettingsModel()
|
||||||
|
|
@ -225,9 +215,6 @@ class AdminSettingsView(BaseAppView):
|
||||||
|
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasPermissionAllDecorator('hg.admin')
|
@HasPermissionAllDecorator('hg.admin')
|
||||||
@view_config(
|
|
||||||
route_name='admin_settings_mapping', request_method='GET',
|
|
||||||
renderer='rhodecode:templates/admin/settings/settings.mako')
|
|
||||||
def settings_mapping(self):
|
def settings_mapping(self):
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
c.active = 'mapping'
|
c.active = 'mapping'
|
||||||
|
|
@ -245,9 +232,6 @@ class AdminSettingsView(BaseAppView):
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasPermissionAllDecorator('hg.admin')
|
@HasPermissionAllDecorator('hg.admin')
|
||||||
@CSRFRequired()
|
@CSRFRequired()
|
||||||
@view_config(
|
|
||||||
route_name='admin_settings_mapping_update', request_method='POST',
|
|
||||||
renderer='rhodecode:templates/admin/settings/settings.mako')
|
|
||||||
def settings_mapping_update(self):
|
def settings_mapping_update(self):
|
||||||
_ = self.request.translate
|
_ = self.request.translate
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
|
|
@ -274,12 +258,6 @@ class AdminSettingsView(BaseAppView):
|
||||||
|
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasPermissionAllDecorator('hg.admin')
|
@HasPermissionAllDecorator('hg.admin')
|
||||||
@view_config(
|
|
||||||
route_name='admin_settings', request_method='GET',
|
|
||||||
renderer='rhodecode:templates/admin/settings/settings.mako')
|
|
||||||
@view_config(
|
|
||||||
route_name='admin_settings_global', request_method='GET',
|
|
||||||
renderer='rhodecode:templates/admin/settings/settings.mako')
|
|
||||||
def settings_global(self):
|
def settings_global(self):
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
c.active = 'global'
|
c.active = 'global'
|
||||||
|
|
@ -299,12 +277,6 @@ class AdminSettingsView(BaseAppView):
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasPermissionAllDecorator('hg.admin')
|
@HasPermissionAllDecorator('hg.admin')
|
||||||
@CSRFRequired()
|
@CSRFRequired()
|
||||||
@view_config(
|
|
||||||
route_name='admin_settings_update', request_method='POST',
|
|
||||||
renderer='rhodecode:templates/admin/settings/settings.mako')
|
|
||||||
@view_config(
|
|
||||||
route_name='admin_settings_global_update', request_method='POST',
|
|
||||||
renderer='rhodecode:templates/admin/settings/settings.mako')
|
|
||||||
def settings_global_update(self):
|
def settings_global_update(self):
|
||||||
_ = self.request.translate
|
_ = self.request.translate
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
|
|
@ -359,9 +331,6 @@ class AdminSettingsView(BaseAppView):
|
||||||
|
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasPermissionAllDecorator('hg.admin')
|
@HasPermissionAllDecorator('hg.admin')
|
||||||
@view_config(
|
|
||||||
route_name='admin_settings_visual', request_method='GET',
|
|
||||||
renderer='rhodecode:templates/admin/settings/settings.mako')
|
|
||||||
def settings_visual(self):
|
def settings_visual(self):
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
c.active = 'visual'
|
c.active = 'visual'
|
||||||
|
|
@ -379,9 +348,6 @@ class AdminSettingsView(BaseAppView):
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasPermissionAllDecorator('hg.admin')
|
@HasPermissionAllDecorator('hg.admin')
|
||||||
@CSRFRequired()
|
@CSRFRequired()
|
||||||
@view_config(
|
|
||||||
route_name='admin_settings_visual_update', request_method='POST',
|
|
||||||
renderer='rhodecode:templates/admin/settings/settings.mako')
|
|
||||||
def settings_visual_update(self):
|
def settings_visual_update(self):
|
||||||
_ = self.request.translate
|
_ = self.request.translate
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
|
|
@ -441,9 +407,6 @@ class AdminSettingsView(BaseAppView):
|
||||||
|
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasPermissionAllDecorator('hg.admin')
|
@HasPermissionAllDecorator('hg.admin')
|
||||||
@view_config(
|
|
||||||
route_name='admin_settings_issuetracker', request_method='GET',
|
|
||||||
renderer='rhodecode:templates/admin/settings/settings.mako')
|
|
||||||
def settings_issuetracker(self):
|
def settings_issuetracker(self):
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
c.active = 'issuetracker'
|
c.active = 'issuetracker'
|
||||||
|
|
@ -470,9 +433,6 @@ class AdminSettingsView(BaseAppView):
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasPermissionAllDecorator('hg.admin')
|
@HasPermissionAllDecorator('hg.admin')
|
||||||
@CSRFRequired()
|
@CSRFRequired()
|
||||||
@view_config(
|
|
||||||
route_name='admin_settings_issuetracker_test', request_method='POST',
|
|
||||||
renderer='string', xhr=True)
|
|
||||||
def settings_issuetracker_test(self):
|
def settings_issuetracker_test(self):
|
||||||
error_container = []
|
error_container = []
|
||||||
|
|
||||||
|
|
@ -490,9 +450,6 @@ class AdminSettingsView(BaseAppView):
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasPermissionAllDecorator('hg.admin')
|
@HasPermissionAllDecorator('hg.admin')
|
||||||
@CSRFRequired()
|
@CSRFRequired()
|
||||||
@view_config(
|
|
||||||
route_name='admin_settings_issuetracker_update', request_method='POST',
|
|
||||||
renderer='rhodecode:templates/admin/settings/settings.mako')
|
|
||||||
def settings_issuetracker_update(self):
|
def settings_issuetracker_update(self):
|
||||||
_ = self.request.translate
|
_ = self.request.translate
|
||||||
self.load_default_context()
|
self.load_default_context()
|
||||||
|
|
@ -527,9 +484,6 @@ class AdminSettingsView(BaseAppView):
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasPermissionAllDecorator('hg.admin')
|
@HasPermissionAllDecorator('hg.admin')
|
||||||
@CSRFRequired()
|
@CSRFRequired()
|
||||||
@view_config(
|
|
||||||
route_name='admin_settings_issuetracker_delete', request_method='POST',
|
|
||||||
renderer='json_ext', xhr=True)
|
|
||||||
def settings_issuetracker_delete(self):
|
def settings_issuetracker_delete(self):
|
||||||
_ = self.request.translate
|
_ = self.request.translate
|
||||||
self.load_default_context()
|
self.load_default_context()
|
||||||
|
|
@ -547,9 +501,6 @@ class AdminSettingsView(BaseAppView):
|
||||||
|
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasPermissionAllDecorator('hg.admin')
|
@HasPermissionAllDecorator('hg.admin')
|
||||||
@view_config(
|
|
||||||
route_name='admin_settings_email', request_method='GET',
|
|
||||||
renderer='rhodecode:templates/admin/settings/settings.mako')
|
|
||||||
def settings_email(self):
|
def settings_email(self):
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
c.active = 'email'
|
c.active = 'email'
|
||||||
|
|
@ -568,9 +519,6 @@ class AdminSettingsView(BaseAppView):
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasPermissionAllDecorator('hg.admin')
|
@HasPermissionAllDecorator('hg.admin')
|
||||||
@CSRFRequired()
|
@CSRFRequired()
|
||||||
@view_config(
|
|
||||||
route_name='admin_settings_email_update', request_method='POST',
|
|
||||||
renderer='rhodecode:templates/admin/settings/settings.mako')
|
|
||||||
def settings_email_update(self):
|
def settings_email_update(self):
|
||||||
_ = self.request.translate
|
_ = self.request.translate
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
|
|
@ -600,9 +548,6 @@ class AdminSettingsView(BaseAppView):
|
||||||
|
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasPermissionAllDecorator('hg.admin')
|
@HasPermissionAllDecorator('hg.admin')
|
||||||
@view_config(
|
|
||||||
route_name='admin_settings_hooks', request_method='GET',
|
|
||||||
renderer='rhodecode:templates/admin/settings/settings.mako')
|
|
||||||
def settings_hooks(self):
|
def settings_hooks(self):
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
c.active = 'hooks'
|
c.active = 'hooks'
|
||||||
|
|
@ -624,12 +569,6 @@ class AdminSettingsView(BaseAppView):
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasPermissionAllDecorator('hg.admin')
|
@HasPermissionAllDecorator('hg.admin')
|
||||||
@CSRFRequired()
|
@CSRFRequired()
|
||||||
@view_config(
|
|
||||||
route_name='admin_settings_hooks_update', request_method='POST',
|
|
||||||
renderer='rhodecode:templates/admin/settings/settings.mako')
|
|
||||||
@view_config(
|
|
||||||
route_name='admin_settings_hooks_delete', request_method='POST',
|
|
||||||
renderer='rhodecode:templates/admin/settings/settings.mako')
|
|
||||||
def settings_hooks_update(self):
|
def settings_hooks_update(self):
|
||||||
_ = self.request.translate
|
_ = self.request.translate
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
|
|
@ -671,9 +610,6 @@ class AdminSettingsView(BaseAppView):
|
||||||
|
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasPermissionAllDecorator('hg.admin')
|
@HasPermissionAllDecorator('hg.admin')
|
||||||
@view_config(
|
|
||||||
route_name='admin_settings_search', request_method='GET',
|
|
||||||
renderer='rhodecode:templates/admin/settings/settings.mako')
|
|
||||||
def settings_search(self):
|
def settings_search(self):
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
c.active = 'search'
|
c.active = 'search'
|
||||||
|
|
@ -685,9 +621,6 @@ class AdminSettingsView(BaseAppView):
|
||||||
|
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasPermissionAllDecorator('hg.admin')
|
@HasPermissionAllDecorator('hg.admin')
|
||||||
@view_config(
|
|
||||||
route_name='admin_settings_automation', request_method='GET',
|
|
||||||
renderer='rhodecode:templates/admin/settings/settings.mako')
|
|
||||||
def settings_automation(self):
|
def settings_automation(self):
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
c.active = 'automation'
|
c.active = 'automation'
|
||||||
|
|
@ -696,9 +629,6 @@ class AdminSettingsView(BaseAppView):
|
||||||
|
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasPermissionAllDecorator('hg.admin')
|
@HasPermissionAllDecorator('hg.admin')
|
||||||
@view_config(
|
|
||||||
route_name='admin_settings_labs', request_method='GET',
|
|
||||||
renderer='rhodecode:templates/admin/settings/settings.mako')
|
|
||||||
def settings_labs(self):
|
def settings_labs(self):
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
if not c.labs_active:
|
if not c.labs_active:
|
||||||
|
|
@ -720,9 +650,6 @@ class AdminSettingsView(BaseAppView):
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasPermissionAllDecorator('hg.admin')
|
@HasPermissionAllDecorator('hg.admin')
|
||||||
@CSRFRequired()
|
@CSRFRequired()
|
||||||
@view_config(
|
|
||||||
route_name='admin_settings_labs_update', request_method='POST',
|
|
||||||
renderer='rhodecode:templates/admin/settings/settings.mako')
|
|
||||||
def settings_labs_update(self):
|
def settings_labs_update(self):
|
||||||
_ = self.request.translate
|
_ = self.request.translate
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
|
|
|
||||||
|
|
@ -20,7 +20,7 @@
|
||||||
|
|
||||||
import logging
|
import logging
|
||||||
|
|
||||||
from pyramid.view import view_config
|
|
||||||
|
|
||||||
from rhodecode.apps._base import BaseAppView
|
from rhodecode.apps._base import BaseAppView
|
||||||
from rhodecode.apps.svn_support.utils import generate_mod_dav_svn_config
|
from rhodecode.apps.svn_support.utils import generate_mod_dav_svn_config
|
||||||
|
|
@ -30,14 +30,11 @@ from rhodecode.lib.auth import (
|
||||||
log = logging.getLogger(__name__)
|
log = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
|
||||||
class SvnConfigAdminSettingsView(BaseAppView):
|
class AdminSvnConfigView(BaseAppView):
|
||||||
|
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasPermissionAllDecorator('hg.admin')
|
@HasPermissionAllDecorator('hg.admin')
|
||||||
@CSRFRequired()
|
@CSRFRequired()
|
||||||
@view_config(
|
|
||||||
route_name='admin_settings_vcs_svn_generate_cfg',
|
|
||||||
request_method='POST', renderer='json')
|
|
||||||
def vcs_svn_generate_config(self):
|
def vcs_svn_generate_config(self):
|
||||||
_ = self.request.translate
|
_ = self.request.translate
|
||||||
try:
|
try:
|
||||||
|
|
|
||||||
|
|
@ -21,7 +21,7 @@
|
||||||
import logging
|
import logging
|
||||||
import urllib2
|
import urllib2
|
||||||
|
|
||||||
from pyramid.view import view_config
|
|
||||||
|
|
||||||
import rhodecode
|
import rhodecode
|
||||||
from rhodecode.apps._base import BaseAppView
|
from rhodecode.apps._base import BaseAppView
|
||||||
|
|
@ -42,9 +42,6 @@ class AdminSystemInfoSettingsView(BaseAppView):
|
||||||
|
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasPermissionAllDecorator('hg.admin')
|
@HasPermissionAllDecorator('hg.admin')
|
||||||
@view_config(
|
|
||||||
route_name='admin_settings_system', request_method='GET',
|
|
||||||
renderer='rhodecode:templates/admin/settings/settings.mako')
|
|
||||||
def settings_system_info(self):
|
def settings_system_info(self):
|
||||||
_ = self.request.translate
|
_ = self.request.translate
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
|
|
@ -169,9 +166,6 @@ class AdminSystemInfoSettingsView(BaseAppView):
|
||||||
|
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasPermissionAllDecorator('hg.admin')
|
@HasPermissionAllDecorator('hg.admin')
|
||||||
@view_config(
|
|
||||||
route_name='admin_settings_system_update', request_method='GET',
|
|
||||||
renderer='rhodecode:templates/admin/settings/settings_system_update.mako')
|
|
||||||
def settings_system_info_check_update(self):
|
def settings_system_info_check_update(self):
|
||||||
_ = self.request.translate
|
_ = self.request.translate
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
|
|
|
||||||
|
|
@ -24,7 +24,7 @@ import formencode
|
||||||
import formencode.htmlfill
|
import formencode.htmlfill
|
||||||
|
|
||||||
from pyramid.httpexceptions import HTTPFound
|
from pyramid.httpexceptions import HTTPFound
|
||||||
from pyramid.view import view_config
|
|
||||||
from pyramid.response import Response
|
from pyramid.response import Response
|
||||||
from pyramid.renderers import render
|
from pyramid.renderers import render
|
||||||
|
|
||||||
|
|
@ -51,19 +51,14 @@ class AdminUserGroupsView(BaseAppView, DataGridAppView):
|
||||||
|
|
||||||
def load_default_context(self):
|
def load_default_context(self):
|
||||||
c = self._get_local_tmpl_context()
|
c = self._get_local_tmpl_context()
|
||||||
|
|
||||||
PermissionModel().set_global_permission_choices(
|
PermissionModel().set_global_permission_choices(
|
||||||
c, gettext_translator=self.request.translate)
|
c, gettext_translator=self.request.translate)
|
||||||
|
|
||||||
return c
|
return c
|
||||||
|
|
||||||
# permission check in data loading of
|
# permission check in data loading of
|
||||||
# `user_groups_list_data` via UserGroupList
|
# `user_groups_list_data` via UserGroupList
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@NotAnonymous()
|
@NotAnonymous()
|
||||||
@view_config(
|
|
||||||
route_name='user_groups', request_method='GET',
|
|
||||||
renderer='rhodecode:templates/admin/user_groups/user_groups.mako')
|
|
||||||
def user_groups_list(self):
|
def user_groups_list(self):
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
return self._get_template_context(c)
|
return self._get_template_context(c)
|
||||||
|
|
@ -71,9 +66,6 @@ class AdminUserGroupsView(BaseAppView, DataGridAppView):
|
||||||
# permission check inside
|
# permission check inside
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@NotAnonymous()
|
@NotAnonymous()
|
||||||
@view_config(
|
|
||||||
route_name='user_groups_data', request_method='GET',
|
|
||||||
renderer='json_ext', xhr=True)
|
|
||||||
def user_groups_list_data(self):
|
def user_groups_list_data(self):
|
||||||
self.load_default_context()
|
self.load_default_context()
|
||||||
column_map = {
|
column_map = {
|
||||||
|
|
@ -197,9 +189,6 @@ class AdminUserGroupsView(BaseAppView, DataGridAppView):
|
||||||
|
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasPermissionAnyDecorator('hg.admin', 'hg.usergroup.create.true')
|
@HasPermissionAnyDecorator('hg.admin', 'hg.usergroup.create.true')
|
||||||
@view_config(
|
|
||||||
route_name='user_groups_new', request_method='GET',
|
|
||||||
renderer='rhodecode:templates/admin/user_groups/user_group_add.mako')
|
|
||||||
def user_groups_new(self):
|
def user_groups_new(self):
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
return self._get_template_context(c)
|
return self._get_template_context(c)
|
||||||
|
|
@ -207,9 +196,6 @@ class AdminUserGroupsView(BaseAppView, DataGridAppView):
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasPermissionAnyDecorator('hg.admin', 'hg.usergroup.create.true')
|
@HasPermissionAnyDecorator('hg.admin', 'hg.usergroup.create.true')
|
||||||
@CSRFRequired()
|
@CSRFRequired()
|
||||||
@view_config(
|
|
||||||
route_name='user_groups_create', request_method='POST',
|
|
||||||
renderer='rhodecode:templates/admin/user_groups/user_group_add.mako')
|
|
||||||
def user_groups_create(self):
|
def user_groups_create(self):
|
||||||
_ = self.request.translate
|
_ = self.request.translate
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
|
|
|
||||||
|
|
@ -24,7 +24,6 @@ import formencode
|
||||||
import formencode.htmlfill
|
import formencode.htmlfill
|
||||||
|
|
||||||
from pyramid.httpexceptions import HTTPFound
|
from pyramid.httpexceptions import HTTPFound
|
||||||
from pyramid.view import view_config
|
|
||||||
from pyramid.renderers import render
|
from pyramid.renderers import render
|
||||||
from pyramid.response import Response
|
from pyramid.response import Response
|
||||||
|
|
||||||
|
|
@ -72,19 +71,12 @@ class AdminUsersView(BaseAppView, DataGridAppView):
|
||||||
|
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasPermissionAllDecorator('hg.admin')
|
@HasPermissionAllDecorator('hg.admin')
|
||||||
@view_config(
|
|
||||||
route_name='users', request_method='GET',
|
|
||||||
renderer='rhodecode:templates/admin/users/users.mako')
|
|
||||||
def users_list(self):
|
def users_list(self):
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
return self._get_template_context(c)
|
return self._get_template_context(c)
|
||||||
|
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasPermissionAllDecorator('hg.admin')
|
@HasPermissionAllDecorator('hg.admin')
|
||||||
@view_config(
|
|
||||||
# renderer defined below
|
|
||||||
route_name='users_data', request_method='GET',
|
|
||||||
renderer='json_ext', xhr=True)
|
|
||||||
def users_list_data(self):
|
def users_list_data(self):
|
||||||
self.load_default_context()
|
self.load_default_context()
|
||||||
column_map = {
|
column_map = {
|
||||||
|
|
@ -183,9 +175,6 @@ class AdminUsersView(BaseAppView, DataGridAppView):
|
||||||
|
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasPermissionAllDecorator('hg.admin')
|
@HasPermissionAllDecorator('hg.admin')
|
||||||
@view_config(
|
|
||||||
route_name='users_new', request_method='GET',
|
|
||||||
renderer='rhodecode:templates/admin/users/user_add.mako')
|
|
||||||
def users_new(self):
|
def users_new(self):
|
||||||
_ = self.request.translate
|
_ = self.request.translate
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
|
|
@ -196,9 +185,6 @@ class AdminUsersView(BaseAppView, DataGridAppView):
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasPermissionAllDecorator('hg.admin')
|
@HasPermissionAllDecorator('hg.admin')
|
||||||
@CSRFRequired()
|
@CSRFRequired()
|
||||||
@view_config(
|
|
||||||
route_name='users_create', request_method='POST',
|
|
||||||
renderer='rhodecode:templates/admin/users/user_add.mako')
|
|
||||||
def users_create(self):
|
def users_create(self):
|
||||||
_ = self.request.translate
|
_ = self.request.translate
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
|
|
@ -309,9 +295,6 @@ class UsersView(UserAppView):
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasPermissionAllDecorator('hg.admin')
|
@HasPermissionAllDecorator('hg.admin')
|
||||||
@CSRFRequired()
|
@CSRFRequired()
|
||||||
@view_config(
|
|
||||||
route_name='user_update', request_method='POST',
|
|
||||||
renderer='rhodecode:templates/admin/users/user_edit.mako')
|
|
||||||
def user_update(self):
|
def user_update(self):
|
||||||
_ = self.request.translate
|
_ = self.request.translate
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
|
|
@ -371,9 +354,6 @@ class UsersView(UserAppView):
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasPermissionAllDecorator('hg.admin')
|
@HasPermissionAllDecorator('hg.admin')
|
||||||
@CSRFRequired()
|
@CSRFRequired()
|
||||||
@view_config(
|
|
||||||
route_name='user_delete', request_method='POST',
|
|
||||||
renderer='rhodecode:templates/admin/users/user_edit.mako')
|
|
||||||
def user_delete(self):
|
def user_delete(self):
|
||||||
_ = self.request.translate
|
_ = self.request.translate
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
|
|
@ -496,9 +476,6 @@ class UsersView(UserAppView):
|
||||||
|
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasPermissionAllDecorator('hg.admin')
|
@HasPermissionAllDecorator('hg.admin')
|
||||||
@view_config(
|
|
||||||
route_name='user_edit', request_method='GET',
|
|
||||||
renderer='rhodecode:templates/admin/users/user_edit.mako')
|
|
||||||
def user_edit(self):
|
def user_edit(self):
|
||||||
_ = self.request.translate
|
_ = self.request.translate
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
|
|
@ -525,9 +502,6 @@ class UsersView(UserAppView):
|
||||||
|
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasPermissionAllDecorator('hg.admin')
|
@HasPermissionAllDecorator('hg.admin')
|
||||||
@view_config(
|
|
||||||
route_name='user_edit_advanced', request_method='GET',
|
|
||||||
renderer='rhodecode:templates/admin/users/user_edit.mako')
|
|
||||||
def user_edit_advanced(self):
|
def user_edit_advanced(self):
|
||||||
_ = self.request.translate
|
_ = self.request.translate
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
|
|
@ -584,9 +558,6 @@ class UsersView(UserAppView):
|
||||||
|
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasPermissionAllDecorator('hg.admin')
|
@HasPermissionAllDecorator('hg.admin')
|
||||||
@view_config(
|
|
||||||
route_name='user_edit_global_perms', request_method='GET',
|
|
||||||
renderer='rhodecode:templates/admin/users/user_edit.mako')
|
|
||||||
def user_edit_global_perms(self):
|
def user_edit_global_perms(self):
|
||||||
_ = self.request.translate
|
_ = self.request.translate
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
|
|
@ -614,9 +585,6 @@ class UsersView(UserAppView):
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasPermissionAllDecorator('hg.admin')
|
@HasPermissionAllDecorator('hg.admin')
|
||||||
@CSRFRequired()
|
@CSRFRequired()
|
||||||
@view_config(
|
|
||||||
route_name='user_edit_global_perms_update', request_method='POST',
|
|
||||||
renderer='rhodecode:templates/admin/users/user_edit.mako')
|
|
||||||
def user_edit_global_perms_update(self):
|
def user_edit_global_perms_update(self):
|
||||||
_ = self.request.translate
|
_ = self.request.translate
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
|
|
@ -682,9 +650,6 @@ class UsersView(UserAppView):
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasPermissionAllDecorator('hg.admin')
|
@HasPermissionAllDecorator('hg.admin')
|
||||||
@CSRFRequired()
|
@CSRFRequired()
|
||||||
@view_config(
|
|
||||||
route_name='user_enable_force_password_reset', request_method='POST',
|
|
||||||
renderer='rhodecode:templates/admin/users/user_edit.mako')
|
|
||||||
def user_enable_force_password_reset(self):
|
def user_enable_force_password_reset(self):
|
||||||
_ = self.request.translate
|
_ = self.request.translate
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
|
|
@ -711,9 +676,6 @@ class UsersView(UserAppView):
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasPermissionAllDecorator('hg.admin')
|
@HasPermissionAllDecorator('hg.admin')
|
||||||
@CSRFRequired()
|
@CSRFRequired()
|
||||||
@view_config(
|
|
||||||
route_name='user_disable_force_password_reset', request_method='POST',
|
|
||||||
renderer='rhodecode:templates/admin/users/user_edit.mako')
|
|
||||||
def user_disable_force_password_reset(self):
|
def user_disable_force_password_reset(self):
|
||||||
_ = self.request.translate
|
_ = self.request.translate
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
|
|
@ -741,9 +703,6 @@ class UsersView(UserAppView):
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasPermissionAllDecorator('hg.admin')
|
@HasPermissionAllDecorator('hg.admin')
|
||||||
@CSRFRequired()
|
@CSRFRequired()
|
||||||
@view_config(
|
|
||||||
route_name='user_notice_dismiss', request_method='POST',
|
|
||||||
renderer='json_ext', xhr=True)
|
|
||||||
def user_notice_dismiss(self):
|
def user_notice_dismiss(self):
|
||||||
_ = self.request.translate
|
_ = self.request.translate
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
|
|
@ -767,9 +726,6 @@ class UsersView(UserAppView):
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasPermissionAllDecorator('hg.admin')
|
@HasPermissionAllDecorator('hg.admin')
|
||||||
@CSRFRequired()
|
@CSRFRequired()
|
||||||
@view_config(
|
|
||||||
route_name='user_create_personal_repo_group', request_method='POST',
|
|
||||||
renderer='rhodecode:templates/admin/users/user_edit.mako')
|
|
||||||
def user_create_personal_repo_group(self):
|
def user_create_personal_repo_group(self):
|
||||||
"""
|
"""
|
||||||
Create personal repository group for this user
|
Create personal repository group for this user
|
||||||
|
|
@ -821,9 +777,6 @@ class UsersView(UserAppView):
|
||||||
|
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasPermissionAllDecorator('hg.admin')
|
@HasPermissionAllDecorator('hg.admin')
|
||||||
@view_config(
|
|
||||||
route_name='edit_user_auth_tokens', request_method='GET',
|
|
||||||
renderer='rhodecode:templates/admin/users/user_edit.mako')
|
|
||||||
def auth_tokens(self):
|
def auth_tokens(self):
|
||||||
_ = self.request.translate
|
_ = self.request.translate
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
|
|
@ -843,9 +796,6 @@ class UsersView(UserAppView):
|
||||||
|
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasPermissionAllDecorator('hg.admin')
|
@HasPermissionAllDecorator('hg.admin')
|
||||||
@view_config(
|
|
||||||
route_name='edit_user_auth_tokens_view', request_method='POST',
|
|
||||||
renderer='json_ext', xhr=True)
|
|
||||||
def auth_tokens_view(self):
|
def auth_tokens_view(self):
|
||||||
_ = self.request.translate
|
_ = self.request.translate
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
|
|
@ -867,8 +817,6 @@ class UsersView(UserAppView):
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasPermissionAllDecorator('hg.admin')
|
@HasPermissionAllDecorator('hg.admin')
|
||||||
@CSRFRequired()
|
@CSRFRequired()
|
||||||
@view_config(
|
|
||||||
route_name='edit_user_auth_tokens_add', request_method='POST')
|
|
||||||
def auth_tokens_add(self):
|
def auth_tokens_add(self):
|
||||||
_ = self.request.translate
|
_ = self.request.translate
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
|
|
@ -899,8 +847,6 @@ class UsersView(UserAppView):
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasPermissionAllDecorator('hg.admin')
|
@HasPermissionAllDecorator('hg.admin')
|
||||||
@CSRFRequired()
|
@CSRFRequired()
|
||||||
@view_config(
|
|
||||||
route_name='edit_user_auth_tokens_delete', request_method='POST')
|
|
||||||
def auth_tokens_delete(self):
|
def auth_tokens_delete(self):
|
||||||
_ = self.request.translate
|
_ = self.request.translate
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
|
|
@ -928,9 +874,6 @@ class UsersView(UserAppView):
|
||||||
|
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasPermissionAllDecorator('hg.admin')
|
@HasPermissionAllDecorator('hg.admin')
|
||||||
@view_config(
|
|
||||||
route_name='edit_user_ssh_keys', request_method='GET',
|
|
||||||
renderer='rhodecode:templates/admin/users/user_edit.mako')
|
|
||||||
def ssh_keys(self):
|
def ssh_keys(self):
|
||||||
_ = self.request.translate
|
_ = self.request.translate
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
|
|
@ -943,9 +886,6 @@ class UsersView(UserAppView):
|
||||||
|
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasPermissionAllDecorator('hg.admin')
|
@HasPermissionAllDecorator('hg.admin')
|
||||||
@view_config(
|
|
||||||
route_name='edit_user_ssh_keys_generate_keypair', request_method='GET',
|
|
||||||
renderer='rhodecode:templates/admin/users/user_edit.mako')
|
|
||||||
def ssh_keys_generate_keypair(self):
|
def ssh_keys_generate_keypair(self):
|
||||||
_ = self.request.translate
|
_ = self.request.translate
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
|
|
@ -964,8 +904,6 @@ class UsersView(UserAppView):
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasPermissionAllDecorator('hg.admin')
|
@HasPermissionAllDecorator('hg.admin')
|
||||||
@CSRFRequired()
|
@CSRFRequired()
|
||||||
@view_config(
|
|
||||||
route_name='edit_user_ssh_keys_add', request_method='POST')
|
|
||||||
def ssh_keys_add(self):
|
def ssh_keys_add(self):
|
||||||
_ = self.request.translate
|
_ = self.request.translate
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
|
|
@ -1017,8 +955,6 @@ class UsersView(UserAppView):
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasPermissionAllDecorator('hg.admin')
|
@HasPermissionAllDecorator('hg.admin')
|
||||||
@CSRFRequired()
|
@CSRFRequired()
|
||||||
@view_config(
|
|
||||||
route_name='edit_user_ssh_keys_delete', request_method='POST')
|
|
||||||
def ssh_keys_delete(self):
|
def ssh_keys_delete(self):
|
||||||
_ = self.request.translate
|
_ = self.request.translate
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
|
|
@ -1048,9 +984,6 @@ class UsersView(UserAppView):
|
||||||
|
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasPermissionAllDecorator('hg.admin')
|
@HasPermissionAllDecorator('hg.admin')
|
||||||
@view_config(
|
|
||||||
route_name='edit_user_emails', request_method='GET',
|
|
||||||
renderer='rhodecode:templates/admin/users/user_edit.mako')
|
|
||||||
def emails(self):
|
def emails(self):
|
||||||
_ = self.request.translate
|
_ = self.request.translate
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
|
|
@ -1065,8 +998,6 @@ class UsersView(UserAppView):
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasPermissionAllDecorator('hg.admin')
|
@HasPermissionAllDecorator('hg.admin')
|
||||||
@CSRFRequired()
|
@CSRFRequired()
|
||||||
@view_config(
|
|
||||||
route_name='edit_user_emails_add', request_method='POST')
|
|
||||||
def emails_add(self):
|
def emails_add(self):
|
||||||
_ = self.request.translate
|
_ = self.request.translate
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
|
|
@ -1105,8 +1036,6 @@ class UsersView(UserAppView):
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasPermissionAllDecorator('hg.admin')
|
@HasPermissionAllDecorator('hg.admin')
|
||||||
@CSRFRequired()
|
@CSRFRequired()
|
||||||
@view_config(
|
|
||||||
route_name='edit_user_emails_delete', request_method='POST')
|
|
||||||
def emails_delete(self):
|
def emails_delete(self):
|
||||||
_ = self.request.translate
|
_ = self.request.translate
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
|
|
@ -1131,9 +1060,6 @@ class UsersView(UserAppView):
|
||||||
|
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasPermissionAllDecorator('hg.admin')
|
@HasPermissionAllDecorator('hg.admin')
|
||||||
@view_config(
|
|
||||||
route_name='edit_user_ips', request_method='GET',
|
|
||||||
renderer='rhodecode:templates/admin/users/user_edit.mako')
|
|
||||||
def ips(self):
|
def ips(self):
|
||||||
_ = self.request.translate
|
_ = self.request.translate
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
|
|
@ -1152,8 +1078,6 @@ class UsersView(UserAppView):
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasPermissionAllDecorator('hg.admin')
|
@HasPermissionAllDecorator('hg.admin')
|
||||||
@CSRFRequired()
|
@CSRFRequired()
|
||||||
@view_config(
|
|
||||||
route_name='edit_user_ips_add', request_method='POST')
|
|
||||||
# NOTE(marcink): this view is allowed for default users, as we can
|
# NOTE(marcink): this view is allowed for default users, as we can
|
||||||
# edit their IP white list
|
# edit their IP white list
|
||||||
def ips_add(self):
|
def ips_add(self):
|
||||||
|
|
@ -1207,8 +1131,6 @@ class UsersView(UserAppView):
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasPermissionAllDecorator('hg.admin')
|
@HasPermissionAllDecorator('hg.admin')
|
||||||
@CSRFRequired()
|
@CSRFRequired()
|
||||||
@view_config(
|
|
||||||
route_name='edit_user_ips_delete', request_method='POST')
|
|
||||||
# NOTE(marcink): this view is allowed for default users, as we can
|
# NOTE(marcink): this view is allowed for default users, as we can
|
||||||
# edit their IP white list
|
# edit their IP white list
|
||||||
def ips_delete(self):
|
def ips_delete(self):
|
||||||
|
|
@ -1236,9 +1158,6 @@ class UsersView(UserAppView):
|
||||||
|
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasPermissionAllDecorator('hg.admin')
|
@HasPermissionAllDecorator('hg.admin')
|
||||||
@view_config(
|
|
||||||
route_name='edit_user_groups_management', request_method='GET',
|
|
||||||
renderer='rhodecode:templates/admin/users/user_edit.mako')
|
|
||||||
def groups_management(self):
|
def groups_management(self):
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
c.user = self.db_user
|
c.user = self.db_user
|
||||||
|
|
@ -1254,8 +1173,6 @@ class UsersView(UserAppView):
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasPermissionAllDecorator('hg.admin')
|
@HasPermissionAllDecorator('hg.admin')
|
||||||
@CSRFRequired()
|
@CSRFRequired()
|
||||||
@view_config(
|
|
||||||
route_name='edit_user_groups_management_updates', request_method='POST')
|
|
||||||
def groups_management_updates(self):
|
def groups_management_updates(self):
|
||||||
_ = self.request.translate
|
_ = self.request.translate
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
|
|
@ -1299,9 +1216,6 @@ class UsersView(UserAppView):
|
||||||
|
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasPermissionAllDecorator('hg.admin')
|
@HasPermissionAllDecorator('hg.admin')
|
||||||
@view_config(
|
|
||||||
route_name='edit_user_audit_logs', request_method='GET',
|
|
||||||
renderer='rhodecode:templates/admin/users/user_edit.mako')
|
|
||||||
def user_audit_logs(self):
|
def user_audit_logs(self):
|
||||||
_ = self.request.translate
|
_ = self.request.translate
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
|
|
@ -1329,9 +1243,6 @@ class UsersView(UserAppView):
|
||||||
|
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasPermissionAllDecorator('hg.admin')
|
@HasPermissionAllDecorator('hg.admin')
|
||||||
@view_config(
|
|
||||||
route_name='edit_user_audit_logs_download', request_method='GET',
|
|
||||||
renderer='string')
|
|
||||||
def user_audit_logs_download(self):
|
def user_audit_logs_download(self):
|
||||||
_ = self.request.translate
|
_ = self.request.translate
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
|
|
@ -1352,9 +1263,6 @@ class UsersView(UserAppView):
|
||||||
|
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasPermissionAllDecorator('hg.admin')
|
@HasPermissionAllDecorator('hg.admin')
|
||||||
@view_config(
|
|
||||||
route_name='edit_user_perms_summary', request_method='GET',
|
|
||||||
renderer='rhodecode:templates/admin/users/user_edit.mako')
|
|
||||||
def user_perms_summary(self):
|
def user_perms_summary(self):
|
||||||
_ = self.request.translate
|
_ = self.request.translate
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
|
|
@ -1367,9 +1275,6 @@ class UsersView(UserAppView):
|
||||||
|
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasPermissionAllDecorator('hg.admin')
|
@HasPermissionAllDecorator('hg.admin')
|
||||||
@view_config(
|
|
||||||
route_name='edit_user_perms_summary_json', request_method='GET',
|
|
||||||
renderer='json_ext')
|
|
||||||
def user_perms_summary_json(self):
|
def user_perms_summary_json(self):
|
||||||
self.load_default_context()
|
self.load_default_context()
|
||||||
perm_user = self.db_user.AuthUser(ip_addr=self.request.remote_addr)
|
perm_user = self.db_user.AuthUser(ip_addr=self.request.remote_addr)
|
||||||
|
|
@ -1378,9 +1283,6 @@ class UsersView(UserAppView):
|
||||||
|
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasPermissionAllDecorator('hg.admin')
|
@HasPermissionAllDecorator('hg.admin')
|
||||||
@view_config(
|
|
||||||
route_name='edit_user_caches', request_method='GET',
|
|
||||||
renderer='rhodecode:templates/admin/users/user_edit.mako')
|
|
||||||
def user_caches(self):
|
def user_caches(self):
|
||||||
_ = self.request.translate
|
_ = self.request.translate
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
|
|
@ -1399,8 +1301,6 @@ class UsersView(UserAppView):
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasPermissionAllDecorator('hg.admin')
|
@HasPermissionAllDecorator('hg.admin')
|
||||||
@CSRFRequired()
|
@CSRFRequired()
|
||||||
@view_config(
|
|
||||||
route_name='edit_user_caches_update', request_method='POST')
|
|
||||||
def user_caches_update(self):
|
def user_caches_update(self):
|
||||||
_ = self.request.translate
|
_ = self.request.translate
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
|
|
|
||||||
|
|
@ -67,6 +67,8 @@ def maybe_create_history_store(event):
|
||||||
|
|
||||||
|
|
||||||
def includeme(config):
|
def includeme(config):
|
||||||
|
from rhodecode.apps.channelstream.views import ChannelstreamView
|
||||||
|
|
||||||
settings = config.registry.settings
|
settings = config.registry.settings
|
||||||
PLUGIN_DEFINITION['config']['enabled'] = asbool(
|
PLUGIN_DEFINITION['config']['enabled'] = asbool(
|
||||||
settings.get('channelstream.enabled'))
|
settings.get('channelstream.enabled'))
|
||||||
|
|
@ -85,12 +87,20 @@ def includeme(config):
|
||||||
config.add_route(
|
config.add_route(
|
||||||
name='channelstream_connect',
|
name='channelstream_connect',
|
||||||
pattern=ADMIN_PREFIX + '/channelstream/connect')
|
pattern=ADMIN_PREFIX + '/channelstream/connect')
|
||||||
|
config.add_view(
|
||||||
|
ChannelstreamView,
|
||||||
|
attr='channelstream_connect',
|
||||||
|
route_name='channelstream_connect', renderer='json_ext')
|
||||||
|
|
||||||
config.add_route(
|
config.add_route(
|
||||||
name='channelstream_subscribe',
|
name='channelstream_subscribe',
|
||||||
pattern=ADMIN_PREFIX + '/channelstream/subscribe')
|
pattern=ADMIN_PREFIX + '/channelstream/subscribe')
|
||||||
|
config.add_view(
|
||||||
|
ChannelstreamView,
|
||||||
|
attr='channelstream_subscribe',
|
||||||
|
route_name='channelstream_subscribe', renderer='json_ext')
|
||||||
|
|
||||||
config.add_route(
|
config.add_route(
|
||||||
name='channelstream_proxy',
|
name='channelstream_proxy',
|
||||||
pattern=settings.get('channelstream.proxy_path') or '/_channelstream')
|
pattern=settings.get('channelstream.proxy_path') or '/_channelstream')
|
||||||
|
|
||||||
# Scan module for configuration decorators.
|
|
||||||
config.scan('.views', ignore='.tests')
|
|
||||||
|
|
|
||||||
|
|
@ -21,7 +21,7 @@
|
||||||
import logging
|
import logging
|
||||||
import uuid
|
import uuid
|
||||||
|
|
||||||
from pyramid.view import view_config
|
|
||||||
from pyramid.httpexceptions import HTTPBadRequest, HTTPForbidden, HTTPBadGateway
|
from pyramid.httpexceptions import HTTPBadRequest, HTTPForbidden, HTTPBadGateway
|
||||||
|
|
||||||
from rhodecode.apps._base import BaseAppView
|
from rhodecode.apps._base import BaseAppView
|
||||||
|
|
@ -54,8 +54,7 @@ class ChannelstreamView(BaseAppView):
|
||||||
return c
|
return c
|
||||||
|
|
||||||
@NotAnonymous()
|
@NotAnonymous()
|
||||||
@view_config(route_name='channelstream_connect', renderer='json_ext')
|
def channelstream_connect(self):
|
||||||
def connect(self):
|
|
||||||
""" handle authorization of users trying to connect """
|
""" handle authorization of users trying to connect """
|
||||||
|
|
||||||
self.load_default_context()
|
self.load_default_context()
|
||||||
|
|
@ -132,8 +131,7 @@ class ChannelstreamView(BaseAppView):
|
||||||
return connect_result
|
return connect_result
|
||||||
|
|
||||||
@NotAnonymous()
|
@NotAnonymous()
|
||||||
@view_config(route_name='channelstream_subscribe', renderer='json_ext')
|
def channelstream_subscribe(self):
|
||||||
def subscribe(self):
|
|
||||||
""" can be used to subscribe specific connection to other channels """
|
""" can be used to subscribe specific connection to other channels """
|
||||||
self.load_default_context()
|
self.load_default_context()
|
||||||
try:
|
try:
|
||||||
|
|
|
||||||
|
|
@ -35,6 +35,8 @@ class DebugStylePredicate(object):
|
||||||
|
|
||||||
|
|
||||||
def includeme(config):
|
def includeme(config):
|
||||||
|
from rhodecode.apps.debug_style.views import DebugStyleView
|
||||||
|
|
||||||
config.add_route_predicate(
|
config.add_route_predicate(
|
||||||
'debug_style', DebugStylePredicate)
|
'debug_style', DebugStylePredicate)
|
||||||
|
|
||||||
|
|
@ -42,18 +44,38 @@ def includeme(config):
|
||||||
name='debug_style_home',
|
name='debug_style_home',
|
||||||
pattern=ADMIN_PREFIX + '/debug_style',
|
pattern=ADMIN_PREFIX + '/debug_style',
|
||||||
debug_style=True)
|
debug_style=True)
|
||||||
|
config.add_view(
|
||||||
|
DebugStyleView,
|
||||||
|
attr='index',
|
||||||
|
route_name='debug_style_home', request_method='GET',
|
||||||
|
renderer=None)
|
||||||
|
|
||||||
config.add_route(
|
config.add_route(
|
||||||
name='debug_style_email',
|
name='debug_style_email',
|
||||||
pattern=ADMIN_PREFIX + '/debug_style/email/{email_id}',
|
pattern=ADMIN_PREFIX + '/debug_style/email/{email_id}',
|
||||||
debug_style=True)
|
debug_style=True)
|
||||||
|
config.add_view(
|
||||||
|
DebugStyleView,
|
||||||
|
attr='render_email',
|
||||||
|
route_name='debug_style_email', request_method='GET',
|
||||||
|
renderer=None)
|
||||||
|
|
||||||
config.add_route(
|
config.add_route(
|
||||||
name='debug_style_email_plain_rendered',
|
name='debug_style_email_plain_rendered',
|
||||||
pattern=ADMIN_PREFIX + '/debug_style/email-rendered/{email_id}',
|
pattern=ADMIN_PREFIX + '/debug_style/email-rendered/{email_id}',
|
||||||
debug_style=True)
|
debug_style=True)
|
||||||
|
config.add_view(
|
||||||
|
DebugStyleView,
|
||||||
|
attr='render_email',
|
||||||
|
route_name='debug_style_email_plain_rendered', request_method='GET',
|
||||||
|
renderer=None)
|
||||||
|
|
||||||
config.add_route(
|
config.add_route(
|
||||||
name='debug_style_template',
|
name='debug_style_template',
|
||||||
pattern=ADMIN_PREFIX + '/debug_style/t/{t_path}',
|
pattern=ADMIN_PREFIX + '/debug_style/t/{t_path}',
|
||||||
debug_style=True)
|
debug_style=True)
|
||||||
|
config.add_view(
|
||||||
# Scan module for configuration decorators.
|
DebugStyleView,
|
||||||
config.scan('.views', ignore='.tests')
|
attr='template',
|
||||||
|
route_name='debug_style_template', request_method='GET',
|
||||||
|
renderer=None)
|
||||||
|
|
|
||||||
|
|
@ -22,7 +22,6 @@ import os
|
||||||
import logging
|
import logging
|
||||||
import datetime
|
import datetime
|
||||||
|
|
||||||
from pyramid.view import view_config
|
|
||||||
from pyramid.renderers import render_to_response
|
from pyramid.renderers import render_to_response
|
||||||
from rhodecode.apps._base import BaseAppView
|
from rhodecode.apps._base import BaseAppView
|
||||||
from rhodecode.lib.celerylib import run_task, tasks
|
from rhodecode.lib.celerylib import run_task, tasks
|
||||||
|
|
@ -37,12 +36,8 @@ class DebugStyleView(BaseAppView):
|
||||||
|
|
||||||
def load_default_context(self):
|
def load_default_context(self):
|
||||||
c = self._get_local_tmpl_context()
|
c = self._get_local_tmpl_context()
|
||||||
|
|
||||||
return c
|
return c
|
||||||
|
|
||||||
@view_config(
|
|
||||||
route_name='debug_style_home', request_method='GET',
|
|
||||||
renderer=None)
|
|
||||||
def index(self):
|
def index(self):
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
c.active = 'index'
|
c.active = 'index'
|
||||||
|
|
@ -51,12 +46,6 @@ class DebugStyleView(BaseAppView):
|
||||||
'debug_style/index.html', self._get_template_context(c),
|
'debug_style/index.html', self._get_template_context(c),
|
||||||
request=self.request)
|
request=self.request)
|
||||||
|
|
||||||
@view_config(
|
|
||||||
route_name='debug_style_email', request_method='GET',
|
|
||||||
renderer=None)
|
|
||||||
@view_config(
|
|
||||||
route_name='debug_style_email_plain_rendered', request_method='GET',
|
|
||||||
renderer=None)
|
|
||||||
def render_email(self):
|
def render_email(self):
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
email_id = self.request.matchdict['email_id']
|
email_id = self.request.matchdict['email_id']
|
||||||
|
|
@ -457,9 +446,6 @@ users: description edit fixes
|
||||||
template, self._get_template_context(c),
|
template, self._get_template_context(c),
|
||||||
request=self.request)
|
request=self.request)
|
||||||
|
|
||||||
@view_config(
|
|
||||||
route_name='debug_style_template', request_method='GET',
|
|
||||||
renderer=None)
|
|
||||||
def template(self):
|
def template(self):
|
||||||
t_path = self.request.matchdict['t_path']
|
t_path = self.request.matchdict['t_path']
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
|
|
@ -483,4 +469,3 @@ users: description edit fixes
|
||||||
return render_to_response(
|
return render_to_response(
|
||||||
'debug_style/' + t_path, self._get_template_context(c),
|
'debug_style/' + t_path, self._get_template_context(c),
|
||||||
request=self.request)
|
request=self.request)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -35,18 +35,31 @@ def _sanitize_settings_and_apply_defaults(settings):
|
||||||
|
|
||||||
|
|
||||||
def includeme(config):
|
def includeme(config):
|
||||||
|
from rhodecode.apps.file_store.views import FileStoreView
|
||||||
|
|
||||||
settings = config.registry.settings
|
settings = config.registry.settings
|
||||||
_sanitize_settings_and_apply_defaults(settings)
|
_sanitize_settings_and_apply_defaults(settings)
|
||||||
|
|
||||||
config.add_route(
|
config.add_route(
|
||||||
name='upload_file',
|
name='upload_file',
|
||||||
pattern='/_file_store/upload')
|
pattern='/_file_store/upload')
|
||||||
|
config.add_view(
|
||||||
|
FileStoreView,
|
||||||
|
attr='upload_file',
|
||||||
|
route_name='upload_file', request_method='POST', renderer='json_ext')
|
||||||
|
|
||||||
config.add_route(
|
config.add_route(
|
||||||
name='download_file',
|
name='download_file',
|
||||||
pattern='/_file_store/download/{fid:.*}')
|
pattern='/_file_store/download/{fid:.*}')
|
||||||
|
config.add_view(
|
||||||
|
FileStoreView,
|
||||||
|
attr='download_file',
|
||||||
|
route_name='download_file')
|
||||||
|
|
||||||
config.add_route(
|
config.add_route(
|
||||||
name='download_file_by_token',
|
name='download_file_by_token',
|
||||||
pattern='/_file_store/token-download/{_auth_token}/{fid:.*}')
|
pattern='/_file_store/token-download/{_auth_token}/{fid:.*}')
|
||||||
|
config.add_view(
|
||||||
# Scan module for configuration decorators.
|
FileStoreView,
|
||||||
config.scan('.views', ignore='.tests')
|
attr='download_file_by_token',
|
||||||
|
route_name='download_file_by_token')
|
||||||
|
|
|
||||||
|
|
@ -19,7 +19,7 @@
|
||||||
# and proprietary license terms, please see https://rhodecode.com/licenses/
|
# and proprietary license terms, please see https://rhodecode.com/licenses/
|
||||||
import logging
|
import logging
|
||||||
|
|
||||||
from pyramid.view import view_config
|
|
||||||
from pyramid.response import FileResponse
|
from pyramid.response import FileResponse
|
||||||
from pyramid.httpexceptions import HTTPFound, HTTPNotFound
|
from pyramid.httpexceptions import HTTPFound, HTTPNotFound
|
||||||
|
|
||||||
|
|
@ -128,7 +128,6 @@ class FileStoreView(BaseAppView):
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@NotAnonymous()
|
@NotAnonymous()
|
||||||
@CSRFRequired()
|
@CSRFRequired()
|
||||||
@view_config(route_name='upload_file', request_method='POST', renderer='json_ext')
|
|
||||||
def upload_file(self):
|
def upload_file(self):
|
||||||
self.load_default_context()
|
self.load_default_context()
|
||||||
file_obj = self.request.POST.get(self.upload_key)
|
file_obj = self.request.POST.get(self.upload_key)
|
||||||
|
|
@ -182,7 +181,6 @@ class FileStoreView(BaseAppView):
|
||||||
'access_path': h.route_path('download_file', fid=store_uid)}
|
'access_path': h.route_path('download_file', fid=store_uid)}
|
||||||
|
|
||||||
# ACL is checked by scopes, if no scope the file is accessible to all
|
# ACL is checked by scopes, if no scope the file is accessible to all
|
||||||
@view_config(route_name='download_file')
|
|
||||||
def download_file(self):
|
def download_file(self):
|
||||||
self.load_default_context()
|
self.load_default_context()
|
||||||
file_uid = self.request.matchdict['fid']
|
file_uid = self.request.matchdict['fid']
|
||||||
|
|
@ -192,7 +190,6 @@ class FileStoreView(BaseAppView):
|
||||||
# in addition to @LoginRequired ACL is checked by scopes
|
# in addition to @LoginRequired ACL is checked by scopes
|
||||||
@LoginRequired(auth_token_access=[UserApiKeys.ROLE_ARTIFACT_DOWNLOAD])
|
@LoginRequired(auth_token_access=[UserApiKeys.ROLE_ARTIFACT_DOWNLOAD])
|
||||||
@NotAnonymous()
|
@NotAnonymous()
|
||||||
@view_config(route_name='download_file_by_token')
|
|
||||||
def download_file_by_token(self):
|
def download_file_by_token(self):
|
||||||
"""
|
"""
|
||||||
Special view that allows to access the download file by special URL that
|
Special view that allows to access the download file by special URL that
|
||||||
|
|
|
||||||
|
|
@ -21,42 +21,100 @@ from rhodecode.apps._base import ADMIN_PREFIX
|
||||||
|
|
||||||
|
|
||||||
def admin_routes(config):
|
def admin_routes(config):
|
||||||
|
from rhodecode.apps.gist.views import GistView
|
||||||
|
|
||||||
config.add_route(
|
config.add_route(
|
||||||
name='gists_show', pattern='/gists')
|
name='gists_show', pattern='/gists')
|
||||||
|
config.add_view(
|
||||||
|
GistView,
|
||||||
|
attr='gist_show_all',
|
||||||
|
route_name='gists_show', request_method='GET',
|
||||||
|
renderer='rhodecode:templates/admin/gists/gist_index.mako')
|
||||||
|
|
||||||
config.add_route(
|
config.add_route(
|
||||||
name='gists_new', pattern='/gists/new')
|
name='gists_new', pattern='/gists/new')
|
||||||
|
config.add_view(
|
||||||
|
GistView,
|
||||||
|
attr='gist_new',
|
||||||
|
route_name='gists_new', request_method='GET',
|
||||||
|
renderer='rhodecode:templates/admin/gists/gist_new.mako')
|
||||||
|
|
||||||
config.add_route(
|
config.add_route(
|
||||||
name='gists_create', pattern='/gists/create')
|
name='gists_create', pattern='/gists/create')
|
||||||
|
config.add_view(
|
||||||
|
GistView,
|
||||||
|
attr='gist_create',
|
||||||
|
route_name='gists_create', request_method='POST',
|
||||||
|
renderer='rhodecode:templates/admin/gists/gist_new.mako')
|
||||||
|
|
||||||
config.add_route(
|
config.add_route(
|
||||||
name='gist_show', pattern='/gists/{gist_id}')
|
name='gist_show', pattern='/gists/{gist_id}')
|
||||||
|
config.add_view(
|
||||||
|
GistView,
|
||||||
|
attr='gist_show',
|
||||||
|
route_name='gist_show', request_method='GET',
|
||||||
|
renderer='rhodecode:templates/admin/gists/gist_show.mako')
|
||||||
|
|
||||||
|
config.add_route(
|
||||||
|
name='gist_show_rev',
|
||||||
|
pattern='/gists/{gist_id}/rev/{revision}')
|
||||||
|
|
||||||
|
config.add_view(
|
||||||
|
GistView,
|
||||||
|
attr='gist_show',
|
||||||
|
route_name='gist_show_rev', request_method='GET',
|
||||||
|
renderer='rhodecode:templates/admin/gists/gist_show.mako')
|
||||||
|
|
||||||
|
config.add_route(
|
||||||
|
name='gist_show_formatted',
|
||||||
|
pattern='/gists/{gist_id}/rev/{revision}/{format}')
|
||||||
|
config.add_view(
|
||||||
|
GistView,
|
||||||
|
attr='gist_show',
|
||||||
|
route_name='gist_show_formatted', request_method='GET',
|
||||||
|
renderer=None)
|
||||||
|
|
||||||
|
config.add_route(
|
||||||
|
name='gist_show_formatted_path',
|
||||||
|
pattern='/gists/{gist_id}/rev/{revision}/{format}/{f_path:.*}')
|
||||||
|
config.add_view(
|
||||||
|
GistView,
|
||||||
|
attr='gist_show',
|
||||||
|
route_name='gist_show_formatted_path', request_method='GET',
|
||||||
|
renderer=None)
|
||||||
|
|
||||||
config.add_route(
|
config.add_route(
|
||||||
name='gist_delete', pattern='/gists/{gist_id}/delete')
|
name='gist_delete', pattern='/gists/{gist_id}/delete')
|
||||||
|
config.add_view(
|
||||||
|
GistView,
|
||||||
|
attr='gist_delete',
|
||||||
|
route_name='gist_delete', request_method='POST')
|
||||||
|
|
||||||
config.add_route(
|
config.add_route(
|
||||||
name='gist_edit', pattern='/gists/{gist_id}/edit')
|
name='gist_edit', pattern='/gists/{gist_id}/edit')
|
||||||
|
config.add_view(
|
||||||
|
GistView,
|
||||||
|
attr='gist_edit',
|
||||||
|
route_name='gist_edit', request_method='GET',
|
||||||
|
renderer='rhodecode:templates/admin/gists/gist_edit.mako')
|
||||||
|
|
||||||
|
config.add_route(
|
||||||
|
name='gist_update', pattern='/gists/{gist_id}/update')
|
||||||
|
config.add_view(
|
||||||
|
GistView,
|
||||||
|
attr='gist_update',
|
||||||
|
route_name='gist_update', request_method='POST',
|
||||||
|
renderer='rhodecode:templates/admin/gists/gist_edit.mako')
|
||||||
|
|
||||||
config.add_route(
|
config.add_route(
|
||||||
name='gist_edit_check_revision',
|
name='gist_edit_check_revision',
|
||||||
pattern='/gists/{gist_id}/edit/check_revision')
|
pattern='/gists/{gist_id}/edit/check_revision')
|
||||||
|
config.add_view(
|
||||||
config.add_route(
|
GistView,
|
||||||
name='gist_update', pattern='/gists/{gist_id}/update')
|
attr='gist_edit_check_revision',
|
||||||
|
route_name='gist_edit_check_revision', request_method='GET',
|
||||||
config.add_route(
|
renderer='json_ext')
|
||||||
name='gist_show_rev',
|
|
||||||
pattern='/gists/{gist_id}/{revision}')
|
|
||||||
config.add_route(
|
|
||||||
name='gist_show_formatted',
|
|
||||||
pattern='/gists/{gist_id}/{revision}/{format}')
|
|
||||||
|
|
||||||
config.add_route(
|
|
||||||
name='gist_show_formatted_path',
|
|
||||||
pattern='/gists/{gist_id}/{revision}/{format}/{f_path:.*}')
|
|
||||||
|
|
||||||
|
|
||||||
def includeme(config):
|
def includeme(config):
|
||||||
config.include(admin_routes, route_prefix=ADMIN_PREFIX)
|
config.include(admin_routes, route_prefix=ADMIN_PREFIX)
|
||||||
# Scan module for configuration decorators.
|
|
||||||
config.scan('.views', ignore='.tests')
|
|
||||||
|
|
|
||||||
|
|
@ -43,9 +43,9 @@ def route_path(name, params=None, **kwargs):
|
||||||
'gist_edit': ADMIN_PREFIX + '/gists/{gist_id}/edit',
|
'gist_edit': ADMIN_PREFIX + '/gists/{gist_id}/edit',
|
||||||
'gist_edit_check_revision': ADMIN_PREFIX + '/gists/{gist_id}/edit/check_revision',
|
'gist_edit_check_revision': ADMIN_PREFIX + '/gists/{gist_id}/edit/check_revision',
|
||||||
'gist_update': ADMIN_PREFIX + '/gists/{gist_id}/update',
|
'gist_update': ADMIN_PREFIX + '/gists/{gist_id}/update',
|
||||||
'gist_show_rev': ADMIN_PREFIX + '/gists/{gist_id}/{revision}',
|
'gist_show_rev': ADMIN_PREFIX + '/gists/{gist_id}/rev/{revision}',
|
||||||
'gist_show_formatted': ADMIN_PREFIX + '/gists/{gist_id}/{revision}/{format}',
|
'gist_show_formatted': ADMIN_PREFIX + '/gists/{gist_id}/rev/{revision}/{format}',
|
||||||
'gist_show_formatted_path': ADMIN_PREFIX + '/gists/{gist_id}/{revision}/{format}/{f_path}',
|
'gist_show_formatted_path': ADMIN_PREFIX + '/gists/{gist_id}/rev/{revision}/{format}/{f_path}',
|
||||||
|
|
||||||
}[name].format(**kwargs)
|
}[name].format(**kwargs)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -26,7 +26,6 @@ import formencode.htmlfill
|
||||||
import peppercorn
|
import peppercorn
|
||||||
|
|
||||||
from pyramid.httpexceptions import HTTPNotFound, HTTPFound, HTTPBadRequest
|
from pyramid.httpexceptions import HTTPNotFound, HTTPFound, HTTPBadRequest
|
||||||
from pyramid.view import view_config
|
|
||||||
from pyramid.renderers import render
|
from pyramid.renderers import render
|
||||||
from pyramid.response import Response
|
from pyramid.response import Response
|
||||||
|
|
||||||
|
|
@ -70,9 +69,6 @@ class GistView(BaseAppView):
|
||||||
return c
|
return c
|
||||||
|
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@view_config(
|
|
||||||
route_name='gists_show', request_method='GET',
|
|
||||||
renderer='rhodecode:templates/admin/gists/gist_index.mako')
|
|
||||||
def gist_show_all(self):
|
def gist_show_all(self):
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
|
|
||||||
|
|
@ -134,9 +130,6 @@ class GistView(BaseAppView):
|
||||||
|
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@NotAnonymous()
|
@NotAnonymous()
|
||||||
@view_config(
|
|
||||||
route_name='gists_new', request_method='GET',
|
|
||||||
renderer='rhodecode:templates/admin/gists/gist_new.mako')
|
|
||||||
def gist_new(self):
|
def gist_new(self):
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
return self._get_template_context(c)
|
return self._get_template_context(c)
|
||||||
|
|
@ -144,9 +137,6 @@ class GistView(BaseAppView):
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@NotAnonymous()
|
@NotAnonymous()
|
||||||
@CSRFRequired()
|
@CSRFRequired()
|
||||||
@view_config(
|
|
||||||
route_name='gists_create', request_method='POST',
|
|
||||||
renderer='rhodecode:templates/admin/gists/gist_new.mako')
|
|
||||||
def gist_create(self):
|
def gist_create(self):
|
||||||
_ = self.request.translate
|
_ = self.request.translate
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
|
|
@ -222,8 +212,6 @@ class GistView(BaseAppView):
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@NotAnonymous()
|
@NotAnonymous()
|
||||||
@CSRFRequired()
|
@CSRFRequired()
|
||||||
@view_config(
|
|
||||||
route_name='gist_delete', request_method='POST')
|
|
||||||
def gist_delete(self):
|
def gist_delete(self):
|
||||||
_ = self.request.translate
|
_ = self.request.translate
|
||||||
gist_id = self.request.matchdict['gist_id']
|
gist_id = self.request.matchdict['gist_id']
|
||||||
|
|
@ -263,18 +251,6 @@ class GistView(BaseAppView):
|
||||||
return gist
|
return gist
|
||||||
|
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@view_config(
|
|
||||||
route_name='gist_show', request_method='GET',
|
|
||||||
renderer='rhodecode:templates/admin/gists/gist_show.mako')
|
|
||||||
@view_config(
|
|
||||||
route_name='gist_show_rev', request_method='GET',
|
|
||||||
renderer='rhodecode:templates/admin/gists/gist_show.mako')
|
|
||||||
@view_config(
|
|
||||||
route_name='gist_show_formatted', request_method='GET',
|
|
||||||
renderer=None)
|
|
||||||
@view_config(
|
|
||||||
route_name='gist_show_formatted_path', request_method='GET',
|
|
||||||
renderer=None)
|
|
||||||
def gist_show(self):
|
def gist_show(self):
|
||||||
gist_id = self.request.matchdict['gist_id']
|
gist_id = self.request.matchdict['gist_id']
|
||||||
|
|
||||||
|
|
@ -307,9 +283,6 @@ class GistView(BaseAppView):
|
||||||
|
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@NotAnonymous()
|
@NotAnonymous()
|
||||||
@view_config(
|
|
||||||
route_name='gist_edit', request_method='GET',
|
|
||||||
renderer='rhodecode:templates/admin/gists/gist_edit.mako')
|
|
||||||
def gist_edit(self):
|
def gist_edit(self):
|
||||||
_ = self.request.translate
|
_ = self.request.translate
|
||||||
gist_id = self.request.matchdict['gist_id']
|
gist_id = self.request.matchdict['gist_id']
|
||||||
|
|
@ -341,9 +314,6 @@ class GistView(BaseAppView):
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@NotAnonymous()
|
@NotAnonymous()
|
||||||
@CSRFRequired()
|
@CSRFRequired()
|
||||||
@view_config(
|
|
||||||
route_name='gist_update', request_method='POST',
|
|
||||||
renderer='rhodecode:templates/admin/gists/gist_edit.mako')
|
|
||||||
def gist_update(self):
|
def gist_update(self):
|
||||||
_ = self.request.translate
|
_ = self.request.translate
|
||||||
gist_id = self.request.matchdict['gist_id']
|
gist_id = self.request.matchdict['gist_id']
|
||||||
|
|
@ -397,9 +367,6 @@ class GistView(BaseAppView):
|
||||||
|
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@NotAnonymous()
|
@NotAnonymous()
|
||||||
@view_config(
|
|
||||||
route_name='gist_edit_check_revision', request_method='GET',
|
|
||||||
renderer='json_ext')
|
|
||||||
def gist_edit_check_revision(self):
|
def gist_edit_check_revision(self):
|
||||||
_ = self.request.translate
|
_ = self.request.translate
|
||||||
gist_id = self.request.matchdict['gist_id']
|
gist_id = self.request.matchdict['gist_id']
|
||||||
|
|
|
||||||
|
|
@ -38,56 +38,110 @@ class VCSCallPredicate(object):
|
||||||
|
|
||||||
|
|
||||||
def includeme(config):
|
def includeme(config):
|
||||||
|
from rhodecode.apps.home.views import HomeView
|
||||||
|
|
||||||
|
config.add_route_predicate(
|
||||||
|
'skip_vcs_call', VCSCallPredicate)
|
||||||
|
|
||||||
config.add_route(
|
config.add_route(
|
||||||
name='home',
|
name='home',
|
||||||
pattern='/')
|
pattern='/')
|
||||||
|
config.add_view(
|
||||||
|
HomeView,
|
||||||
|
attr='main_page',
|
||||||
|
route_name='home', request_method='GET',
|
||||||
|
renderer='rhodecode:templates/index.mako')
|
||||||
|
|
||||||
config.add_route(
|
config.add_route(
|
||||||
name='main_page_repos_data',
|
name='main_page_repos_data',
|
||||||
pattern='/_home_repos')
|
pattern='/_home_repos')
|
||||||
|
config.add_view(
|
||||||
|
HomeView,
|
||||||
|
attr='main_page_repos_data',
|
||||||
|
route_name='main_page_repos_data',
|
||||||
|
request_method='GET', renderer='json_ext', xhr=True)
|
||||||
|
|
||||||
config.add_route(
|
config.add_route(
|
||||||
name='main_page_repo_groups_data',
|
name='main_page_repo_groups_data',
|
||||||
pattern='/_home_repo_groups')
|
pattern='/_home_repo_groups')
|
||||||
|
config.add_view(
|
||||||
|
HomeView,
|
||||||
|
attr='main_page_repo_groups_data',
|
||||||
|
route_name='main_page_repo_groups_data',
|
||||||
|
request_method='GET', renderer='json_ext', xhr=True)
|
||||||
|
|
||||||
config.add_route(
|
config.add_route(
|
||||||
name='user_autocomplete_data',
|
name='user_autocomplete_data',
|
||||||
pattern='/_users')
|
pattern='/_users')
|
||||||
|
config.add_view(
|
||||||
|
HomeView,
|
||||||
|
attr='user_autocomplete_data',
|
||||||
|
route_name='user_autocomplete_data', request_method='GET',
|
||||||
|
renderer='json_ext', xhr=True)
|
||||||
|
|
||||||
config.add_route(
|
config.add_route(
|
||||||
name='user_group_autocomplete_data',
|
name='user_group_autocomplete_data',
|
||||||
pattern='/_user_groups')
|
pattern='/_user_groups')
|
||||||
|
config.add_view(
|
||||||
|
HomeView,
|
||||||
|
attr='user_group_autocomplete_data',
|
||||||
|
route_name='user_group_autocomplete_data', request_method='GET',
|
||||||
|
renderer='json_ext', xhr=True)
|
||||||
|
|
||||||
config.add_route(
|
config.add_route(
|
||||||
name='repo_list_data',
|
name='repo_list_data',
|
||||||
pattern='/_repos')
|
pattern='/_repos')
|
||||||
|
config.add_view(
|
||||||
|
HomeView,
|
||||||
|
attr='repo_list_data',
|
||||||
|
route_name='repo_list_data', request_method='GET',
|
||||||
|
renderer='json_ext', xhr=True)
|
||||||
|
|
||||||
config.add_route(
|
config.add_route(
|
||||||
name='repo_group_list_data',
|
name='repo_group_list_data',
|
||||||
pattern='/_repo_groups')
|
pattern='/_repo_groups')
|
||||||
|
config.add_view(
|
||||||
|
HomeView,
|
||||||
|
attr='repo_group_list_data',
|
||||||
|
route_name='repo_group_list_data', request_method='GET',
|
||||||
|
renderer='json_ext', xhr=True)
|
||||||
|
|
||||||
config.add_route(
|
config.add_route(
|
||||||
name='goto_switcher_data',
|
name='goto_switcher_data',
|
||||||
pattern='/_goto_data')
|
pattern='/_goto_data')
|
||||||
|
config.add_view(
|
||||||
|
HomeView,
|
||||||
|
attr='goto_switcher_data',
|
||||||
|
route_name='goto_switcher_data', request_method='GET',
|
||||||
|
renderer='json_ext', xhr=True)
|
||||||
|
|
||||||
config.add_route(
|
config.add_route(
|
||||||
name='markup_preview',
|
name='markup_preview',
|
||||||
pattern='/_markup_preview')
|
pattern='/_markup_preview')
|
||||||
|
config.add_view(
|
||||||
|
HomeView,
|
||||||
|
attr='markup_preview',
|
||||||
|
route_name='markup_preview', request_method='POST',
|
||||||
|
renderer='string', xhr=True)
|
||||||
|
|
||||||
config.add_route(
|
config.add_route(
|
||||||
name='file_preview',
|
name='file_preview',
|
||||||
pattern='/_file_preview')
|
pattern='/_file_preview')
|
||||||
|
config.add_view(
|
||||||
|
HomeView,
|
||||||
|
attr='file_preview',
|
||||||
|
route_name='file_preview', request_method='POST',
|
||||||
|
renderer='string', xhr=True)
|
||||||
|
|
||||||
config.add_route(
|
config.add_route(
|
||||||
name='store_user_session_value',
|
name='store_user_session_value',
|
||||||
pattern='/_store_session_attr')
|
pattern='/_store_session_attr')
|
||||||
|
config.add_view(
|
||||||
|
HomeView,
|
||||||
|
attr='store_user_session_attr',
|
||||||
|
route_name='store_user_session_value', request_method='POST',
|
||||||
|
renderer='string', xhr=True)
|
||||||
|
|
||||||
# register our static links via redirection mechanism
|
# register our static links via redirection mechanism
|
||||||
routing_links.connect_redirection_links(config)
|
routing_links.connect_redirection_links(config)
|
||||||
|
|
||||||
# Scan module for configuration decorators.
|
|
||||||
config.scan('.views', ignore='.tests')
|
|
||||||
|
|
||||||
config.add_route_predicate(
|
|
||||||
'skip_vcs_call', VCSCallPredicate)
|
|
||||||
|
|
|
||||||
|
|
@ -23,7 +23,6 @@ import logging
|
||||||
import collections
|
import collections
|
||||||
|
|
||||||
from pyramid.httpexceptions import HTTPNotFound
|
from pyramid.httpexceptions import HTTPNotFound
|
||||||
from pyramid.view import view_config
|
|
||||||
|
|
||||||
from rhodecode.apps._base import BaseAppView, DataGridAppView
|
from rhodecode.apps._base import BaseAppView, DataGridAppView
|
||||||
from rhodecode.lib import helpers as h
|
from rhodecode.lib import helpers as h
|
||||||
|
|
@ -50,13 +49,9 @@ class HomeView(BaseAppView, DataGridAppView):
|
||||||
def load_default_context(self):
|
def load_default_context(self):
|
||||||
c = self._get_local_tmpl_context()
|
c = self._get_local_tmpl_context()
|
||||||
c.user = c.auth_user.get_instance()
|
c.user = c.auth_user.get_instance()
|
||||||
|
|
||||||
return c
|
return c
|
||||||
|
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@view_config(
|
|
||||||
route_name='user_autocomplete_data', request_method='GET',
|
|
||||||
renderer='json_ext', xhr=True)
|
|
||||||
def user_autocomplete_data(self):
|
def user_autocomplete_data(self):
|
||||||
self.load_default_context()
|
self.load_default_context()
|
||||||
query = self.request.GET.get('query')
|
query = self.request.GET.get('query')
|
||||||
|
|
@ -88,9 +83,6 @@ class HomeView(BaseAppView, DataGridAppView):
|
||||||
|
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@NotAnonymous()
|
@NotAnonymous()
|
||||||
@view_config(
|
|
||||||
route_name='user_group_autocomplete_data', request_method='GET',
|
|
||||||
renderer='json_ext', xhr=True)
|
|
||||||
def user_group_autocomplete_data(self):
|
def user_group_autocomplete_data(self):
|
||||||
self.load_default_context()
|
self.load_default_context()
|
||||||
query = self.request.GET.get('query')
|
query = self.request.GET.get('query')
|
||||||
|
|
@ -434,9 +426,6 @@ class HomeView(BaseAppView, DataGridAppView):
|
||||||
return files, True
|
return files, True
|
||||||
|
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@view_config(
|
|
||||||
route_name='repo_list_data', request_method='GET',
|
|
||||||
renderer='json_ext', xhr=True)
|
|
||||||
def repo_list_data(self):
|
def repo_list_data(self):
|
||||||
_ = self.request.translate
|
_ = self.request.translate
|
||||||
self.load_default_context()
|
self.load_default_context()
|
||||||
|
|
@ -461,9 +450,6 @@ class HomeView(BaseAppView, DataGridAppView):
|
||||||
return data
|
return data
|
||||||
|
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@view_config(
|
|
||||||
route_name='repo_group_list_data', request_method='GET',
|
|
||||||
renderer='json_ext', xhr=True)
|
|
||||||
def repo_group_list_data(self):
|
def repo_group_list_data(self):
|
||||||
_ = self.request.translate
|
_ = self.request.translate
|
||||||
self.load_default_context()
|
self.load_default_context()
|
||||||
|
|
@ -619,9 +605,6 @@ class HomeView(BaseAppView, DataGridAppView):
|
||||||
return queries
|
return queries
|
||||||
|
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@view_config(
|
|
||||||
route_name='goto_switcher_data', request_method='GET',
|
|
||||||
renderer='json_ext', xhr=True)
|
|
||||||
def goto_switcher_data(self):
|
def goto_switcher_data(self):
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
|
|
||||||
|
|
@ -750,9 +733,6 @@ class HomeView(BaseAppView, DataGridAppView):
|
||||||
return {'suggestions': res}
|
return {'suggestions': res}
|
||||||
|
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@view_config(
|
|
||||||
route_name='home', request_method='GET',
|
|
||||||
renderer='rhodecode:templates/index.mako')
|
|
||||||
def main_page(self):
|
def main_page(self):
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
c.repo_group = None
|
c.repo_group = None
|
||||||
|
|
@ -789,9 +769,6 @@ class HomeView(BaseAppView, DataGridAppView):
|
||||||
self._rhodecode_user, repo_group_id)
|
self._rhodecode_user, repo_group_id)
|
||||||
|
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@view_config(
|
|
||||||
route_name='main_page_repo_groups_data',
|
|
||||||
request_method='GET', renderer='json_ext', xhr=True)
|
|
||||||
def main_page_repo_groups_data(self):
|
def main_page_repo_groups_data(self):
|
||||||
self.load_default_context()
|
self.load_default_context()
|
||||||
repo_group_id = safe_int(self.request.GET.get('repo_group_id'))
|
repo_group_id = safe_int(self.request.GET.get('repo_group_id'))
|
||||||
|
|
@ -806,9 +783,6 @@ class HomeView(BaseAppView, DataGridAppView):
|
||||||
return self._main_page_repo_groups_data(repo_group_id)
|
return self._main_page_repo_groups_data(repo_group_id)
|
||||||
|
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@view_config(
|
|
||||||
route_name='main_page_repos_data',
|
|
||||||
request_method='GET', renderer='json_ext', xhr=True)
|
|
||||||
def main_page_repos_data(self):
|
def main_page_repos_data(self):
|
||||||
self.load_default_context()
|
self.load_default_context()
|
||||||
repo_group_id = safe_int(self.request.GET.get('repo_group_id'))
|
repo_group_id = safe_int(self.request.GET.get('repo_group_id'))
|
||||||
|
|
@ -824,12 +798,6 @@ class HomeView(BaseAppView, DataGridAppView):
|
||||||
|
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasRepoGroupPermissionAnyDecorator(*AuthUser.repo_group_read_perms)
|
@HasRepoGroupPermissionAnyDecorator(*AuthUser.repo_group_read_perms)
|
||||||
@view_config(
|
|
||||||
route_name='repo_group_home', request_method='GET',
|
|
||||||
renderer='rhodecode:templates/index_repo_group.mako')
|
|
||||||
@view_config(
|
|
||||||
route_name='repo_group_home_slash', request_method='GET',
|
|
||||||
renderer='rhodecode:templates/index_repo_group.mako')
|
|
||||||
def repo_group_main_page(self):
|
def repo_group_main_page(self):
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
c.repo_group = self.request.db_repo_group
|
c.repo_group = self.request.db_repo_group
|
||||||
|
|
@ -837,9 +805,6 @@ class HomeView(BaseAppView, DataGridAppView):
|
||||||
|
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@CSRFRequired()
|
@CSRFRequired()
|
||||||
@view_config(
|
|
||||||
route_name='markup_preview', request_method='POST',
|
|
||||||
renderer='string', xhr=True)
|
|
||||||
def markup_preview(self):
|
def markup_preview(self):
|
||||||
# Technically a CSRF token is not needed as no state changes with this
|
# Technically a CSRF token is not needed as no state changes with this
|
||||||
# call. However, as this is a POST is better to have it, so automated
|
# call. However, as this is a POST is better to have it, so automated
|
||||||
|
|
@ -855,9 +820,6 @@ class HomeView(BaseAppView, DataGridAppView):
|
||||||
|
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@CSRFRequired()
|
@CSRFRequired()
|
||||||
@view_config(
|
|
||||||
route_name='file_preview', request_method='POST',
|
|
||||||
renderer='string', xhr=True)
|
|
||||||
def file_preview(self):
|
def file_preview(self):
|
||||||
# Technically a CSRF token is not needed as no state changes with this
|
# Technically a CSRF token is not needed as no state changes with this
|
||||||
# call. However, as this is a POST is better to have it, so automated
|
# call. However, as this is a POST is better to have it, so automated
|
||||||
|
|
@ -883,9 +845,6 @@ class HomeView(BaseAppView, DataGridAppView):
|
||||||
|
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@CSRFRequired()
|
@CSRFRequired()
|
||||||
@view_config(
|
|
||||||
route_name='store_user_session_value', request_method='POST',
|
|
||||||
renderer='string', xhr=True)
|
|
||||||
def store_user_session_attr(self):
|
def store_user_session_attr(self):
|
||||||
key = self.request.POST.get('key')
|
key = self.request.POST.get('key')
|
||||||
val = self.request.POST.get('val')
|
val = self.request.POST.get('val')
|
||||||
|
|
|
||||||
|
|
@ -20,26 +20,48 @@
|
||||||
|
|
||||||
|
|
||||||
def includeme(config):
|
def includeme(config):
|
||||||
|
from rhodecode.apps.hovercards.views import HoverCardsView, HoverCardsRepoView
|
||||||
config.add_route(
|
config.add_route(
|
||||||
name='hovercard_user',
|
name='hovercard_user',
|
||||||
pattern='/_hovercard/user/{user_id}')
|
pattern='/_hovercard/user/{user_id}')
|
||||||
|
config.add_view(
|
||||||
|
HoverCardsView,
|
||||||
|
attr='hovercard_user',
|
||||||
|
route_name='hovercard_user', request_method='GET', xhr=True,
|
||||||
|
renderer='rhodecode:templates/hovercards/hovercard_user.mako')
|
||||||
|
|
||||||
config.add_route(
|
config.add_route(
|
||||||
name='hovercard_username',
|
name='hovercard_username',
|
||||||
pattern='/_hovercard/username/{username}')
|
pattern='/_hovercard/username/{username}')
|
||||||
|
config.add_view(
|
||||||
|
HoverCardsView,
|
||||||
|
attr='hovercard_username',
|
||||||
|
route_name='hovercard_username', request_method='GET', xhr=True,
|
||||||
|
renderer='rhodecode:templates/hovercards/hovercard_user.mako')
|
||||||
|
|
||||||
config.add_route(
|
config.add_route(
|
||||||
name='hovercard_user_group',
|
name='hovercard_user_group',
|
||||||
pattern='/_hovercard/user_group/{user_group_id}')
|
pattern='/_hovercard/user_group/{user_group_id}')
|
||||||
|
config.add_view(
|
||||||
|
HoverCardsView,
|
||||||
|
attr='hovercard_user_group',
|
||||||
|
route_name='hovercard_user_group', request_method='GET', xhr=True,
|
||||||
|
renderer='rhodecode:templates/hovercards/hovercard_user_group.mako')
|
||||||
|
|
||||||
config.add_route(
|
config.add_route(
|
||||||
name='hovercard_pull_request',
|
name='hovercard_pull_request',
|
||||||
pattern='/_hovercard/pull_request/{pull_request_id}')
|
pattern='/_hovercard/pull_request/{pull_request_id}')
|
||||||
|
config.add_view(
|
||||||
|
HoverCardsView,
|
||||||
|
attr='hovercard_pull_request',
|
||||||
|
route_name='hovercard_pull_request', request_method='GET', xhr=True,
|
||||||
|
renderer='rhodecode:templates/hovercards/hovercard_pull_request.mako')
|
||||||
|
|
||||||
config.add_route(
|
config.add_route(
|
||||||
name='hovercard_repo_commit',
|
name='hovercard_repo_commit',
|
||||||
pattern='/_hovercard/commit/{repo_name:.*?[^/]}/{commit_id}', repo_route=True)
|
pattern='/_hovercard/commit/{repo_name:.*?[^/]}/{commit_id}', repo_route=True)
|
||||||
|
config.add_view(
|
||||||
# Scan module for configuration decorators.
|
HoverCardsRepoView,
|
||||||
config.scan('.views', ignore='.tests')
|
attr='hovercard_repo_commit',
|
||||||
|
route_name='hovercard_repo_commit', request_method='GET', xhr=True,
|
||||||
|
renderer='rhodecode:templates/hovercards/hovercard_repo_commit.mako')
|
||||||
|
|
|
||||||
|
|
@ -23,7 +23,7 @@ import logging
|
||||||
import collections
|
import collections
|
||||||
|
|
||||||
from pyramid.httpexceptions import HTTPNotFound
|
from pyramid.httpexceptions import HTTPNotFound
|
||||||
from pyramid.view import view_config
|
|
||||||
|
|
||||||
from rhodecode.apps._base import BaseAppView, RepoAppView
|
from rhodecode.apps._base import BaseAppView, RepoAppView
|
||||||
from rhodecode.lib import helpers as h
|
from rhodecode.lib import helpers as h
|
||||||
|
|
@ -54,9 +54,6 @@ class HoverCardsView(BaseAppView):
|
||||||
return c
|
return c
|
||||||
|
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@view_config(
|
|
||||||
route_name='hovercard_user', request_method='GET', xhr=True,
|
|
||||||
renderer='rhodecode:templates/hovercards/hovercard_user.mako')
|
|
||||||
def hovercard_user(self):
|
def hovercard_user(self):
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
user_id = self.request.matchdict['user_id']
|
user_id = self.request.matchdict['user_id']
|
||||||
|
|
@ -64,9 +61,6 @@ class HoverCardsView(BaseAppView):
|
||||||
return self._get_template_context(c)
|
return self._get_template_context(c)
|
||||||
|
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@view_config(
|
|
||||||
route_name='hovercard_username', request_method='GET', xhr=True,
|
|
||||||
renderer='rhodecode:templates/hovercards/hovercard_user.mako')
|
|
||||||
def hovercard_username(self):
|
def hovercard_username(self):
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
username = self.request.matchdict['username']
|
username = self.request.matchdict['username']
|
||||||
|
|
@ -77,9 +71,6 @@ class HoverCardsView(BaseAppView):
|
||||||
return self._get_template_context(c)
|
return self._get_template_context(c)
|
||||||
|
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@view_config(
|
|
||||||
route_name='hovercard_user_group', request_method='GET', xhr=True,
|
|
||||||
renderer='rhodecode:templates/hovercards/hovercard_user_group.mako')
|
|
||||||
def hovercard_user_group(self):
|
def hovercard_user_group(self):
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
user_group_id = self.request.matchdict['user_group_id']
|
user_group_id = self.request.matchdict['user_group_id']
|
||||||
|
|
@ -87,9 +78,6 @@ class HoverCardsView(BaseAppView):
|
||||||
return self._get_template_context(c)
|
return self._get_template_context(c)
|
||||||
|
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@view_config(
|
|
||||||
route_name='hovercard_pull_request', request_method='GET', xhr=True,
|
|
||||||
renderer='rhodecode:templates/hovercards/hovercard_pull_request.mako')
|
|
||||||
def hovercard_pull_request(self):
|
def hovercard_pull_request(self):
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
c.pull_request = PullRequest.get_or_404(
|
c.pull_request = PullRequest.get_or_404(
|
||||||
|
|
@ -107,9 +95,6 @@ class HoverCardsRepoView(RepoAppView):
|
||||||
|
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasRepoPermissionAnyDecorator('repository.read', 'repository.write', 'repository.admin')
|
@HasRepoPermissionAnyDecorator('repository.read', 'repository.write', 'repository.admin')
|
||||||
@view_config(
|
|
||||||
route_name='hovercard_repo_commit', request_method='GET', xhr=True,
|
|
||||||
renderer='rhodecode:templates/hovercards/hovercard_repo_commit.mako')
|
|
||||||
def hovercard_repo_commit(self):
|
def hovercard_repo_commit(self):
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
commit_id = self.request.matchdict['commit_id']
|
commit_id = self.request.matchdict['commit_id']
|
||||||
|
|
|
||||||
|
|
@ -23,31 +23,80 @@ from rhodecode.apps._base import ADMIN_PREFIX
|
||||||
|
|
||||||
|
|
||||||
def admin_routes(config):
|
def admin_routes(config):
|
||||||
|
from rhodecode.apps.journal.views import JournalView
|
||||||
|
|
||||||
config.add_route(
|
config.add_route(
|
||||||
name='journal', pattern='/journal')
|
name='journal', pattern='/journal')
|
||||||
|
config.add_view(
|
||||||
|
JournalView,
|
||||||
|
attr='journal',
|
||||||
|
route_name='journal', request_method='GET',
|
||||||
|
renderer=None)
|
||||||
|
|
||||||
config.add_route(
|
config.add_route(
|
||||||
name='journal_rss', pattern='/journal/rss')
|
name='journal_rss', pattern='/journal/rss')
|
||||||
|
config.add_view(
|
||||||
|
JournalView,
|
||||||
|
attr='journal_rss',
|
||||||
|
route_name='journal_rss', request_method='GET',
|
||||||
|
renderer=None)
|
||||||
|
|
||||||
config.add_route(
|
config.add_route(
|
||||||
name='journal_atom', pattern='/journal/atom')
|
name='journal_atom', pattern='/journal/atom')
|
||||||
|
config.add_view(
|
||||||
|
JournalView,
|
||||||
|
attr='journal_atom',
|
||||||
|
route_name='journal_atom', request_method='GET',
|
||||||
|
renderer=None)
|
||||||
|
|
||||||
config.add_route(
|
config.add_route(
|
||||||
name='journal_public', pattern='/public_journal')
|
name='journal_public', pattern='/public_journal')
|
||||||
|
config.add_view(
|
||||||
|
JournalView,
|
||||||
|
attr='journal_public',
|
||||||
|
route_name='journal_public', request_method='GET',
|
||||||
|
renderer=None)
|
||||||
|
|
||||||
config.add_route(
|
config.add_route(
|
||||||
name='journal_public_atom', pattern='/public_journal/atom')
|
name='journal_public_atom', pattern='/public_journal/atom')
|
||||||
|
config.add_view(
|
||||||
|
JournalView,
|
||||||
|
attr='journal_public_atom',
|
||||||
|
route_name='journal_public_atom', request_method='GET',
|
||||||
|
renderer=None)
|
||||||
|
|
||||||
config.add_route(
|
config.add_route(
|
||||||
name='journal_public_atom_old', pattern='/public_journal_atom')
|
name='journal_public_atom_old', pattern='/public_journal_atom')
|
||||||
|
config.add_view(
|
||||||
|
JournalView,
|
||||||
|
attr='journal_public_atom',
|
||||||
|
route_name='journal_public_atom_old', request_method='GET',
|
||||||
|
renderer=None)
|
||||||
|
|
||||||
config.add_route(
|
config.add_route(
|
||||||
name='journal_public_rss', pattern='/public_journal/rss')
|
name='journal_public_rss', pattern='/public_journal/rss')
|
||||||
|
config.add_view(
|
||||||
|
JournalView,
|
||||||
|
attr='journal_public_rss',
|
||||||
|
route_name='journal_public_rss', request_method='GET',
|
||||||
|
renderer=None)
|
||||||
|
|
||||||
config.add_route(
|
config.add_route(
|
||||||
name='journal_public_rss_old', pattern='/public_journal_rss')
|
name='journal_public_rss_old', pattern='/public_journal_rss')
|
||||||
|
config.add_view(
|
||||||
|
JournalView,
|
||||||
|
attr='journal_public_rss',
|
||||||
|
route_name='journal_public_rss_old', request_method='GET',
|
||||||
|
renderer=None)
|
||||||
|
|
||||||
config.add_route(
|
config.add_route(
|
||||||
name='toggle_following', pattern='/toggle_following')
|
name='toggle_following', pattern='/toggle_following')
|
||||||
|
config.add_view(
|
||||||
|
JournalView,
|
||||||
|
attr='toggle_following',
|
||||||
|
route_name='toggle_following', request_method='POST',
|
||||||
|
renderer='json_ext')
|
||||||
|
|
||||||
|
|
||||||
def includeme(config):
|
def includeme(config):
|
||||||
config.include(admin_routes, route_prefix=ADMIN_PREFIX)
|
config.include(admin_routes, route_prefix=ADMIN_PREFIX)
|
||||||
# Scan module for configuration decorators.
|
|
||||||
config.scan('.views', ignore='.tests')
|
|
||||||
|
|
|
||||||
|
|
@ -18,13 +18,9 @@
|
||||||
# RhodeCode Enterprise Edition, including its added features, Support services,
|
# RhodeCode Enterprise Edition, including its added features, Support services,
|
||||||
# and proprietary license terms, please see https://rhodecode.com/licenses/
|
# and proprietary license terms, please see https://rhodecode.com/licenses/
|
||||||
|
|
||||||
|
|
||||||
import logging
|
import logging
|
||||||
import itertools
|
import itertools
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
from pyramid.view import view_config
|
|
||||||
from pyramid.httpexceptions import HTTPBadRequest
|
from pyramid.httpexceptions import HTTPBadRequest
|
||||||
from pyramid.response import Response
|
from pyramid.response import Response
|
||||||
from pyramid.renderers import render
|
from pyramid.renderers import render
|
||||||
|
|
@ -218,9 +214,6 @@ class JournalView(BaseAppView):
|
||||||
|
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@NotAnonymous()
|
@NotAnonymous()
|
||||||
@view_config(
|
|
||||||
route_name='journal', request_method='GET',
|
|
||||||
renderer=None)
|
|
||||||
def journal(self):
|
def journal(self):
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
|
|
||||||
|
|
@ -258,9 +251,6 @@ class JournalView(BaseAppView):
|
||||||
|
|
||||||
@LoginRequired(auth_token_access=[UserApiKeys.ROLE_FEED])
|
@LoginRequired(auth_token_access=[UserApiKeys.ROLE_FEED])
|
||||||
@NotAnonymous()
|
@NotAnonymous()
|
||||||
@view_config(
|
|
||||||
route_name='journal_atom', request_method='GET',
|
|
||||||
renderer=None)
|
|
||||||
def journal_atom(self):
|
def journal_atom(self):
|
||||||
"""
|
"""
|
||||||
Produce an atom-1.0 feed via feedgenerator module
|
Produce an atom-1.0 feed via feedgenerator module
|
||||||
|
|
@ -274,9 +264,6 @@ class JournalView(BaseAppView):
|
||||||
|
|
||||||
@LoginRequired(auth_token_access=[UserApiKeys.ROLE_FEED])
|
@LoginRequired(auth_token_access=[UserApiKeys.ROLE_FEED])
|
||||||
@NotAnonymous()
|
@NotAnonymous()
|
||||||
@view_config(
|
|
||||||
route_name='journal_rss', request_method='GET',
|
|
||||||
renderer=None)
|
|
||||||
def journal_rss(self):
|
def journal_rss(self):
|
||||||
"""
|
"""
|
||||||
Produce an rss feed via feedgenerator module
|
Produce an rss feed via feedgenerator module
|
||||||
|
|
@ -289,39 +276,6 @@ class JournalView(BaseAppView):
|
||||||
return self._rss_feed(following_repos, c.search_term, public=False)
|
return self._rss_feed(following_repos, c.search_term, public=False)
|
||||||
|
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@NotAnonymous()
|
|
||||||
@CSRFRequired()
|
|
||||||
@view_config(
|
|
||||||
route_name='toggle_following', request_method='POST',
|
|
||||||
renderer='json_ext')
|
|
||||||
def toggle_following(self):
|
|
||||||
user_id = self.request.POST.get('follows_user_id')
|
|
||||||
if user_id:
|
|
||||||
try:
|
|
||||||
ScmModel().toggle_following_user(user_id, self._rhodecode_user.user_id)
|
|
||||||
Session().commit()
|
|
||||||
return 'ok'
|
|
||||||
except Exception:
|
|
||||||
raise HTTPBadRequest()
|
|
||||||
|
|
||||||
repo_id = self.request.POST.get('follows_repo_id')
|
|
||||||
repo = Repository.get_or_404(repo_id)
|
|
||||||
perm_set = ['repository.read', 'repository.write', 'repository.admin']
|
|
||||||
has_perm = HasRepoPermissionAny(*perm_set)(repo.repo_name, 'RepoWatch check')
|
|
||||||
if repo and has_perm:
|
|
||||||
try:
|
|
||||||
ScmModel().toggle_following_repo(repo_id, self._rhodecode_user.user_id)
|
|
||||||
Session().commit()
|
|
||||||
return 'ok'
|
|
||||||
except Exception:
|
|
||||||
raise HTTPBadRequest()
|
|
||||||
|
|
||||||
raise HTTPBadRequest()
|
|
||||||
|
|
||||||
@LoginRequired()
|
|
||||||
@view_config(
|
|
||||||
route_name='journal_public', request_method='GET',
|
|
||||||
renderer=None)
|
|
||||||
def journal_public(self):
|
def journal_public(self):
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
# Return a rendered template
|
# Return a rendered template
|
||||||
|
|
@ -357,9 +311,6 @@ class JournalView(BaseAppView):
|
||||||
return Response(html)
|
return Response(html)
|
||||||
|
|
||||||
@LoginRequired(auth_token_access=[UserApiKeys.ROLE_FEED])
|
@LoginRequired(auth_token_access=[UserApiKeys.ROLE_FEED])
|
||||||
@view_config(
|
|
||||||
route_name='journal_public_atom', request_method='GET',
|
|
||||||
renderer=None)
|
|
||||||
def journal_public_atom(self):
|
def journal_public_atom(self):
|
||||||
"""
|
"""
|
||||||
Produce an atom-1.0 feed via feedgenerator module
|
Produce an atom-1.0 feed via feedgenerator module
|
||||||
|
|
@ -373,9 +324,6 @@ class JournalView(BaseAppView):
|
||||||
return self._atom_feed(following_repos, c.search_term)
|
return self._atom_feed(following_repos, c.search_term)
|
||||||
|
|
||||||
@LoginRequired(auth_token_access=[UserApiKeys.ROLE_FEED])
|
@LoginRequired(auth_token_access=[UserApiKeys.ROLE_FEED])
|
||||||
@view_config(
|
|
||||||
route_name='journal_public_rss', request_method='GET',
|
|
||||||
renderer=None)
|
|
||||||
def journal_public_rss(self):
|
def journal_public_rss(self):
|
||||||
"""
|
"""
|
||||||
Produce an rss2 feed via feedgenerator module
|
Produce an rss2 feed via feedgenerator module
|
||||||
|
|
@ -387,3 +335,30 @@ class JournalView(BaseAppView):
|
||||||
.all()
|
.all()
|
||||||
|
|
||||||
return self._rss_feed(following_repos, c.search_term)
|
return self._rss_feed(following_repos, c.search_term)
|
||||||
|
|
||||||
|
@LoginRequired()
|
||||||
|
@NotAnonymous()
|
||||||
|
@CSRFRequired()
|
||||||
|
def toggle_following(self):
|
||||||
|
user_id = self.request.POST.get('follows_user_id')
|
||||||
|
if user_id:
|
||||||
|
try:
|
||||||
|
ScmModel().toggle_following_user(user_id, self._rhodecode_user.user_id)
|
||||||
|
Session().commit()
|
||||||
|
return 'ok'
|
||||||
|
except Exception:
|
||||||
|
raise HTTPBadRequest()
|
||||||
|
|
||||||
|
repo_id = self.request.POST.get('follows_repo_id')
|
||||||
|
repo = Repository.get_or_404(repo_id)
|
||||||
|
perm_set = ['repository.read', 'repository.write', 'repository.admin']
|
||||||
|
has_perm = HasRepoPermissionAny(*perm_set)(repo.repo_name, 'RepoWatch check')
|
||||||
|
if repo and has_perm:
|
||||||
|
try:
|
||||||
|
ScmModel().toggle_following_repo(repo_id, self._rhodecode_user.user_id)
|
||||||
|
Session().commit()
|
||||||
|
return 'ok'
|
||||||
|
except Exception:
|
||||||
|
raise HTTPBadRequest()
|
||||||
|
|
||||||
|
raise HTTPBadRequest()
|
||||||
|
|
|
||||||
|
|
@ -23,22 +23,57 @@ from rhodecode.apps._base import ADMIN_PREFIX
|
||||||
|
|
||||||
|
|
||||||
def includeme(config):
|
def includeme(config):
|
||||||
|
from rhodecode.apps.login.views import LoginView
|
||||||
|
|
||||||
config.add_route(
|
config.add_route(
|
||||||
name='login',
|
name='login',
|
||||||
pattern=ADMIN_PREFIX + '/login')
|
pattern=ADMIN_PREFIX + '/login')
|
||||||
|
config.add_view(
|
||||||
|
LoginView,
|
||||||
|
attr='login',
|
||||||
|
route_name='login', request_method='GET',
|
||||||
|
renderer='rhodecode:templates/login.mako')
|
||||||
|
config.add_view(
|
||||||
|
LoginView,
|
||||||
|
attr='login_post',
|
||||||
|
route_name='login', request_method='POST',
|
||||||
|
renderer='rhodecode:templates/login.mako')
|
||||||
|
|
||||||
config.add_route(
|
config.add_route(
|
||||||
name='logout',
|
name='logout',
|
||||||
pattern=ADMIN_PREFIX + '/logout')
|
pattern=ADMIN_PREFIX + '/logout')
|
||||||
|
config.add_view(
|
||||||
|
LoginView,
|
||||||
|
attr='logout',
|
||||||
|
route_name='logout', request_method='POST')
|
||||||
|
|
||||||
config.add_route(
|
config.add_route(
|
||||||
name='register',
|
name='register',
|
||||||
pattern=ADMIN_PREFIX + '/register')
|
pattern=ADMIN_PREFIX + '/register')
|
||||||
|
config.add_view(
|
||||||
|
LoginView,
|
||||||
|
attr='register',
|
||||||
|
route_name='register', request_method='GET',
|
||||||
|
renderer='rhodecode:templates/register.mako')
|
||||||
|
config.add_view(
|
||||||
|
LoginView,
|
||||||
|
attr='register_post',
|
||||||
|
route_name='register', request_method='POST',
|
||||||
|
renderer='rhodecode:templates/register.mako')
|
||||||
|
|
||||||
config.add_route(
|
config.add_route(
|
||||||
name='reset_password',
|
name='reset_password',
|
||||||
pattern=ADMIN_PREFIX + '/password_reset')
|
pattern=ADMIN_PREFIX + '/password_reset')
|
||||||
|
config.add_view(
|
||||||
|
LoginView,
|
||||||
|
attr='password_reset',
|
||||||
|
route_name='reset_password', request_method=('GET', 'POST'),
|
||||||
|
renderer='rhodecode:templates/password_reset.mako')
|
||||||
|
|
||||||
config.add_route(
|
config.add_route(
|
||||||
name='reset_password_confirmation',
|
name='reset_password_confirmation',
|
||||||
pattern=ADMIN_PREFIX + '/password_reset_confirmation')
|
pattern=ADMIN_PREFIX + '/password_reset_confirmation')
|
||||||
|
config.add_view(
|
||||||
# Scan module for configuration decorators.
|
LoginView,
|
||||||
config.scan('.views', ignore='.tests')
|
attr='password_reset_confirmation',
|
||||||
|
route_name='reset_password_confirmation', request_method='GET')
|
||||||
|
|
|
||||||
|
|
@ -28,7 +28,7 @@ import urlparse
|
||||||
import requests
|
import requests
|
||||||
|
|
||||||
from pyramid.httpexceptions import HTTPFound
|
from pyramid.httpexceptions import HTTPFound
|
||||||
from pyramid.view import view_config
|
|
||||||
|
|
||||||
from rhodecode.apps._base import BaseAppView
|
from rhodecode.apps._base import BaseAppView
|
||||||
from rhodecode.authentication.base import authenticate, HTTP_TYPE
|
from rhodecode.authentication.base import authenticate, HTTP_TYPE
|
||||||
|
|
@ -114,7 +114,6 @@ class LoginView(BaseAppView):
|
||||||
def load_default_context(self):
|
def load_default_context(self):
|
||||||
c = self._get_local_tmpl_context()
|
c = self._get_local_tmpl_context()
|
||||||
c.came_from = get_came_from(self.request)
|
c.came_from = get_came_from(self.request)
|
||||||
|
|
||||||
return c
|
return c
|
||||||
|
|
||||||
def _get_captcha_data(self):
|
def _get_captcha_data(self):
|
||||||
|
|
@ -148,9 +147,6 @@ class LoginView(BaseAppView):
|
||||||
|
|
||||||
return captcha_status, captcha_message
|
return captcha_status, captcha_message
|
||||||
|
|
||||||
@view_config(
|
|
||||||
route_name='login', request_method='GET',
|
|
||||||
renderer='rhodecode:templates/login.mako')
|
|
||||||
def login(self):
|
def login(self):
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
auth_user = self._rhodecode_user
|
auth_user = self._rhodecode_user
|
||||||
|
|
@ -175,9 +171,6 @@ class LoginView(BaseAppView):
|
||||||
|
|
||||||
return self._get_template_context(c)
|
return self._get_template_context(c)
|
||||||
|
|
||||||
@view_config(
|
|
||||||
route_name='login', request_method='POST',
|
|
||||||
renderer='rhodecode:templates/login.mako')
|
|
||||||
def login_post(self):
|
def login_post(self):
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
|
|
||||||
|
|
@ -229,7 +222,6 @@ class LoginView(BaseAppView):
|
||||||
return self._get_template_context(c)
|
return self._get_template_context(c)
|
||||||
|
|
||||||
@CSRFRequired()
|
@CSRFRequired()
|
||||||
@view_config(route_name='logout', request_method='POST')
|
|
||||||
def logout(self):
|
def logout(self):
|
||||||
auth_user = self._rhodecode_user
|
auth_user = self._rhodecode_user
|
||||||
log.info('Deleting session for user: `%s`', auth_user)
|
log.info('Deleting session for user: `%s`', auth_user)
|
||||||
|
|
@ -243,9 +235,6 @@ class LoginView(BaseAppView):
|
||||||
|
|
||||||
@HasPermissionAnyDecorator(
|
@HasPermissionAnyDecorator(
|
||||||
'hg.admin', 'hg.register.auto_activate', 'hg.register.manual_activate')
|
'hg.admin', 'hg.register.auto_activate', 'hg.register.manual_activate')
|
||||||
@view_config(
|
|
||||||
route_name='register', request_method='GET',
|
|
||||||
renderer='rhodecode:templates/register.mako',)
|
|
||||||
def register(self, defaults=None, errors=None):
|
def register(self, defaults=None, errors=None):
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
defaults = defaults or {}
|
defaults = defaults or {}
|
||||||
|
|
@ -270,9 +259,6 @@ class LoginView(BaseAppView):
|
||||||
|
|
||||||
@HasPermissionAnyDecorator(
|
@HasPermissionAnyDecorator(
|
||||||
'hg.admin', 'hg.register.auto_activate', 'hg.register.manual_activate')
|
'hg.admin', 'hg.register.auto_activate', 'hg.register.manual_activate')
|
||||||
@view_config(
|
|
||||||
route_name='register', request_method='POST',
|
|
||||||
renderer='rhodecode:templates/register.mako')
|
|
||||||
def register_post(self):
|
def register_post(self):
|
||||||
from rhodecode.authentication.plugins import auth_rhodecode
|
from rhodecode.authentication.plugins import auth_rhodecode
|
||||||
|
|
||||||
|
|
@ -353,9 +339,6 @@ class LoginView(BaseAppView):
|
||||||
h.flash(e, category='error')
|
h.flash(e, category='error')
|
||||||
return self.register()
|
return self.register()
|
||||||
|
|
||||||
@view_config(
|
|
||||||
route_name='reset_password', request_method=('GET', 'POST'),
|
|
||||||
renderer='rhodecode:templates/password_reset.mako')
|
|
||||||
def password_reset(self):
|
def password_reset(self):
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
captcha = self._get_captcha_data()
|
captcha = self._get_captcha_data()
|
||||||
|
|
@ -454,8 +437,6 @@ class LoginView(BaseAppView):
|
||||||
|
|
||||||
return self._get_template_context(c, **template_context)
|
return self._get_template_context(c, **template_context)
|
||||||
|
|
||||||
@view_config(route_name='reset_password_confirmation',
|
|
||||||
request_method='GET')
|
|
||||||
def password_reset_confirmation(self):
|
def password_reset_confirmation(self):
|
||||||
self.load_default_context()
|
self.load_default_context()
|
||||||
if self.request.GET and self.request.GET.get('key'):
|
if self.request.GET and self.request.GET.get('key'):
|
||||||
|
|
|
||||||
|
|
@ -23,138 +23,311 @@ from rhodecode.apps._base import ADMIN_PREFIX
|
||||||
|
|
||||||
|
|
||||||
def includeme(config):
|
def includeme(config):
|
||||||
|
from rhodecode.apps.my_account.views.my_account import MyAccountView
|
||||||
|
from rhodecode.apps.my_account.views.my_account_notifications import MyAccountNotificationsView
|
||||||
|
from rhodecode.apps.my_account.views.my_account_ssh_keys import MyAccountSshKeysView
|
||||||
|
|
||||||
config.add_route(
|
config.add_route(
|
||||||
name='my_account_profile',
|
name='my_account_profile',
|
||||||
pattern=ADMIN_PREFIX + '/my_account/profile')
|
pattern=ADMIN_PREFIX + '/my_account/profile')
|
||||||
|
config.add_view(
|
||||||
|
MyAccountView,
|
||||||
|
attr='my_account_profile',
|
||||||
|
route_name='my_account_profile', request_method='GET',
|
||||||
|
renderer='rhodecode:templates/admin/my_account/my_account.mako')
|
||||||
|
|
||||||
# my account edit details
|
# my account edit details
|
||||||
config.add_route(
|
config.add_route(
|
||||||
name='my_account_edit',
|
name='my_account_edit',
|
||||||
pattern=ADMIN_PREFIX + '/my_account/edit')
|
pattern=ADMIN_PREFIX + '/my_account/edit')
|
||||||
|
config.add_view(
|
||||||
|
MyAccountView,
|
||||||
|
attr='my_account_edit',
|
||||||
|
route_name='my_account_edit',
|
||||||
|
request_method='GET',
|
||||||
|
renderer='rhodecode:templates/admin/my_account/my_account.mako')
|
||||||
|
|
||||||
config.add_route(
|
config.add_route(
|
||||||
name='my_account_update',
|
name='my_account_update',
|
||||||
pattern=ADMIN_PREFIX + '/my_account/update')
|
pattern=ADMIN_PREFIX + '/my_account/update')
|
||||||
|
config.add_view(
|
||||||
|
MyAccountView,
|
||||||
|
attr='my_account_update',
|
||||||
|
route_name='my_account_update',
|
||||||
|
request_method='POST',
|
||||||
|
renderer='rhodecode:templates/admin/my_account/my_account.mako')
|
||||||
|
|
||||||
# my account password
|
# my account password
|
||||||
config.add_route(
|
config.add_route(
|
||||||
name='my_account_password',
|
name='my_account_password',
|
||||||
pattern=ADMIN_PREFIX + '/my_account/password')
|
pattern=ADMIN_PREFIX + '/my_account/password')
|
||||||
|
config.add_view(
|
||||||
|
MyAccountView,
|
||||||
|
attr='my_account_password',
|
||||||
|
route_name='my_account_password', request_method='GET',
|
||||||
|
renderer='rhodecode:templates/admin/my_account/my_account.mako')
|
||||||
|
|
||||||
config.add_route(
|
config.add_route(
|
||||||
name='my_account_password_update',
|
name='my_account_password_update',
|
||||||
pattern=ADMIN_PREFIX + '/my_account/password/update')
|
pattern=ADMIN_PREFIX + '/my_account/password/update')
|
||||||
|
config.add_view(
|
||||||
|
MyAccountView,
|
||||||
|
attr='my_account_password_update',
|
||||||
|
route_name='my_account_password_update', request_method='POST',
|
||||||
|
renderer='rhodecode:templates/admin/my_account/my_account.mako')
|
||||||
|
|
||||||
# my account tokens
|
# my account tokens
|
||||||
config.add_route(
|
config.add_route(
|
||||||
name='my_account_auth_tokens',
|
name='my_account_auth_tokens',
|
||||||
pattern=ADMIN_PREFIX + '/my_account/auth_tokens')
|
pattern=ADMIN_PREFIX + '/my_account/auth_tokens')
|
||||||
|
config.add_view(
|
||||||
|
MyAccountView,
|
||||||
|
attr='my_account_auth_tokens',
|
||||||
|
route_name='my_account_auth_tokens', request_method='GET',
|
||||||
|
renderer='rhodecode:templates/admin/my_account/my_account.mako')
|
||||||
|
|
||||||
config.add_route(
|
config.add_route(
|
||||||
name='my_account_auth_tokens_view',
|
name='my_account_auth_tokens_view',
|
||||||
pattern=ADMIN_PREFIX + '/my_account/auth_tokens/view')
|
pattern=ADMIN_PREFIX + '/my_account/auth_tokens/view')
|
||||||
|
config.add_view(
|
||||||
|
MyAccountView,
|
||||||
|
attr='my_account_auth_tokens_view',
|
||||||
|
route_name='my_account_auth_tokens_view', request_method='POST', xhr=True,
|
||||||
|
renderer='json_ext')
|
||||||
|
|
||||||
config.add_route(
|
config.add_route(
|
||||||
name='my_account_auth_tokens_add',
|
name='my_account_auth_tokens_add',
|
||||||
pattern=ADMIN_PREFIX + '/my_account/auth_tokens/new')
|
pattern=ADMIN_PREFIX + '/my_account/auth_tokens/new')
|
||||||
|
config.add_view(
|
||||||
|
MyAccountView,
|
||||||
|
attr='my_account_auth_tokens_add',
|
||||||
|
route_name='my_account_auth_tokens_add', request_method='POST')
|
||||||
|
|
||||||
config.add_route(
|
config.add_route(
|
||||||
name='my_account_auth_tokens_delete',
|
name='my_account_auth_tokens_delete',
|
||||||
pattern=ADMIN_PREFIX + '/my_account/auth_tokens/delete')
|
pattern=ADMIN_PREFIX + '/my_account/auth_tokens/delete')
|
||||||
|
config.add_view(
|
||||||
|
MyAccountView,
|
||||||
|
attr='my_account_auth_tokens_delete',
|
||||||
|
route_name='my_account_auth_tokens_delete', request_method='POST')
|
||||||
|
|
||||||
# my account ssh keys
|
# my account ssh keys
|
||||||
config.add_route(
|
config.add_route(
|
||||||
name='my_account_ssh_keys',
|
name='my_account_ssh_keys',
|
||||||
pattern=ADMIN_PREFIX + '/my_account/ssh_keys')
|
pattern=ADMIN_PREFIX + '/my_account/ssh_keys')
|
||||||
|
config.add_view(
|
||||||
|
MyAccountSshKeysView,
|
||||||
|
attr='my_account_ssh_keys',
|
||||||
|
route_name='my_account_ssh_keys', request_method='GET',
|
||||||
|
renderer='rhodecode:templates/admin/my_account/my_account.mako')
|
||||||
|
|
||||||
config.add_route(
|
config.add_route(
|
||||||
name='my_account_ssh_keys_generate',
|
name='my_account_ssh_keys_generate',
|
||||||
pattern=ADMIN_PREFIX + '/my_account/ssh_keys/generate')
|
pattern=ADMIN_PREFIX + '/my_account/ssh_keys/generate')
|
||||||
|
config.add_view(
|
||||||
|
MyAccountSshKeysView,
|
||||||
|
attr='ssh_keys_generate_keypair',
|
||||||
|
route_name='my_account_ssh_keys_generate', request_method='GET',
|
||||||
|
renderer='rhodecode:templates/admin/my_account/my_account.mako')
|
||||||
|
|
||||||
config.add_route(
|
config.add_route(
|
||||||
name='my_account_ssh_keys_add',
|
name='my_account_ssh_keys_add',
|
||||||
pattern=ADMIN_PREFIX + '/my_account/ssh_keys/new')
|
pattern=ADMIN_PREFIX + '/my_account/ssh_keys/new')
|
||||||
|
config.add_view(
|
||||||
|
MyAccountSshKeysView,
|
||||||
|
attr='my_account_ssh_keys_add',
|
||||||
|
route_name='my_account_ssh_keys_add', request_method='POST',)
|
||||||
|
|
||||||
config.add_route(
|
config.add_route(
|
||||||
name='my_account_ssh_keys_delete',
|
name='my_account_ssh_keys_delete',
|
||||||
pattern=ADMIN_PREFIX + '/my_account/ssh_keys/delete')
|
pattern=ADMIN_PREFIX + '/my_account/ssh_keys/delete')
|
||||||
|
config.add_view(
|
||||||
|
MyAccountSshKeysView,
|
||||||
|
attr='my_account_ssh_keys_delete',
|
||||||
|
route_name='my_account_ssh_keys_delete', request_method='POST')
|
||||||
|
|
||||||
# my account user group membership
|
# my account user group membership
|
||||||
config.add_route(
|
config.add_route(
|
||||||
name='my_account_user_group_membership',
|
name='my_account_user_group_membership',
|
||||||
pattern=ADMIN_PREFIX + '/my_account/user_group_membership')
|
pattern=ADMIN_PREFIX + '/my_account/user_group_membership')
|
||||||
|
config.add_view(
|
||||||
|
MyAccountView,
|
||||||
|
attr='my_account_user_group_membership',
|
||||||
|
route_name='my_account_user_group_membership',
|
||||||
|
request_method='GET',
|
||||||
|
renderer='rhodecode:templates/admin/my_account/my_account.mako')
|
||||||
|
|
||||||
# my account emails
|
# my account emails
|
||||||
config.add_route(
|
config.add_route(
|
||||||
name='my_account_emails',
|
name='my_account_emails',
|
||||||
pattern=ADMIN_PREFIX + '/my_account/emails')
|
pattern=ADMIN_PREFIX + '/my_account/emails')
|
||||||
|
config.add_view(
|
||||||
|
MyAccountView,
|
||||||
|
attr='my_account_emails',
|
||||||
|
route_name='my_account_emails', request_method='GET',
|
||||||
|
renderer='rhodecode:templates/admin/my_account/my_account.mako')
|
||||||
|
|
||||||
config.add_route(
|
config.add_route(
|
||||||
name='my_account_emails_add',
|
name='my_account_emails_add',
|
||||||
pattern=ADMIN_PREFIX + '/my_account/emails/new')
|
pattern=ADMIN_PREFIX + '/my_account/emails/new')
|
||||||
|
config.add_view(
|
||||||
|
MyAccountView,
|
||||||
|
attr='my_account_emails_add',
|
||||||
|
route_name='my_account_emails_add', request_method='POST',
|
||||||
|
renderer='rhodecode:templates/admin/my_account/my_account.mako')
|
||||||
|
|
||||||
config.add_route(
|
config.add_route(
|
||||||
name='my_account_emails_delete',
|
name='my_account_emails_delete',
|
||||||
pattern=ADMIN_PREFIX + '/my_account/emails/delete')
|
pattern=ADMIN_PREFIX + '/my_account/emails/delete')
|
||||||
|
config.add_view(
|
||||||
|
MyAccountView,
|
||||||
|
attr='my_account_emails_delete',
|
||||||
|
route_name='my_account_emails_delete', request_method='POST')
|
||||||
|
|
||||||
config.add_route(
|
config.add_route(
|
||||||
name='my_account_repos',
|
name='my_account_repos',
|
||||||
pattern=ADMIN_PREFIX + '/my_account/repos')
|
pattern=ADMIN_PREFIX + '/my_account/repos')
|
||||||
|
config.add_view(
|
||||||
|
MyAccountView,
|
||||||
|
attr='my_account_repos',
|
||||||
|
route_name='my_account_repos', request_method='GET',
|
||||||
|
renderer='rhodecode:templates/admin/my_account/my_account.mako')
|
||||||
|
|
||||||
config.add_route(
|
config.add_route(
|
||||||
name='my_account_watched',
|
name='my_account_watched',
|
||||||
pattern=ADMIN_PREFIX + '/my_account/watched')
|
pattern=ADMIN_PREFIX + '/my_account/watched')
|
||||||
|
config.add_view(
|
||||||
|
MyAccountView,
|
||||||
|
attr='my_account_watched',
|
||||||
|
route_name='my_account_watched', request_method='GET',
|
||||||
|
renderer='rhodecode:templates/admin/my_account/my_account.mako')
|
||||||
|
|
||||||
config.add_route(
|
config.add_route(
|
||||||
name='my_account_bookmarks',
|
name='my_account_bookmarks',
|
||||||
pattern=ADMIN_PREFIX + '/my_account/bookmarks')
|
pattern=ADMIN_PREFIX + '/my_account/bookmarks')
|
||||||
|
config.add_view(
|
||||||
|
MyAccountView,
|
||||||
|
attr='my_account_bookmarks',
|
||||||
|
route_name='my_account_bookmarks', request_method='GET',
|
||||||
|
renderer='rhodecode:templates/admin/my_account/my_account.mako')
|
||||||
|
|
||||||
config.add_route(
|
config.add_route(
|
||||||
name='my_account_bookmarks_update',
|
name='my_account_bookmarks_update',
|
||||||
pattern=ADMIN_PREFIX + '/my_account/bookmarks/update')
|
pattern=ADMIN_PREFIX + '/my_account/bookmarks/update')
|
||||||
|
config.add_view(
|
||||||
|
MyAccountView,
|
||||||
|
attr='my_account_bookmarks_update',
|
||||||
|
route_name='my_account_bookmarks_update', request_method='POST')
|
||||||
|
|
||||||
config.add_route(
|
config.add_route(
|
||||||
name='my_account_goto_bookmark',
|
name='my_account_goto_bookmark',
|
||||||
pattern=ADMIN_PREFIX + '/my_account/bookmark/{bookmark_id}')
|
pattern=ADMIN_PREFIX + '/my_account/bookmark/{bookmark_id}')
|
||||||
|
config.add_view(
|
||||||
|
MyAccountView,
|
||||||
|
attr='my_account_goto_bookmark',
|
||||||
|
route_name='my_account_goto_bookmark', request_method='GET',
|
||||||
|
renderer='rhodecode:templates/admin/my_account/my_account.mako')
|
||||||
|
|
||||||
config.add_route(
|
config.add_route(
|
||||||
name='my_account_perms',
|
name='my_account_perms',
|
||||||
pattern=ADMIN_PREFIX + '/my_account/perms')
|
pattern=ADMIN_PREFIX + '/my_account/perms')
|
||||||
|
config.add_view(
|
||||||
|
MyAccountView,
|
||||||
|
attr='my_account_perms',
|
||||||
|
route_name='my_account_perms', request_method='GET',
|
||||||
|
renderer='rhodecode:templates/admin/my_account/my_account.mako')
|
||||||
|
|
||||||
config.add_route(
|
config.add_route(
|
||||||
name='my_account_notifications',
|
name='my_account_notifications',
|
||||||
pattern=ADMIN_PREFIX + '/my_account/notifications')
|
pattern=ADMIN_PREFIX + '/my_account/notifications')
|
||||||
|
config.add_view(
|
||||||
|
MyAccountView,
|
||||||
|
attr='my_notifications',
|
||||||
|
route_name='my_account_notifications', request_method='GET',
|
||||||
|
renderer='rhodecode:templates/admin/my_account/my_account.mako')
|
||||||
|
|
||||||
config.add_route(
|
config.add_route(
|
||||||
name='my_account_notifications_toggle_visibility',
|
name='my_account_notifications_toggle_visibility',
|
||||||
pattern=ADMIN_PREFIX + '/my_account/toggle_visibility')
|
pattern=ADMIN_PREFIX + '/my_account/toggle_visibility')
|
||||||
|
config.add_view(
|
||||||
|
MyAccountView,
|
||||||
|
attr='my_notifications_toggle_visibility',
|
||||||
|
route_name='my_account_notifications_toggle_visibility',
|
||||||
|
request_method='POST', renderer='json_ext')
|
||||||
|
|
||||||
# my account pull requests
|
# my account pull requests
|
||||||
config.add_route(
|
config.add_route(
|
||||||
name='my_account_pullrequests',
|
name='my_account_pullrequests',
|
||||||
pattern=ADMIN_PREFIX + '/my_account/pull_requests')
|
pattern=ADMIN_PREFIX + '/my_account/pull_requests')
|
||||||
|
config.add_view(
|
||||||
|
MyAccountView,
|
||||||
|
attr='my_account_pullrequests',
|
||||||
|
route_name='my_account_pullrequests',
|
||||||
|
request_method='GET',
|
||||||
|
renderer='rhodecode:templates/admin/my_account/my_account.mako')
|
||||||
|
|
||||||
config.add_route(
|
config.add_route(
|
||||||
name='my_account_pullrequests_data',
|
name='my_account_pullrequests_data',
|
||||||
pattern=ADMIN_PREFIX + '/my_account/pull_requests/data')
|
pattern=ADMIN_PREFIX + '/my_account/pull_requests/data')
|
||||||
|
config.add_view(
|
||||||
# notifications
|
MyAccountView,
|
||||||
config.add_route(
|
attr='my_account_pullrequests_data',
|
||||||
name='notifications_show_all',
|
route_name='my_account_pullrequests_data',
|
||||||
pattern=ADMIN_PREFIX + '/notifications')
|
request_method='GET', renderer='json_ext')
|
||||||
|
|
||||||
# notifications
|
|
||||||
config.add_route(
|
|
||||||
name='notifications_mark_all_read',
|
|
||||||
pattern=ADMIN_PREFIX + '/notifications/mark_all_read')
|
|
||||||
|
|
||||||
config.add_route(
|
|
||||||
name='notifications_show',
|
|
||||||
pattern=ADMIN_PREFIX + '/notifications/{notification_id}')
|
|
||||||
|
|
||||||
config.add_route(
|
|
||||||
name='notifications_update',
|
|
||||||
pattern=ADMIN_PREFIX + '/notifications/{notification_id}/update')
|
|
||||||
|
|
||||||
config.add_route(
|
|
||||||
name='notifications_delete',
|
|
||||||
pattern=ADMIN_PREFIX + '/notifications/{notification_id}/delete')
|
|
||||||
|
|
||||||
# channelstream test
|
# channelstream test
|
||||||
config.add_route(
|
config.add_route(
|
||||||
name='my_account_notifications_test_channelstream',
|
name='my_account_notifications_test_channelstream',
|
||||||
pattern=ADMIN_PREFIX + '/my_account/test_channelstream')
|
pattern=ADMIN_PREFIX + '/my_account/test_channelstream')
|
||||||
|
config.add_view(
|
||||||
|
MyAccountView,
|
||||||
|
attr='my_account_notifications_test_channelstream',
|
||||||
|
route_name='my_account_notifications_test_channelstream',
|
||||||
|
request_method='POST', renderer='json_ext')
|
||||||
|
|
||||||
# Scan module for configuration decorators.
|
# notifications
|
||||||
config.scan('.views', ignore='.tests')
|
config.add_route(
|
||||||
|
name='notifications_show_all',
|
||||||
|
pattern=ADMIN_PREFIX + '/notifications')
|
||||||
|
config.add_view(
|
||||||
|
MyAccountNotificationsView,
|
||||||
|
attr='notifications_show_all',
|
||||||
|
route_name='notifications_show_all', request_method='GET',
|
||||||
|
renderer='rhodecode:templates/admin/notifications/notifications_show_all.mako')
|
||||||
|
|
||||||
|
# notifications
|
||||||
|
config.add_route(
|
||||||
|
name='notifications_mark_all_read',
|
||||||
|
pattern=ADMIN_PREFIX + '/notifications_mark_all_read')
|
||||||
|
config.add_view(
|
||||||
|
MyAccountNotificationsView,
|
||||||
|
attr='notifications_mark_all_read',
|
||||||
|
route_name='notifications_mark_all_read', request_method='POST',
|
||||||
|
renderer='rhodecode:templates/admin/notifications/notifications_show_all.mako')
|
||||||
|
|
||||||
|
config.add_route(
|
||||||
|
name='notifications_show',
|
||||||
|
pattern=ADMIN_PREFIX + '/notifications/{notification_id}')
|
||||||
|
config.add_view(
|
||||||
|
MyAccountNotificationsView,
|
||||||
|
attr='notifications_show',
|
||||||
|
route_name='notifications_show', request_method='GET',
|
||||||
|
renderer='rhodecode:templates/admin/notifications/notifications_show.mako')
|
||||||
|
|
||||||
|
config.add_route(
|
||||||
|
name='notifications_update',
|
||||||
|
pattern=ADMIN_PREFIX + '/notifications/{notification_id}/update')
|
||||||
|
config.add_view(
|
||||||
|
MyAccountNotificationsView,
|
||||||
|
attr='notification_update',
|
||||||
|
route_name='notifications_update', request_method='POST',
|
||||||
|
renderer='json_ext')
|
||||||
|
|
||||||
|
config.add_route(
|
||||||
|
name='notifications_delete',
|
||||||
|
pattern=ADMIN_PREFIX + '/notifications/{notification_id}/delete')
|
||||||
|
config.add_view(
|
||||||
|
MyAccountNotificationsView,
|
||||||
|
attr='notification_delete',
|
||||||
|
route_name='notifications_delete', request_method='POST',
|
||||||
|
renderer='json_ext')
|
||||||
|
|
|
||||||
|
|
@ -40,7 +40,7 @@ def route_path(name, params=None, **kwargs):
|
||||||
|
|
||||||
base_url = {
|
base_url = {
|
||||||
'notifications_show_all': ADMIN_PREFIX + '/notifications',
|
'notifications_show_all': ADMIN_PREFIX + '/notifications',
|
||||||
'notifications_mark_all_read': ADMIN_PREFIX + '/notifications/mark_all_read',
|
'notifications_mark_all_read': ADMIN_PREFIX + '/notifications_mark_all_read',
|
||||||
'notifications_show': ADMIN_PREFIX + '/notifications/{notification_id}',
|
'notifications_show': ADMIN_PREFIX + '/notifications/{notification_id}',
|
||||||
'notifications_update': ADMIN_PREFIX + '/notifications/{notification_id}/update',
|
'notifications_update': ADMIN_PREFIX + '/notifications/{notification_id}/update',
|
||||||
'notifications_delete': ADMIN_PREFIX + '/notifications/{notification_id}/delete',
|
'notifications_delete': ADMIN_PREFIX + '/notifications/{notification_id}/delete',
|
||||||
|
|
@ -60,6 +60,15 @@ class TestNotificationsController(TestController):
|
||||||
Session().delete(inst)
|
Session().delete(inst)
|
||||||
Session().commit()
|
Session().commit()
|
||||||
|
|
||||||
|
def test_mark_all_read(self, user_util):
|
||||||
|
user = user_util.create_user(password='qweqwe')
|
||||||
|
self.log_user(user.username, 'qweqwe')
|
||||||
|
|
||||||
|
self.app.post(
|
||||||
|
route_path('notifications_mark_all_read'), status=302,
|
||||||
|
params={'csrf_token': self.csrf_token}
|
||||||
|
)
|
||||||
|
|
||||||
def test_show_all(self, user_util):
|
def test_show_all(self, user_util):
|
||||||
user = user_util.create_user(password='qweqwe')
|
user = user_util.create_user(password='qweqwe')
|
||||||
user_id = user.user_id
|
user_id = user.user_id
|
||||||
|
|
|
||||||
|
|
@ -26,7 +26,6 @@ import formencode
|
||||||
import formencode.htmlfill
|
import formencode.htmlfill
|
||||||
import peppercorn
|
import peppercorn
|
||||||
from pyramid.httpexceptions import HTTPFound, HTTPNotFound
|
from pyramid.httpexceptions import HTTPFound, HTTPNotFound
|
||||||
from pyramid.view import view_config
|
|
||||||
|
|
||||||
from rhodecode.apps._base import BaseAppView, DataGridAppView
|
from rhodecode.apps._base import BaseAppView, DataGridAppView
|
||||||
from rhodecode import forms
|
from rhodecode import forms
|
||||||
|
|
@ -65,14 +64,10 @@ class MyAccountView(BaseAppView, DataGridAppView):
|
||||||
c = self._get_local_tmpl_context()
|
c = self._get_local_tmpl_context()
|
||||||
c.user = c.auth_user.get_instance()
|
c.user = c.auth_user.get_instance()
|
||||||
c.allow_scoped_tokens = self.ALLOW_SCOPED_TOKENS
|
c.allow_scoped_tokens = self.ALLOW_SCOPED_TOKENS
|
||||||
|
|
||||||
return c
|
return c
|
||||||
|
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@NotAnonymous()
|
@NotAnonymous()
|
||||||
@view_config(
|
|
||||||
route_name='my_account_profile', request_method='GET',
|
|
||||||
renderer='rhodecode:templates/admin/my_account/my_account.mako')
|
|
||||||
def my_account_profile(self):
|
def my_account_profile(self):
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
c.active = 'profile'
|
c.active = 'profile'
|
||||||
|
|
@ -81,9 +76,75 @@ class MyAccountView(BaseAppView, DataGridAppView):
|
||||||
|
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@NotAnonymous()
|
@NotAnonymous()
|
||||||
@view_config(
|
def my_account_edit(self):
|
||||||
route_name='my_account_password', request_method='GET',
|
c = self.load_default_context()
|
||||||
renderer='rhodecode:templates/admin/my_account/my_account.mako')
|
c.active = 'profile_edit'
|
||||||
|
c.extern_type = c.user.extern_type
|
||||||
|
c.extern_name = c.user.extern_name
|
||||||
|
|
||||||
|
schema = user_schema.UserProfileSchema().bind(
|
||||||
|
username=c.user.username, user_emails=c.user.emails)
|
||||||
|
appstruct = {
|
||||||
|
'username': c.user.username,
|
||||||
|
'email': c.user.email,
|
||||||
|
'firstname': c.user.firstname,
|
||||||
|
'lastname': c.user.lastname,
|
||||||
|
'description': c.user.description,
|
||||||
|
}
|
||||||
|
c.form = forms.RcForm(
|
||||||
|
schema, appstruct=appstruct,
|
||||||
|
action=h.route_path('my_account_update'),
|
||||||
|
buttons=(forms.buttons.save, forms.buttons.reset))
|
||||||
|
|
||||||
|
return self._get_template_context(c)
|
||||||
|
|
||||||
|
@LoginRequired()
|
||||||
|
@NotAnonymous()
|
||||||
|
@CSRFRequired()
|
||||||
|
def my_account_update(self):
|
||||||
|
_ = self.request.translate
|
||||||
|
c = self.load_default_context()
|
||||||
|
c.active = 'profile_edit'
|
||||||
|
c.perm_user = c.auth_user
|
||||||
|
c.extern_type = c.user.extern_type
|
||||||
|
c.extern_name = c.user.extern_name
|
||||||
|
|
||||||
|
schema = user_schema.UserProfileSchema().bind(
|
||||||
|
username=c.user.username, user_emails=c.user.emails)
|
||||||
|
form = forms.RcForm(
|
||||||
|
schema, buttons=(forms.buttons.save, forms.buttons.reset))
|
||||||
|
|
||||||
|
controls = self.request.POST.items()
|
||||||
|
try:
|
||||||
|
valid_data = form.validate(controls)
|
||||||
|
skip_attrs = ['admin', 'active', 'extern_type', 'extern_name',
|
||||||
|
'new_password', 'password_confirmation']
|
||||||
|
if c.extern_type != "rhodecode":
|
||||||
|
# forbid updating username for external accounts
|
||||||
|
skip_attrs.append('username')
|
||||||
|
old_email = c.user.email
|
||||||
|
UserModel().update_user(
|
||||||
|
self._rhodecode_user.user_id, skip_attrs=skip_attrs,
|
||||||
|
**valid_data)
|
||||||
|
if old_email != valid_data['email']:
|
||||||
|
old = UserEmailMap.query() \
|
||||||
|
.filter(UserEmailMap.user == c.user)\
|
||||||
|
.filter(UserEmailMap.email == valid_data['email'])\
|
||||||
|
.first()
|
||||||
|
old.email = old_email
|
||||||
|
h.flash(_('Your account was updated successfully'), category='success')
|
||||||
|
Session().commit()
|
||||||
|
except forms.ValidationFailure as e:
|
||||||
|
c.form = e
|
||||||
|
return self._get_template_context(c)
|
||||||
|
except Exception:
|
||||||
|
log.exception("Exception updating user")
|
||||||
|
h.flash(_('Error occurred during update of user'),
|
||||||
|
category='error')
|
||||||
|
raise HTTPFound(h.route_path('my_account_profile'))
|
||||||
|
|
||||||
|
@LoginRequired()
|
||||||
|
@NotAnonymous()
|
||||||
def my_account_password(self):
|
def my_account_password(self):
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
c.active = 'password'
|
c.active = 'password'
|
||||||
|
|
@ -103,9 +164,6 @@ class MyAccountView(BaseAppView, DataGridAppView):
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@NotAnonymous()
|
@NotAnonymous()
|
||||||
@CSRFRequired()
|
@CSRFRequired()
|
||||||
@view_config(
|
|
||||||
route_name='my_account_password_update', request_method='POST',
|
|
||||||
renderer='rhodecode:templates/admin/my_account/my_account.mako')
|
|
||||||
def my_account_password_update(self):
|
def my_account_password_update(self):
|
||||||
_ = self.request.translate
|
_ = self.request.translate
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
|
|
@ -146,9 +204,6 @@ class MyAccountView(BaseAppView, DataGridAppView):
|
||||||
|
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@NotAnonymous()
|
@NotAnonymous()
|
||||||
@view_config(
|
|
||||||
route_name='my_account_auth_tokens', request_method='GET',
|
|
||||||
renderer='rhodecode:templates/admin/my_account/my_account.mako')
|
|
||||||
def my_account_auth_tokens(self):
|
def my_account_auth_tokens(self):
|
||||||
_ = self.request.translate
|
_ = self.request.translate
|
||||||
|
|
||||||
|
|
@ -167,9 +222,6 @@ class MyAccountView(BaseAppView, DataGridAppView):
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@NotAnonymous()
|
@NotAnonymous()
|
||||||
@CSRFRequired()
|
@CSRFRequired()
|
||||||
@view_config(
|
|
||||||
route_name='my_account_auth_tokens_view', request_method='POST', xhr=True,
|
|
||||||
renderer='json_ext')
|
|
||||||
def my_account_auth_tokens_view(self):
|
def my_account_auth_tokens_view(self):
|
||||||
_ = self.request.translate
|
_ = self.request.translate
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
|
|
@ -192,8 +244,6 @@ class MyAccountView(BaseAppView, DataGridAppView):
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@NotAnonymous()
|
@NotAnonymous()
|
||||||
@CSRFRequired()
|
@CSRFRequired()
|
||||||
@view_config(
|
|
||||||
route_name='my_account_auth_tokens_add', request_method='POST',)
|
|
||||||
def my_account_auth_tokens_add(self):
|
def my_account_auth_tokens_add(self):
|
||||||
_ = self.request.translate
|
_ = self.request.translate
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
|
|
@ -220,8 +270,6 @@ class MyAccountView(BaseAppView, DataGridAppView):
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@NotAnonymous()
|
@NotAnonymous()
|
||||||
@CSRFRequired()
|
@CSRFRequired()
|
||||||
@view_config(
|
|
||||||
route_name='my_account_auth_tokens_delete', request_method='POST')
|
|
||||||
def my_account_auth_tokens_delete(self):
|
def my_account_auth_tokens_delete(self):
|
||||||
_ = self.request.translate
|
_ = self.request.translate
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
|
|
@ -244,9 +292,6 @@ class MyAccountView(BaseAppView, DataGridAppView):
|
||||||
|
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@NotAnonymous()
|
@NotAnonymous()
|
||||||
@view_config(
|
|
||||||
route_name='my_account_emails', request_method='GET',
|
|
||||||
renderer='rhodecode:templates/admin/my_account/my_account.mako')
|
|
||||||
def my_account_emails(self):
|
def my_account_emails(self):
|
||||||
_ = self.request.translate
|
_ = self.request.translate
|
||||||
|
|
||||||
|
|
@ -269,9 +314,6 @@ class MyAccountView(BaseAppView, DataGridAppView):
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@NotAnonymous()
|
@NotAnonymous()
|
||||||
@CSRFRequired()
|
@CSRFRequired()
|
||||||
@view_config(
|
|
||||||
route_name='my_account_emails_add', request_method='POST',
|
|
||||||
renderer='rhodecode:templates/admin/my_account/my_account.mako')
|
|
||||||
def my_account_emails_add(self):
|
def my_account_emails_add(self):
|
||||||
_ = self.request.translate
|
_ = self.request.translate
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
|
|
@ -312,8 +354,6 @@ class MyAccountView(BaseAppView, DataGridAppView):
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@NotAnonymous()
|
@NotAnonymous()
|
||||||
@CSRFRequired()
|
@CSRFRequired()
|
||||||
@view_config(
|
|
||||||
route_name='my_account_emails_delete', request_method='POST')
|
|
||||||
def my_account_emails_delete(self):
|
def my_account_emails_delete(self):
|
||||||
_ = self.request.translate
|
_ = self.request.translate
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
|
|
@ -334,9 +374,6 @@ class MyAccountView(BaseAppView, DataGridAppView):
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@NotAnonymous()
|
@NotAnonymous()
|
||||||
@CSRFRequired()
|
@CSRFRequired()
|
||||||
@view_config(
|
|
||||||
route_name='my_account_notifications_test_channelstream',
|
|
||||||
request_method='POST', renderer='json_ext')
|
|
||||||
def my_account_notifications_test_channelstream(self):
|
def my_account_notifications_test_channelstream(self):
|
||||||
message = 'Test message sent via Channelstream by user: {}, on {}'.format(
|
message = 'Test message sent via Channelstream by user: {}, on {}'.format(
|
||||||
self._rhodecode_user.username, datetime.datetime.now())
|
self._rhodecode_user.username, datetime.datetime.now())
|
||||||
|
|
@ -424,9 +461,6 @@ class MyAccountView(BaseAppView, DataGridAppView):
|
||||||
|
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@NotAnonymous()
|
@NotAnonymous()
|
||||||
@view_config(
|
|
||||||
route_name='my_account_repos', request_method='GET',
|
|
||||||
renderer='rhodecode:templates/admin/my_account/my_account.mako')
|
|
||||||
def my_account_repos(self):
|
def my_account_repos(self):
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
c.active = 'repos'
|
c.active = 'repos'
|
||||||
|
|
@ -437,9 +471,6 @@ class MyAccountView(BaseAppView, DataGridAppView):
|
||||||
|
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@NotAnonymous()
|
@NotAnonymous()
|
||||||
@view_config(
|
|
||||||
route_name='my_account_watched', request_method='GET',
|
|
||||||
renderer='rhodecode:templates/admin/my_account/my_account.mako')
|
|
||||||
def my_account_watched(self):
|
def my_account_watched(self):
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
c.active = 'watched'
|
c.active = 'watched'
|
||||||
|
|
@ -450,9 +481,6 @@ class MyAccountView(BaseAppView, DataGridAppView):
|
||||||
|
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@NotAnonymous()
|
@NotAnonymous()
|
||||||
@view_config(
|
|
||||||
route_name='my_account_bookmarks', request_method='GET',
|
|
||||||
renderer='rhodecode:templates/admin/my_account/my_account.mako')
|
|
||||||
def my_account_bookmarks(self):
|
def my_account_bookmarks(self):
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
c.active = 'bookmarks'
|
c.active = 'bookmarks'
|
||||||
|
|
@ -519,8 +547,6 @@ class MyAccountView(BaseAppView, DataGridAppView):
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@NotAnonymous()
|
@NotAnonymous()
|
||||||
@CSRFRequired()
|
@CSRFRequired()
|
||||||
@view_config(
|
|
||||||
route_name='my_account_bookmarks_update', request_method='POST')
|
|
||||||
def my_account_bookmarks_update(self):
|
def my_account_bookmarks_update(self):
|
||||||
_ = self.request.translate
|
_ = self.request.translate
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
|
|
@ -559,9 +585,6 @@ class MyAccountView(BaseAppView, DataGridAppView):
|
||||||
|
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@NotAnonymous()
|
@NotAnonymous()
|
||||||
@view_config(
|
|
||||||
route_name='my_account_goto_bookmark', request_method='GET',
|
|
||||||
renderer='rhodecode:templates/admin/my_account/my_account.mako')
|
|
||||||
def my_account_goto_bookmark(self):
|
def my_account_goto_bookmark(self):
|
||||||
|
|
||||||
bookmark_id = self.request.matchdict['bookmark_id']
|
bookmark_id = self.request.matchdict['bookmark_id']
|
||||||
|
|
@ -606,9 +629,6 @@ class MyAccountView(BaseAppView, DataGridAppView):
|
||||||
|
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@NotAnonymous()
|
@NotAnonymous()
|
||||||
@view_config(
|
|
||||||
route_name='my_account_perms', request_method='GET',
|
|
||||||
renderer='rhodecode:templates/admin/my_account/my_account.mako')
|
|
||||||
def my_account_perms(self):
|
def my_account_perms(self):
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
c.active = 'perms'
|
c.active = 'perms'
|
||||||
|
|
@ -618,9 +638,6 @@ class MyAccountView(BaseAppView, DataGridAppView):
|
||||||
|
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@NotAnonymous()
|
@NotAnonymous()
|
||||||
@view_config(
|
|
||||||
route_name='my_account_notifications', request_method='GET',
|
|
||||||
renderer='rhodecode:templates/admin/my_account/my_account.mako')
|
|
||||||
def my_notifications(self):
|
def my_notifications(self):
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
c.active = 'notifications'
|
c.active = 'notifications'
|
||||||
|
|
@ -630,9 +647,6 @@ class MyAccountView(BaseAppView, DataGridAppView):
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@NotAnonymous()
|
@NotAnonymous()
|
||||||
@CSRFRequired()
|
@CSRFRequired()
|
||||||
@view_config(
|
|
||||||
route_name='my_account_notifications_toggle_visibility',
|
|
||||||
request_method='POST', renderer='json_ext')
|
|
||||||
def my_notifications_toggle_visibility(self):
|
def my_notifications_toggle_visibility(self):
|
||||||
user = self._rhodecode_db_user
|
user = self._rhodecode_db_user
|
||||||
new_status = not user.user_data.get('notification_status', True)
|
new_status = not user.user_data.get('notification_status', True)
|
||||||
|
|
@ -640,83 +654,6 @@ class MyAccountView(BaseAppView, DataGridAppView):
|
||||||
Session().commit()
|
Session().commit()
|
||||||
return user.user_data['notification_status']
|
return user.user_data['notification_status']
|
||||||
|
|
||||||
@LoginRequired()
|
|
||||||
@NotAnonymous()
|
|
||||||
@view_config(
|
|
||||||
route_name='my_account_edit',
|
|
||||||
request_method='GET',
|
|
||||||
renderer='rhodecode:templates/admin/my_account/my_account.mako')
|
|
||||||
def my_account_edit(self):
|
|
||||||
c = self.load_default_context()
|
|
||||||
c.active = 'profile_edit'
|
|
||||||
c.extern_type = c.user.extern_type
|
|
||||||
c.extern_name = c.user.extern_name
|
|
||||||
|
|
||||||
schema = user_schema.UserProfileSchema().bind(
|
|
||||||
username=c.user.username, user_emails=c.user.emails)
|
|
||||||
appstruct = {
|
|
||||||
'username': c.user.username,
|
|
||||||
'email': c.user.email,
|
|
||||||
'firstname': c.user.firstname,
|
|
||||||
'lastname': c.user.lastname,
|
|
||||||
'description': c.user.description,
|
|
||||||
}
|
|
||||||
c.form = forms.RcForm(
|
|
||||||
schema, appstruct=appstruct,
|
|
||||||
action=h.route_path('my_account_update'),
|
|
||||||
buttons=(forms.buttons.save, forms.buttons.reset))
|
|
||||||
|
|
||||||
return self._get_template_context(c)
|
|
||||||
|
|
||||||
@LoginRequired()
|
|
||||||
@NotAnonymous()
|
|
||||||
@CSRFRequired()
|
|
||||||
@view_config(
|
|
||||||
route_name='my_account_update',
|
|
||||||
request_method='POST',
|
|
||||||
renderer='rhodecode:templates/admin/my_account/my_account.mako')
|
|
||||||
def my_account_update(self):
|
|
||||||
_ = self.request.translate
|
|
||||||
c = self.load_default_context()
|
|
||||||
c.active = 'profile_edit'
|
|
||||||
c.perm_user = c.auth_user
|
|
||||||
c.extern_type = c.user.extern_type
|
|
||||||
c.extern_name = c.user.extern_name
|
|
||||||
|
|
||||||
schema = user_schema.UserProfileSchema().bind(
|
|
||||||
username=c.user.username, user_emails=c.user.emails)
|
|
||||||
form = forms.RcForm(
|
|
||||||
schema, buttons=(forms.buttons.save, forms.buttons.reset))
|
|
||||||
|
|
||||||
controls = self.request.POST.items()
|
|
||||||
try:
|
|
||||||
valid_data = form.validate(controls)
|
|
||||||
skip_attrs = ['admin', 'active', 'extern_type', 'extern_name',
|
|
||||||
'new_password', 'password_confirmation']
|
|
||||||
if c.extern_type != "rhodecode":
|
|
||||||
# forbid updating username for external accounts
|
|
||||||
skip_attrs.append('username')
|
|
||||||
old_email = c.user.email
|
|
||||||
UserModel().update_user(
|
|
||||||
self._rhodecode_user.user_id, skip_attrs=skip_attrs,
|
|
||||||
**valid_data)
|
|
||||||
if old_email != valid_data['email']:
|
|
||||||
old = UserEmailMap.query() \
|
|
||||||
.filter(UserEmailMap.user == c.user)\
|
|
||||||
.filter(UserEmailMap.email == valid_data['email'])\
|
|
||||||
.first()
|
|
||||||
old.email = old_email
|
|
||||||
h.flash(_('Your account was updated successfully'), category='success')
|
|
||||||
Session().commit()
|
|
||||||
except forms.ValidationFailure as e:
|
|
||||||
c.form = e
|
|
||||||
return self._get_template_context(c)
|
|
||||||
except Exception:
|
|
||||||
log.exception("Exception updating user")
|
|
||||||
h.flash(_('Error occurred during update of user'),
|
|
||||||
category='error')
|
|
||||||
raise HTTPFound(h.route_path('my_account_profile'))
|
|
||||||
|
|
||||||
def _get_pull_requests_list(self, statuses):
|
def _get_pull_requests_list(self, statuses):
|
||||||
draw, start, limit = self._extract_chunk(self.request)
|
draw, start, limit = self._extract_chunk(self.request)
|
||||||
search_q, order_by, order_dir = self._extract_ordering(self.request)
|
search_q, order_by, order_dir = self._extract_ordering(self.request)
|
||||||
|
|
@ -781,10 +718,6 @@ class MyAccountView(BaseAppView, DataGridAppView):
|
||||||
|
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@NotAnonymous()
|
@NotAnonymous()
|
||||||
@view_config(
|
|
||||||
route_name='my_account_pullrequests',
|
|
||||||
request_method='GET',
|
|
||||||
renderer='rhodecode:templates/admin/my_account/my_account.mako')
|
|
||||||
def my_account_pullrequests(self):
|
def my_account_pullrequests(self):
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
c.active = 'pullrequests'
|
c.active = 'pullrequests'
|
||||||
|
|
@ -796,9 +729,6 @@ class MyAccountView(BaseAppView, DataGridAppView):
|
||||||
|
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@NotAnonymous()
|
@NotAnonymous()
|
||||||
@view_config(
|
|
||||||
route_name='my_account_pullrequests_data',
|
|
||||||
request_method='GET', renderer='json_ext')
|
|
||||||
def my_account_pullrequests_data(self):
|
def my_account_pullrequests_data(self):
|
||||||
self.load_default_context()
|
self.load_default_context()
|
||||||
req_get = self.request.GET
|
req_get = self.request.GET
|
||||||
|
|
@ -813,10 +743,6 @@ class MyAccountView(BaseAppView, DataGridAppView):
|
||||||
|
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@NotAnonymous()
|
@NotAnonymous()
|
||||||
@view_config(
|
|
||||||
route_name='my_account_user_group_membership',
|
|
||||||
request_method='GET',
|
|
||||||
renderer='rhodecode:templates/admin/my_account/my_account.mako')
|
|
||||||
def my_account_user_group_membership(self):
|
def my_account_user_group_membership(self):
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
c.active = 'user_group_membership'
|
c.active = 'user_group_membership'
|
||||||
|
|
|
||||||
|
|
@ -22,7 +22,6 @@ import logging
|
||||||
|
|
||||||
from pyramid.httpexceptions import (
|
from pyramid.httpexceptions import (
|
||||||
HTTPFound, HTTPNotFound, HTTPInternalServerError)
|
HTTPFound, HTTPNotFound, HTTPInternalServerError)
|
||||||
from pyramid.view import view_config
|
|
||||||
|
|
||||||
from rhodecode.apps._base import BaseAppView
|
from rhodecode.apps._base import BaseAppView
|
||||||
from rhodecode.lib.auth import LoginRequired, NotAnonymous, CSRFRequired
|
from rhodecode.lib.auth import LoginRequired, NotAnonymous, CSRFRequired
|
||||||
|
|
@ -57,9 +56,6 @@ class MyAccountNotificationsView(BaseAppView):
|
||||||
|
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@NotAnonymous()
|
@NotAnonymous()
|
||||||
@view_config(
|
|
||||||
route_name='notifications_show_all', request_method='GET',
|
|
||||||
renderer='rhodecode:templates/admin/notifications/notifications_show_all.mako')
|
|
||||||
def notifications_show_all(self):
|
def notifications_show_all(self):
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
|
|
||||||
|
|
@ -105,22 +101,6 @@ class MyAccountNotificationsView(BaseAppView):
|
||||||
|
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@NotAnonymous()
|
@NotAnonymous()
|
||||||
@CSRFRequired()
|
|
||||||
@view_config(
|
|
||||||
route_name='notifications_mark_all_read', request_method='POST',
|
|
||||||
renderer='rhodecode:templates/admin/notifications/notifications_show_all.mako')
|
|
||||||
def notifications_mark_all_read(self):
|
|
||||||
NotificationModel().mark_all_read_for_user(
|
|
||||||
self._rhodecode_db_user.user_id,
|
|
||||||
filter_=self.request.GET.getall('type'))
|
|
||||||
Session().commit()
|
|
||||||
raise HTTPFound(h.route_path('notifications_show_all'))
|
|
||||||
|
|
||||||
@LoginRequired()
|
|
||||||
@NotAnonymous()
|
|
||||||
@view_config(
|
|
||||||
route_name='notifications_show', request_method='GET',
|
|
||||||
renderer='rhodecode:templates/admin/notifications/notifications_show.mako')
|
|
||||||
def notifications_show(self):
|
def notifications_show(self):
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
notification_id = self.request.matchdict['notification_id']
|
notification_id = self.request.matchdict['notification_id']
|
||||||
|
|
@ -150,9 +130,16 @@ class MyAccountNotificationsView(BaseAppView):
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@NotAnonymous()
|
@NotAnonymous()
|
||||||
@CSRFRequired()
|
@CSRFRequired()
|
||||||
@view_config(
|
def notifications_mark_all_read(self):
|
||||||
route_name='notifications_update', request_method='POST',
|
NotificationModel().mark_all_read_for_user(
|
||||||
renderer='json_ext')
|
self._rhodecode_db_user.user_id,
|
||||||
|
filter_=self.request.GET.getall('type'))
|
||||||
|
Session().commit()
|
||||||
|
raise HTTPFound(h.route_path('notifications_show_all'))
|
||||||
|
|
||||||
|
@LoginRequired()
|
||||||
|
@NotAnonymous()
|
||||||
|
@CSRFRequired()
|
||||||
def notification_update(self):
|
def notification_update(self):
|
||||||
notification_id = self.request.matchdict['notification_id']
|
notification_id = self.request.matchdict['notification_id']
|
||||||
notification = Notification.get_or_404(notification_id)
|
notification = Notification.get_or_404(notification_id)
|
||||||
|
|
@ -177,9 +164,6 @@ class MyAccountNotificationsView(BaseAppView):
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@NotAnonymous()
|
@NotAnonymous()
|
||||||
@CSRFRequired()
|
@CSRFRequired()
|
||||||
@view_config(
|
|
||||||
route_name='notifications_delete', request_method='POST',
|
|
||||||
renderer='json_ext')
|
|
||||||
def notification_delete(self):
|
def notification_delete(self):
|
||||||
notification_id = self.request.matchdict['notification_id']
|
notification_id = self.request.matchdict['notification_id']
|
||||||
notification = Notification.get_or_404(notification_id)
|
notification = Notification.get_or_404(notification_id)
|
||||||
|
|
|
||||||
|
|
@ -21,7 +21,6 @@
|
||||||
import logging
|
import logging
|
||||||
|
|
||||||
from pyramid.httpexceptions import HTTPFound
|
from pyramid.httpexceptions import HTTPFound
|
||||||
from pyramid.view import view_config
|
|
||||||
|
|
||||||
from rhodecode.apps._base import BaseAppView, DataGridAppView
|
from rhodecode.apps._base import BaseAppView, DataGridAppView
|
||||||
from rhodecode.apps.ssh_support import SshKeyFileChangeEvent
|
from rhodecode.apps.ssh_support import SshKeyFileChangeEvent
|
||||||
|
|
@ -41,17 +40,12 @@ class MyAccountSshKeysView(BaseAppView, DataGridAppView):
|
||||||
def load_default_context(self):
|
def load_default_context(self):
|
||||||
c = self._get_local_tmpl_context()
|
c = self._get_local_tmpl_context()
|
||||||
c.user = c.auth_user.get_instance()
|
c.user = c.auth_user.get_instance()
|
||||||
|
|
||||||
c.ssh_enabled = self.request.registry.settings.get(
|
c.ssh_enabled = self.request.registry.settings.get(
|
||||||
'ssh.generate_authorized_keyfile')
|
'ssh.generate_authorized_keyfile')
|
||||||
|
|
||||||
return c
|
return c
|
||||||
|
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@NotAnonymous()
|
@NotAnonymous()
|
||||||
@view_config(
|
|
||||||
route_name='my_account_ssh_keys', request_method='GET',
|
|
||||||
renderer='rhodecode:templates/admin/my_account/my_account.mako')
|
|
||||||
def my_account_ssh_keys(self):
|
def my_account_ssh_keys(self):
|
||||||
_ = self.request.translate
|
_ = self.request.translate
|
||||||
|
|
||||||
|
|
@ -63,9 +57,6 @@ class MyAccountSshKeysView(BaseAppView, DataGridAppView):
|
||||||
|
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@NotAnonymous()
|
@NotAnonymous()
|
||||||
@view_config(
|
|
||||||
route_name='my_account_ssh_keys_generate', request_method='GET',
|
|
||||||
renderer='rhodecode:templates/admin/my_account/my_account.mako')
|
|
||||||
def ssh_keys_generate_keypair(self):
|
def ssh_keys_generate_keypair(self):
|
||||||
_ = self.request.translate
|
_ = self.request.translate
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
|
|
@ -84,8 +75,6 @@ class MyAccountSshKeysView(BaseAppView, DataGridAppView):
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@NotAnonymous()
|
@NotAnonymous()
|
||||||
@CSRFRequired()
|
@CSRFRequired()
|
||||||
@view_config(
|
|
||||||
route_name='my_account_ssh_keys_add', request_method='POST',)
|
|
||||||
def my_account_ssh_keys_add(self):
|
def my_account_ssh_keys_add(self):
|
||||||
_ = self.request.translate
|
_ = self.request.translate
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
|
|
@ -132,8 +121,6 @@ class MyAccountSshKeysView(BaseAppView, DataGridAppView):
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@NotAnonymous()
|
@NotAnonymous()
|
||||||
@CSRFRequired()
|
@CSRFRequired()
|
||||||
@view_config(
|
|
||||||
route_name='my_account_ssh_keys_delete', request_method='POST')
|
|
||||||
def my_account_ssh_keys_delete(self):
|
def my_account_ssh_keys_delete(self):
|
||||||
_ = self.request.translate
|
_ = self.request.translate
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
|
|
|
||||||
|
|
@ -22,25 +22,35 @@ from rhodecode.apps._base import ADMIN_PREFIX
|
||||||
|
|
||||||
|
|
||||||
def admin_routes(config):
|
def admin_routes(config):
|
||||||
|
from rhodecode.apps.ops.views import OpsView
|
||||||
|
|
||||||
config.add_route(
|
config.add_route(
|
||||||
name='ops_ping',
|
name='ops_ping',
|
||||||
pattern='/ping')
|
pattern='/ping')
|
||||||
|
config.add_view(
|
||||||
|
OpsView,
|
||||||
|
attr='ops_ping',
|
||||||
|
route_name='ops_ping', request_method='GET',
|
||||||
|
renderer='json_ext')
|
||||||
|
|
||||||
config.add_route(
|
config.add_route(
|
||||||
name='ops_error_test',
|
name='ops_error_test',
|
||||||
pattern='/error')
|
pattern='/error')
|
||||||
|
config.add_view(
|
||||||
|
OpsView,
|
||||||
|
attr='ops_error_test',
|
||||||
|
route_name='ops_error_test', request_method='GET',
|
||||||
|
renderer='json_ext')
|
||||||
|
|
||||||
config.add_route(
|
config.add_route(
|
||||||
name='ops_redirect_test',
|
name='ops_redirect_test',
|
||||||
pattern='/redirect')
|
pattern='/redirect')
|
||||||
|
config.add_view(
|
||||||
|
OpsView,
|
||||||
|
attr='ops_redirect_test',
|
||||||
|
route_name='ops_redirect_test', request_method='GET',
|
||||||
|
renderer='json_ext')
|
||||||
|
|
||||||
|
|
||||||
def includeme(config):
|
def includeme(config):
|
||||||
|
|
||||||
config.include(admin_routes, route_prefix=ADMIN_PREFIX + '/ops')
|
config.include(admin_routes, route_prefix=ADMIN_PREFIX + '/ops')
|
||||||
# make OLD entries from <4.10.0 work
|
|
||||||
config.add_route(
|
|
||||||
name='ops_ping_legacy', pattern=ADMIN_PREFIX + '/ping')
|
|
||||||
config.add_route(
|
|
||||||
name='ops_error_test_legacy', pattern=ADMIN_PREFIX + '/error_test')
|
|
||||||
|
|
||||||
# Scan module for configuration decorators.
|
|
||||||
config.scan('.views', ignore='.tests')
|
|
||||||
|
|
|
||||||
|
|
@ -21,7 +21,7 @@
|
||||||
import time
|
import time
|
||||||
import logging
|
import logging
|
||||||
|
|
||||||
from pyramid.view import view_config
|
|
||||||
from pyramid.httpexceptions import HTTPFound
|
from pyramid.httpexceptions import HTTPFound
|
||||||
|
|
||||||
from rhodecode.apps._base import BaseAppView
|
from rhodecode.apps._base import BaseAppView
|
||||||
|
|
@ -38,12 +38,6 @@ class OpsView(BaseAppView):
|
||||||
|
|
||||||
return c
|
return c
|
||||||
|
|
||||||
@view_config(
|
|
||||||
route_name='ops_ping', request_method='GET',
|
|
||||||
renderer='json_ext')
|
|
||||||
@view_config(
|
|
||||||
route_name='ops_ping_legacy', request_method='GET',
|
|
||||||
renderer='json_ext')
|
|
||||||
def ops_ping(self):
|
def ops_ping(self):
|
||||||
data = {
|
data = {
|
||||||
'instance': self.request.registry.settings.get('instance_id'),
|
'instance': self.request.registry.settings.get('instance_id'),
|
||||||
|
|
@ -59,12 +53,6 @@ class OpsView(BaseAppView):
|
||||||
})
|
})
|
||||||
return {'ok': data}
|
return {'ok': data}
|
||||||
|
|
||||||
@view_config(
|
|
||||||
route_name='ops_error_test', request_method='GET',
|
|
||||||
renderer='json_ext')
|
|
||||||
@view_config(
|
|
||||||
route_name='ops_error_test_legacy', request_method='GET',
|
|
||||||
renderer='json_ext')
|
|
||||||
def ops_error_test(self):
|
def ops_error_test(self):
|
||||||
"""
|
"""
|
||||||
Test exception handling and emails on errors
|
Test exception handling and emails on errors
|
||||||
|
|
@ -78,9 +66,6 @@ class OpsView(BaseAppView):
|
||||||
'Client:{}. Generation time: {}.'.format(self.request.user, time.time()))
|
'Client:{}. Generation time: {}.'.format(self.request.user, time.time()))
|
||||||
raise TestException(msg)
|
raise TestException(msg)
|
||||||
|
|
||||||
@view_config(
|
|
||||||
route_name='ops_redirect_test', request_method='GET',
|
|
||||||
renderer='json_ext')
|
|
||||||
def ops_redirect_test(self):
|
def ops_redirect_test(self):
|
||||||
"""
|
"""
|
||||||
Test redirect handling
|
Test redirect handling
|
||||||
|
|
|
||||||
|
|
@ -18,6 +18,10 @@
|
||||||
# RhodeCode Enterprise Edition, including its added features, Support services,
|
# RhodeCode Enterprise Edition, including its added features, Support services,
|
||||||
# and proprietary license terms, please see https://rhodecode.com/licenses/
|
# and proprietary license terms, please see https://rhodecode.com/licenses/
|
||||||
from rhodecode.apps._base import add_route_with_slash
|
from rhodecode.apps._base import add_route_with_slash
|
||||||
|
from rhodecode.apps.repo_group.views.repo_group_settings import RepoGroupSettingsView
|
||||||
|
from rhodecode.apps.repo_group.views.repo_group_advanced import RepoGroupAdvancedSettingsView
|
||||||
|
from rhodecode.apps.repo_group.views.repo_group_permissions import RepoGroupPermissionsView
|
||||||
|
from rhodecode.apps.home.views import HomeView
|
||||||
|
|
||||||
|
|
||||||
def includeme(config):
|
def includeme(config):
|
||||||
|
|
@ -27,35 +31,72 @@ def includeme(config):
|
||||||
name='edit_repo_group',
|
name='edit_repo_group',
|
||||||
pattern='/{repo_group_name:.*?[^/]}/_edit',
|
pattern='/{repo_group_name:.*?[^/]}/_edit',
|
||||||
repo_group_route=True)
|
repo_group_route=True)
|
||||||
# update is POST on edit_repo_group
|
config.add_view(
|
||||||
|
RepoGroupSettingsView,
|
||||||
|
attr='edit_settings',
|
||||||
|
route_name='edit_repo_group', request_method='GET',
|
||||||
|
renderer='rhodecode:templates/admin/repo_groups/repo_group_edit.mako')
|
||||||
|
config.add_view(
|
||||||
|
RepoGroupSettingsView,
|
||||||
|
attr='edit_settings_update',
|
||||||
|
route_name='edit_repo_group', request_method='POST',
|
||||||
|
renderer='rhodecode:templates/admin/repo_groups/repo_group_edit.mako')
|
||||||
|
|
||||||
# Settings advanced
|
# Settings advanced
|
||||||
config.add_route(
|
config.add_route(
|
||||||
name='edit_repo_group_advanced',
|
name='edit_repo_group_advanced',
|
||||||
pattern='/{repo_group_name:.*?[^/]}/_settings/advanced',
|
pattern='/{repo_group_name:.*?[^/]}/_settings/advanced',
|
||||||
repo_group_route=True)
|
repo_group_route=True)
|
||||||
|
config.add_view(
|
||||||
|
RepoGroupAdvancedSettingsView,
|
||||||
|
attr='edit_repo_group_advanced',
|
||||||
|
route_name='edit_repo_group_advanced', request_method='GET',
|
||||||
|
renderer='rhodecode:templates/admin/repo_groups/repo_group_edit.mako')
|
||||||
|
|
||||||
config.add_route(
|
config.add_route(
|
||||||
name='edit_repo_group_advanced_delete',
|
name='edit_repo_group_advanced_delete',
|
||||||
pattern='/{repo_group_name:.*?[^/]}/_settings/advanced/delete',
|
pattern='/{repo_group_name:.*?[^/]}/_settings/advanced/delete',
|
||||||
repo_group_route=True)
|
repo_group_route=True)
|
||||||
|
config.add_view(
|
||||||
|
RepoGroupAdvancedSettingsView,
|
||||||
|
attr='edit_repo_group_delete',
|
||||||
|
route_name='edit_repo_group_advanced_delete', request_method='POST',
|
||||||
|
renderer='rhodecode:templates/admin/repo_groups/repo_group_edit.mako')
|
||||||
|
|
||||||
# settings permissions
|
# settings permissions
|
||||||
config.add_route(
|
config.add_route(
|
||||||
name='edit_repo_group_perms',
|
name='edit_repo_group_perms',
|
||||||
pattern='/{repo_group_name:.*?[^/]}/_settings/permissions',
|
pattern='/{repo_group_name:.*?[^/]}/_settings/permissions',
|
||||||
repo_group_route=True)
|
repo_group_route=True)
|
||||||
|
config.add_view(
|
||||||
|
RepoGroupPermissionsView,
|
||||||
|
attr='edit_repo_group_permissions',
|
||||||
|
route_name='edit_repo_group_perms', request_method='GET',
|
||||||
|
renderer='rhodecode:templates/admin/repo_groups/repo_group_edit.mako')
|
||||||
|
|
||||||
config.add_route(
|
config.add_route(
|
||||||
name='edit_repo_group_perms_update',
|
name='edit_repo_group_perms_update',
|
||||||
pattern='/{repo_group_name:.*?[^/]}/_settings/permissions/update',
|
pattern='/{repo_group_name:.*?[^/]}/_settings/permissions/update',
|
||||||
repo_group_route=True)
|
repo_group_route=True)
|
||||||
|
config.add_view(
|
||||||
|
RepoGroupPermissionsView,
|
||||||
|
attr='edit_repo_groups_permissions_update',
|
||||||
|
route_name='edit_repo_group_perms_update', request_method='POST',
|
||||||
|
renderer='rhodecode:templates/admin/repo_groups/repo_group_edit.mako')
|
||||||
|
|
||||||
# Summary, NOTE(marcink): needs to be at the end for catch-all
|
# Summary, NOTE(marcink): needs to be at the end for catch-all
|
||||||
add_route_with_slash(
|
add_route_with_slash(
|
||||||
config,
|
config,
|
||||||
name='repo_group_home',
|
name='repo_group_home',
|
||||||
pattern='/{repo_group_name:.*?[^/]}', repo_group_route=True)
|
pattern='/{repo_group_name:.*?[^/]}', repo_group_route=True)
|
||||||
|
config.add_view(
|
||||||
|
HomeView,
|
||||||
|
attr='repo_group_main_page',
|
||||||
|
route_name='repo_group_home', request_method='GET',
|
||||||
|
renderer='rhodecode:templates/index_repo_group.mako')
|
||||||
|
config.add_view(
|
||||||
|
HomeView,
|
||||||
|
attr='repo_group_main_page',
|
||||||
|
route_name='repo_group_home_slash', request_method='GET',
|
||||||
|
renderer='rhodecode:templates/index_repo_group.mako')
|
||||||
|
|
||||||
# Scan module for configuration decorators.
|
|
||||||
config.scan('.views', ignore='.tests')
|
|
||||||
|
|
|
||||||
|
|
@ -20,7 +20,7 @@
|
||||||
|
|
||||||
import logging
|
import logging
|
||||||
|
|
||||||
from pyramid.view import view_config
|
|
||||||
from pyramid.httpexceptions import HTTPFound
|
from pyramid.httpexceptions import HTTPFound
|
||||||
|
|
||||||
from rhodecode.apps._base import RepoGroupAppView
|
from rhodecode.apps._base import RepoGroupAppView
|
||||||
|
|
@ -34,17 +34,13 @@ from rhodecode.model.meta import Session
|
||||||
log = logging.getLogger(__name__)
|
log = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
|
||||||
class RepoGroupSettingsView(RepoGroupAppView):
|
class RepoGroupAdvancedSettingsView(RepoGroupAppView):
|
||||||
def load_default_context(self):
|
def load_default_context(self):
|
||||||
c = self._get_local_tmpl_context()
|
c = self._get_local_tmpl_context()
|
||||||
|
|
||||||
return c
|
return c
|
||||||
|
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasRepoGroupPermissionAnyDecorator('group.admin')
|
@HasRepoGroupPermissionAnyDecorator('group.admin')
|
||||||
@view_config(
|
|
||||||
route_name='edit_repo_group_advanced', request_method='GET',
|
|
||||||
renderer='rhodecode:templates/admin/repo_groups/repo_group_edit.mako')
|
|
||||||
def edit_repo_group_advanced(self):
|
def edit_repo_group_advanced(self):
|
||||||
_ = self.request.translate
|
_ = self.request.translate
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
|
|
@ -61,9 +57,6 @@ class RepoGroupSettingsView(RepoGroupAppView):
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasRepoGroupPermissionAnyDecorator('group.admin')
|
@HasRepoGroupPermissionAnyDecorator('group.admin')
|
||||||
@CSRFRequired()
|
@CSRFRequired()
|
||||||
@view_config(
|
|
||||||
route_name='edit_repo_group_advanced_delete', request_method='POST',
|
|
||||||
renderer='rhodecode:templates/admin/repo_groups/repo_group_edit.mako')
|
|
||||||
def edit_repo_group_delete(self):
|
def edit_repo_group_delete(self):
|
||||||
_ = self.request.translate
|
_ = self.request.translate
|
||||||
_ungettext = self.request.plularize
|
_ungettext = self.request.plularize
|
||||||
|
|
|
||||||
|
|
@ -20,7 +20,7 @@
|
||||||
|
|
||||||
import logging
|
import logging
|
||||||
|
|
||||||
from pyramid.view import view_config
|
|
||||||
from pyramid.httpexceptions import HTTPFound
|
from pyramid.httpexceptions import HTTPFound
|
||||||
|
|
||||||
from rhodecode.apps._base import RepoGroupAppView
|
from rhodecode.apps._base import RepoGroupAppView
|
||||||
|
|
@ -45,9 +45,6 @@ class RepoGroupPermissionsView(RepoGroupAppView):
|
||||||
|
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasRepoGroupPermissionAnyDecorator('group.admin')
|
@HasRepoGroupPermissionAnyDecorator('group.admin')
|
||||||
@view_config(
|
|
||||||
route_name='edit_repo_group_perms', request_method='GET',
|
|
||||||
renderer='rhodecode:templates/admin/repo_groups/repo_group_edit.mako')
|
|
||||||
def edit_repo_group_permissions(self):
|
def edit_repo_group_permissions(self):
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
c.active = 'permissions'
|
c.active = 'permissions'
|
||||||
|
|
@ -57,9 +54,6 @@ class RepoGroupPermissionsView(RepoGroupAppView):
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasRepoGroupPermissionAnyDecorator('group.admin')
|
@HasRepoGroupPermissionAnyDecorator('group.admin')
|
||||||
@CSRFRequired()
|
@CSRFRequired()
|
||||||
@view_config(
|
|
||||||
route_name='edit_repo_group_perms_update', request_method='POST',
|
|
||||||
renderer='rhodecode:templates/admin/repo_groups/repo_group_edit.mako')
|
|
||||||
def edit_repo_groups_permissions_update(self):
|
def edit_repo_groups_permissions_update(self):
|
||||||
_ = self.request.translate
|
_ = self.request.translate
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
|
|
|
||||||
|
|
@ -21,7 +21,7 @@
|
||||||
import logging
|
import logging
|
||||||
import deform
|
import deform
|
||||||
|
|
||||||
from pyramid.view import view_config
|
|
||||||
from pyramid.httpexceptions import HTTPFound
|
from pyramid.httpexceptions import HTTPFound
|
||||||
|
|
||||||
from rhodecode import events
|
from rhodecode import events
|
||||||
|
|
@ -109,9 +109,6 @@ class RepoGroupSettingsView(RepoGroupAppView):
|
||||||
|
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasRepoGroupPermissionAnyDecorator('group.admin')
|
@HasRepoGroupPermissionAnyDecorator('group.admin')
|
||||||
@view_config(
|
|
||||||
route_name='edit_repo_group', request_method='GET',
|
|
||||||
renderer='rhodecode:templates/admin/repo_groups/repo_group_edit.mako')
|
|
||||||
def edit_settings(self):
|
def edit_settings(self):
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
c.active = 'settings'
|
c.active = 'settings'
|
||||||
|
|
@ -126,9 +123,6 @@ class RepoGroupSettingsView(RepoGroupAppView):
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasRepoGroupPermissionAnyDecorator('group.admin')
|
@HasRepoGroupPermissionAnyDecorator('group.admin')
|
||||||
@CSRFRequired()
|
@CSRFRequired()
|
||||||
@view_config(
|
|
||||||
route_name='edit_repo_group', request_method='POST',
|
|
||||||
renderer='rhodecode:templates/admin/repo_groups/repo_group_edit.mako')
|
|
||||||
def edit_settings_update(self):
|
def edit_settings_update(self):
|
||||||
_ = self.request.translate
|
_ = self.request.translate
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
|
|
|
||||||
File diff suppressed because it is too large
Load diff
|
|
@ -20,7 +20,7 @@
|
||||||
|
|
||||||
import logging
|
import logging
|
||||||
|
|
||||||
from pyramid.view import view_config
|
|
||||||
|
|
||||||
from rhodecode.apps._base import RepoAppView
|
from rhodecode.apps._base import RepoAppView
|
||||||
from rhodecode.lib.auth import (
|
from rhodecode.lib.auth import (
|
||||||
|
|
@ -39,9 +39,6 @@ class RepoArtifactsView(RepoAppView):
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasRepoPermissionAnyDecorator(
|
@HasRepoPermissionAnyDecorator(
|
||||||
'repository.read', 'repository.write', 'repository.admin')
|
'repository.read', 'repository.write', 'repository.admin')
|
||||||
@view_config(
|
|
||||||
route_name='repo_artifacts_list', request_method='GET',
|
|
||||||
renderer='rhodecode:templates/artifacts/artifact_list.mako')
|
|
||||||
def repo_artifacts(self):
|
def repo_artifacts(self):
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
c.active = 'artifacts'
|
c.active = 'artifacts'
|
||||||
|
|
|
||||||
|
|
@ -19,7 +19,7 @@
|
||||||
# and proprietary license terms, please see https://rhodecode.com/licenses/
|
# and proprietary license terms, please see https://rhodecode.com/licenses/
|
||||||
|
|
||||||
import logging
|
import logging
|
||||||
from pyramid.view import view_config
|
|
||||||
|
|
||||||
from rhodecode.apps._base import RepoAppView
|
from rhodecode.apps._base import RepoAppView
|
||||||
from rhodecode.lib.helpers import SqlPage
|
from rhodecode.lib.helpers import SqlPage
|
||||||
|
|
@ -38,9 +38,6 @@ class AuditLogsView(RepoAppView):
|
||||||
|
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasRepoPermissionAnyDecorator('repository.admin')
|
@HasRepoPermissionAnyDecorator('repository.admin')
|
||||||
@view_config(
|
|
||||||
route_name='edit_repo_audit_logs', request_method='GET',
|
|
||||||
renderer='rhodecode:templates/admin/repos/repo_edit.mako')
|
|
||||||
def repo_audit_logs(self):
|
def repo_audit_logs(self):
|
||||||
_ = self.request.translate
|
_ = self.request.translate
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
|
|
|
||||||
|
|
@ -20,7 +20,7 @@
|
||||||
|
|
||||||
import logging
|
import logging
|
||||||
|
|
||||||
from pyramid.view import view_config
|
|
||||||
|
|
||||||
from rhodecode.apps._base import RepoAppView
|
from rhodecode.apps._base import RepoAppView
|
||||||
from rhodecode.apps.repository.utils import get_default_reviewers_data
|
from rhodecode.apps.repository.utils import get_default_reviewers_data
|
||||||
|
|
@ -36,9 +36,6 @@ class RepoAutomationView(RepoAppView):
|
||||||
|
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasRepoPermissionAnyDecorator('repository.admin')
|
@HasRepoPermissionAnyDecorator('repository.admin')
|
||||||
@view_config(
|
|
||||||
route_name='repo_automation', request_method='GET',
|
|
||||||
renderer='rhodecode:templates/admin/repos/repo_edit.mako')
|
|
||||||
def repo_automation(self):
|
def repo_automation(self):
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
c.active = 'automation'
|
c.active = 'automation'
|
||||||
|
|
|
||||||
|
|
@ -20,7 +20,7 @@
|
||||||
import logging
|
import logging
|
||||||
|
|
||||||
from pyramid.httpexceptions import HTTPNotFound
|
from pyramid.httpexceptions import HTTPNotFound
|
||||||
from pyramid.view import view_config
|
|
||||||
|
|
||||||
from rhodecode.apps._base import BaseReferencesView
|
from rhodecode.apps._base import BaseReferencesView
|
||||||
from rhodecode.lib.ext_json import json
|
from rhodecode.lib.ext_json import json
|
||||||
|
|
@ -36,9 +36,6 @@ class RepoBookmarksView(BaseReferencesView):
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasRepoPermissionAnyDecorator(
|
@HasRepoPermissionAnyDecorator(
|
||||||
'repository.read', 'repository.write', 'repository.admin')
|
'repository.read', 'repository.write', 'repository.admin')
|
||||||
@view_config(
|
|
||||||
route_name='bookmarks_home', request_method='GET',
|
|
||||||
renderer='rhodecode:templates/bookmarks/bookmarks.mako')
|
|
||||||
def bookmarks(self):
|
def bookmarks(self):
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -20,7 +20,7 @@
|
||||||
|
|
||||||
import logging
|
import logging
|
||||||
|
|
||||||
from pyramid.view import view_config
|
|
||||||
|
|
||||||
from rhodecode.apps._base import RepoAppView
|
from rhodecode.apps._base import RepoAppView
|
||||||
from rhodecode.lib.auth import LoginRequired, HasRepoPermissionAnyDecorator
|
from rhodecode.lib.auth import LoginRequired, HasRepoPermissionAnyDecorator
|
||||||
|
|
@ -36,9 +36,6 @@ class RepoSettingsBranchPermissionsView(RepoAppView):
|
||||||
|
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasRepoPermissionAnyDecorator('repository.admin')
|
@HasRepoPermissionAnyDecorator('repository.admin')
|
||||||
@view_config(
|
|
||||||
route_name='edit_repo_perms_branch', request_method='GET',
|
|
||||||
renderer='rhodecode:templates/admin/repos/repo_edit.mako')
|
|
||||||
def branch_permissions(self):
|
def branch_permissions(self):
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
c.active = 'permissions_branch'
|
c.active = 'permissions_branch'
|
||||||
|
|
|
||||||
|
|
@ -19,7 +19,7 @@
|
||||||
# and proprietary license terms, please see https://rhodecode.com/licenses/
|
# and proprietary license terms, please see https://rhodecode.com/licenses/
|
||||||
|
|
||||||
import logging
|
import logging
|
||||||
from pyramid.view import view_config
|
|
||||||
|
|
||||||
from rhodecode.apps._base import BaseReferencesView
|
from rhodecode.apps._base import BaseReferencesView
|
||||||
from rhodecode.lib.ext_json import json
|
from rhodecode.lib.ext_json import json
|
||||||
|
|
@ -34,9 +34,6 @@ class RepoBranchesView(BaseReferencesView):
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasRepoPermissionAnyDecorator(
|
@HasRepoPermissionAnyDecorator(
|
||||||
'repository.read', 'repository.write', 'repository.admin')
|
'repository.read', 'repository.write', 'repository.admin')
|
||||||
@view_config(
|
|
||||||
route_name='branches_home', request_method='GET',
|
|
||||||
renderer='rhodecode:templates/branches/branches.mako')
|
|
||||||
def branches(self):
|
def branches(self):
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -22,7 +22,7 @@ import os
|
||||||
import logging
|
import logging
|
||||||
|
|
||||||
from pyramid.httpexceptions import HTTPFound
|
from pyramid.httpexceptions import HTTPFound
|
||||||
from pyramid.view import view_config
|
|
||||||
|
|
||||||
from rhodecode.apps._base import RepoAppView
|
from rhodecode.apps._base import RepoAppView
|
||||||
from rhodecode.lib.auth import (
|
from rhodecode.lib.auth import (
|
||||||
|
|
@ -42,9 +42,6 @@ class RepoCachesView(RepoAppView):
|
||||||
|
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasRepoPermissionAnyDecorator('repository.admin')
|
@HasRepoPermissionAnyDecorator('repository.admin')
|
||||||
@view_config(
|
|
||||||
route_name='edit_repo_caches', request_method='GET',
|
|
||||||
renderer='rhodecode:templates/admin/repos/repo_edit.mako')
|
|
||||||
def repo_caches(self):
|
def repo_caches(self):
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
c.active = 'caches'
|
c.active = 'caches'
|
||||||
|
|
@ -65,8 +62,6 @@ class RepoCachesView(RepoAppView):
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasRepoPermissionAnyDecorator('repository.admin')
|
@HasRepoPermissionAnyDecorator('repository.admin')
|
||||||
@CSRFRequired()
|
@CSRFRequired()
|
||||||
@view_config(
|
|
||||||
route_name='edit_repo_caches', request_method='POST')
|
|
||||||
def repo_caches_purge(self):
|
def repo_caches_purge(self):
|
||||||
_ = self.request.translate
|
_ = self.request.translate
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
|
|
|
||||||
|
|
@ -22,7 +22,7 @@
|
||||||
import logging
|
import logging
|
||||||
|
|
||||||
from pyramid.httpexceptions import HTTPNotFound, HTTPFound
|
from pyramid.httpexceptions import HTTPNotFound, HTTPFound
|
||||||
from pyramid.view import view_config
|
|
||||||
from pyramid.renderers import render
|
from pyramid.renderers import render
|
||||||
from pyramid.response import Response
|
from pyramid.response import Response
|
||||||
|
|
||||||
|
|
@ -176,19 +176,6 @@ class RepoChangelogView(RepoAppView):
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasRepoPermissionAnyDecorator(
|
@HasRepoPermissionAnyDecorator(
|
||||||
'repository.read', 'repository.write', 'repository.admin')
|
'repository.read', 'repository.write', 'repository.admin')
|
||||||
@view_config(
|
|
||||||
route_name='repo_commits', request_method='GET',
|
|
||||||
renderer='rhodecode:templates/commits/changelog.mako')
|
|
||||||
@view_config(
|
|
||||||
route_name='repo_commits_file', request_method='GET',
|
|
||||||
renderer='rhodecode:templates/commits/changelog.mako')
|
|
||||||
# old routes for backward compat
|
|
||||||
@view_config(
|
|
||||||
route_name='repo_changelog', request_method='GET',
|
|
||||||
renderer='rhodecode:templates/commits/changelog.mako')
|
|
||||||
@view_config(
|
|
||||||
route_name='repo_changelog_file', request_method='GET',
|
|
||||||
renderer='rhodecode:templates/commits/changelog.mako')
|
|
||||||
def repo_changelog(self):
|
def repo_changelog(self):
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
|
|
||||||
|
|
@ -291,14 +278,6 @@ class RepoChangelogView(RepoAppView):
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasRepoPermissionAnyDecorator(
|
@HasRepoPermissionAnyDecorator(
|
||||||
'repository.read', 'repository.write', 'repository.admin')
|
'repository.read', 'repository.write', 'repository.admin')
|
||||||
@view_config(
|
|
||||||
route_name='repo_commits_elements', request_method=('GET', 'POST'),
|
|
||||||
renderer='rhodecode:templates/commits/changelog_elements.mako',
|
|
||||||
xhr=True)
|
|
||||||
@view_config(
|
|
||||||
route_name='repo_commits_elements_file', request_method=('GET', 'POST'),
|
|
||||||
renderer='rhodecode:templates/commits/changelog_elements.mako',
|
|
||||||
xhr=True)
|
|
||||||
def repo_commits_elements(self):
|
def repo_commits_elements(self):
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
commit_id = self.request.matchdict.get('commit_id')
|
commit_id = self.request.matchdict.get('commit_id')
|
||||||
|
|
|
||||||
|
|
@ -20,10 +20,8 @@
|
||||||
|
|
||||||
import logging
|
import logging
|
||||||
|
|
||||||
from pyramid.view import view_config
|
|
||||||
from pyramid.httpexceptions import HTTPFound, HTTPNotFound
|
from pyramid.httpexceptions import HTTPFound, HTTPNotFound
|
||||||
|
|
||||||
from rhodecode import events
|
|
||||||
from rhodecode.apps._base import BaseAppView
|
from rhodecode.apps._base import BaseAppView
|
||||||
from rhodecode.lib import helpers as h
|
from rhodecode.lib import helpers as h
|
||||||
from rhodecode.lib.auth import (NotAnonymous, HasRepoPermissionAny)
|
from rhodecode.lib.auth import (NotAnonymous, HasRepoPermissionAny)
|
||||||
|
|
@ -37,13 +35,9 @@ log = logging.getLogger(__name__)
|
||||||
class RepoChecksView(BaseAppView):
|
class RepoChecksView(BaseAppView):
|
||||||
def load_default_context(self):
|
def load_default_context(self):
|
||||||
c = self._get_local_tmpl_context()
|
c = self._get_local_tmpl_context()
|
||||||
|
|
||||||
return c
|
return c
|
||||||
|
|
||||||
@NotAnonymous()
|
@NotAnonymous()
|
||||||
@view_config(
|
|
||||||
route_name='repo_creating', request_method='GET',
|
|
||||||
renderer='rhodecode:templates/admin/repos/repo_creating.mako')
|
|
||||||
def repo_creating(self):
|
def repo_creating(self):
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
repo_name = self.request.matchdict['repo_name']
|
repo_name = self.request.matchdict['repo_name']
|
||||||
|
|
@ -71,9 +65,6 @@ class RepoChecksView(BaseAppView):
|
||||||
return self._get_template_context(c)
|
return self._get_template_context(c)
|
||||||
|
|
||||||
@NotAnonymous()
|
@NotAnonymous()
|
||||||
@view_config(
|
|
||||||
route_name='repo_creating_check', request_method='GET',
|
|
||||||
renderer='json_ext')
|
|
||||||
def repo_creating_check(self):
|
def repo_creating_check(self):
|
||||||
_ = self.request.translate
|
_ = self.request.translate
|
||||||
task_id = self.request.GET.get('task_id')
|
task_id = self.request.GET.get('task_id')
|
||||||
|
|
|
||||||
|
|
@ -23,7 +23,6 @@ import collections
|
||||||
|
|
||||||
from pyramid.httpexceptions import (
|
from pyramid.httpexceptions import (
|
||||||
HTTPNotFound, HTTPBadRequest, HTTPFound, HTTPForbidden, HTTPConflict)
|
HTTPNotFound, HTTPBadRequest, HTTPFound, HTTPForbidden, HTTPConflict)
|
||||||
from pyramid.view import view_config
|
|
||||||
from pyramid.renderers import render
|
from pyramid.renderers import render
|
||||||
from pyramid.response import Response
|
from pyramid.response import Response
|
||||||
|
|
||||||
|
|
@ -340,9 +339,6 @@ class RepoCommitsView(RepoAppView):
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasRepoPermissionAnyDecorator(
|
@HasRepoPermissionAnyDecorator(
|
||||||
'repository.read', 'repository.write', 'repository.admin')
|
'repository.read', 'repository.write', 'repository.admin')
|
||||||
@view_config(
|
|
||||||
route_name='repo_commit', request_method='GET',
|
|
||||||
renderer=None)
|
|
||||||
def repo_commit_show(self):
|
def repo_commit_show(self):
|
||||||
commit_id = self.request.matchdict['commit_id']
|
commit_id = self.request.matchdict['commit_id']
|
||||||
return self._commit(commit_id, method='show')
|
return self._commit(commit_id, method='show')
|
||||||
|
|
@ -350,12 +346,6 @@ class RepoCommitsView(RepoAppView):
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasRepoPermissionAnyDecorator(
|
@HasRepoPermissionAnyDecorator(
|
||||||
'repository.read', 'repository.write', 'repository.admin')
|
'repository.read', 'repository.write', 'repository.admin')
|
||||||
@view_config(
|
|
||||||
route_name='repo_commit_raw', request_method='GET',
|
|
||||||
renderer=None)
|
|
||||||
@view_config(
|
|
||||||
route_name='repo_commit_raw_deprecated', request_method='GET',
|
|
||||||
renderer=None)
|
|
||||||
def repo_commit_raw(self):
|
def repo_commit_raw(self):
|
||||||
commit_id = self.request.matchdict['commit_id']
|
commit_id = self.request.matchdict['commit_id']
|
||||||
return self._commit(commit_id, method='raw')
|
return self._commit(commit_id, method='raw')
|
||||||
|
|
@ -363,9 +353,6 @@ class RepoCommitsView(RepoAppView):
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasRepoPermissionAnyDecorator(
|
@HasRepoPermissionAnyDecorator(
|
||||||
'repository.read', 'repository.write', 'repository.admin')
|
'repository.read', 'repository.write', 'repository.admin')
|
||||||
@view_config(
|
|
||||||
route_name='repo_commit_patch', request_method='GET',
|
|
||||||
renderer=None)
|
|
||||||
def repo_commit_patch(self):
|
def repo_commit_patch(self):
|
||||||
commit_id = self.request.matchdict['commit_id']
|
commit_id = self.request.matchdict['commit_id']
|
||||||
return self._commit(commit_id, method='patch')
|
return self._commit(commit_id, method='patch')
|
||||||
|
|
@ -373,9 +360,6 @@ class RepoCommitsView(RepoAppView):
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasRepoPermissionAnyDecorator(
|
@HasRepoPermissionAnyDecorator(
|
||||||
'repository.read', 'repository.write', 'repository.admin')
|
'repository.read', 'repository.write', 'repository.admin')
|
||||||
@view_config(
|
|
||||||
route_name='repo_commit_download', request_method='GET',
|
|
||||||
renderer=None)
|
|
||||||
def repo_commit_download(self):
|
def repo_commit_download(self):
|
||||||
commit_id = self.request.matchdict['commit_id']
|
commit_id = self.request.matchdict['commit_id']
|
||||||
return self._commit(commit_id, method='download')
|
return self._commit(commit_id, method='download')
|
||||||
|
|
@ -500,9 +484,6 @@ class RepoCommitsView(RepoAppView):
|
||||||
@HasRepoPermissionAnyDecorator(
|
@HasRepoPermissionAnyDecorator(
|
||||||
'repository.read', 'repository.write', 'repository.admin')
|
'repository.read', 'repository.write', 'repository.admin')
|
||||||
@CSRFRequired()
|
@CSRFRequired()
|
||||||
@view_config(
|
|
||||||
route_name='repo_commit_comment_create', request_method='POST',
|
|
||||||
renderer='json_ext')
|
|
||||||
def repo_commit_comment_create(self):
|
def repo_commit_comment_create(self):
|
||||||
_ = self.request.translate
|
_ = self.request.translate
|
||||||
commit_id = self.request.matchdict['commit_id']
|
commit_id = self.request.matchdict['commit_id']
|
||||||
|
|
@ -538,9 +519,6 @@ class RepoCommitsView(RepoAppView):
|
||||||
@HasRepoPermissionAnyDecorator(
|
@HasRepoPermissionAnyDecorator(
|
||||||
'repository.read', 'repository.write', 'repository.admin')
|
'repository.read', 'repository.write', 'repository.admin')
|
||||||
@CSRFRequired()
|
@CSRFRequired()
|
||||||
@view_config(
|
|
||||||
route_name='repo_commit_comment_preview', request_method='POST',
|
|
||||||
renderer='string', xhr=True)
|
|
||||||
def repo_commit_comment_preview(self):
|
def repo_commit_comment_preview(self):
|
||||||
# Technically a CSRF token is not needed as no state changes with this
|
# Technically a CSRF token is not needed as no state changes with this
|
||||||
# call. However, as this is a POST is better to have it, so automated
|
# call. However, as this is a POST is better to have it, so automated
|
||||||
|
|
@ -559,9 +537,6 @@ class RepoCommitsView(RepoAppView):
|
||||||
@HasRepoPermissionAnyDecorator(
|
@HasRepoPermissionAnyDecorator(
|
||||||
'repository.read', 'repository.write', 'repository.admin')
|
'repository.read', 'repository.write', 'repository.admin')
|
||||||
@CSRFRequired()
|
@CSRFRequired()
|
||||||
@view_config(
|
|
||||||
route_name='repo_commit_comment_history_view', request_method='POST',
|
|
||||||
renderer='string', xhr=True)
|
|
||||||
def repo_commit_comment_history_view(self):
|
def repo_commit_comment_history_view(self):
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
|
|
||||||
|
|
@ -587,9 +562,6 @@ class RepoCommitsView(RepoAppView):
|
||||||
@HasRepoPermissionAnyDecorator(
|
@HasRepoPermissionAnyDecorator(
|
||||||
'repository.read', 'repository.write', 'repository.admin')
|
'repository.read', 'repository.write', 'repository.admin')
|
||||||
@CSRFRequired()
|
@CSRFRequired()
|
||||||
@view_config(
|
|
||||||
route_name='repo_commit_comment_attachment_upload', request_method='POST',
|
|
||||||
renderer='json_ext', xhr=True)
|
|
||||||
def repo_commit_comment_attachment_upload(self):
|
def repo_commit_comment_attachment_upload(self):
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
upload_key = 'attachment'
|
upload_key = 'attachment'
|
||||||
|
|
@ -682,9 +654,6 @@ class RepoCommitsView(RepoAppView):
|
||||||
@HasRepoPermissionAnyDecorator(
|
@HasRepoPermissionAnyDecorator(
|
||||||
'repository.read', 'repository.write', 'repository.admin')
|
'repository.read', 'repository.write', 'repository.admin')
|
||||||
@CSRFRequired()
|
@CSRFRequired()
|
||||||
@view_config(
|
|
||||||
route_name='repo_commit_comment_delete', request_method='POST',
|
|
||||||
renderer='json_ext')
|
|
||||||
def repo_commit_comment_delete(self):
|
def repo_commit_comment_delete(self):
|
||||||
commit_id = self.request.matchdict['commit_id']
|
commit_id = self.request.matchdict['commit_id']
|
||||||
comment_id = self.request.matchdict['comment_id']
|
comment_id = self.request.matchdict['comment_id']
|
||||||
|
|
@ -719,9 +688,6 @@ class RepoCommitsView(RepoAppView):
|
||||||
@HasRepoPermissionAnyDecorator(
|
@HasRepoPermissionAnyDecorator(
|
||||||
'repository.read', 'repository.write', 'repository.admin')
|
'repository.read', 'repository.write', 'repository.admin')
|
||||||
@CSRFRequired()
|
@CSRFRequired()
|
||||||
@view_config(
|
|
||||||
route_name='repo_commit_comment_edit', request_method='POST',
|
|
||||||
renderer='json_ext')
|
|
||||||
def repo_commit_comment_edit(self):
|
def repo_commit_comment_edit(self):
|
||||||
self.load_default_context()
|
self.load_default_context()
|
||||||
|
|
||||||
|
|
@ -802,9 +768,6 @@ class RepoCommitsView(RepoAppView):
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasRepoPermissionAnyDecorator(
|
@HasRepoPermissionAnyDecorator(
|
||||||
'repository.read', 'repository.write', 'repository.admin')
|
'repository.read', 'repository.write', 'repository.admin')
|
||||||
@view_config(
|
|
||||||
route_name='repo_commit_data', request_method='GET',
|
|
||||||
renderer='json_ext', xhr=True)
|
|
||||||
def repo_commit_data(self):
|
def repo_commit_data(self):
|
||||||
commit_id = self.request.matchdict['commit_id']
|
commit_id = self.request.matchdict['commit_id']
|
||||||
self.load_default_context()
|
self.load_default_context()
|
||||||
|
|
@ -817,9 +780,6 @@ class RepoCommitsView(RepoAppView):
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasRepoPermissionAnyDecorator(
|
@HasRepoPermissionAnyDecorator(
|
||||||
'repository.read', 'repository.write', 'repository.admin')
|
'repository.read', 'repository.write', 'repository.admin')
|
||||||
@view_config(
|
|
||||||
route_name='repo_commit_children', request_method='GET',
|
|
||||||
renderer='json_ext', xhr=True)
|
|
||||||
def repo_commit_children(self):
|
def repo_commit_children(self):
|
||||||
commit_id = self.request.matchdict['commit_id']
|
commit_id = self.request.matchdict['commit_id']
|
||||||
self.load_default_context()
|
self.load_default_context()
|
||||||
|
|
@ -836,9 +796,6 @@ class RepoCommitsView(RepoAppView):
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasRepoPermissionAnyDecorator(
|
@HasRepoPermissionAnyDecorator(
|
||||||
'repository.read', 'repository.write', 'repository.admin')
|
'repository.read', 'repository.write', 'repository.admin')
|
||||||
@view_config(
|
|
||||||
route_name='repo_commit_parents', request_method='GET',
|
|
||||||
renderer='json_ext')
|
|
||||||
def repo_commit_parents(self):
|
def repo_commit_parents(self):
|
||||||
commit_id = self.request.matchdict['commit_id']
|
commit_id = self.request.matchdict['commit_id']
|
||||||
self.load_default_context()
|
self.load_default_context()
|
||||||
|
|
|
||||||
|
|
@ -22,7 +22,7 @@
|
||||||
import logging
|
import logging
|
||||||
|
|
||||||
from pyramid.httpexceptions import HTTPBadRequest, HTTPNotFound, HTTPFound
|
from pyramid.httpexceptions import HTTPBadRequest, HTTPNotFound, HTTPFound
|
||||||
from pyramid.view import view_config
|
|
||||||
from pyramid.renderers import render
|
from pyramid.renderers import render
|
||||||
from pyramid.response import Response
|
from pyramid.response import Response
|
||||||
|
|
||||||
|
|
@ -79,9 +79,6 @@ class RepoCompareView(RepoAppView):
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasRepoPermissionAnyDecorator(
|
@HasRepoPermissionAnyDecorator(
|
||||||
'repository.read', 'repository.write', 'repository.admin')
|
'repository.read', 'repository.write', 'repository.admin')
|
||||||
@view_config(
|
|
||||||
route_name='repo_compare_select', request_method='GET',
|
|
||||||
renderer='rhodecode:templates/compare/compare_diff.mako')
|
|
||||||
def compare_select(self):
|
def compare_select(self):
|
||||||
_ = self.request.translate
|
_ = self.request.translate
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
|
|
@ -111,9 +108,6 @@ class RepoCompareView(RepoAppView):
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasRepoPermissionAnyDecorator(
|
@HasRepoPermissionAnyDecorator(
|
||||||
'repository.read', 'repository.write', 'repository.admin')
|
'repository.read', 'repository.write', 'repository.admin')
|
||||||
@view_config(
|
|
||||||
route_name='repo_compare', request_method='GET',
|
|
||||||
renderer=None)
|
|
||||||
def compare(self):
|
def compare(self):
|
||||||
_ = self.request.translate
|
_ = self.request.translate
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
|
|
|
||||||
|
|
@ -20,10 +20,8 @@
|
||||||
import pytz
|
import pytz
|
||||||
import logging
|
import logging
|
||||||
|
|
||||||
from pyramid.view import view_config
|
|
||||||
from pyramid.response import Response
|
from pyramid.response import Response
|
||||||
|
|
||||||
|
|
||||||
from rhodecode.apps._base import RepoAppView
|
from rhodecode.apps._base import RepoAppView
|
||||||
from rhodecode.lib.feedgenerator import Rss201rev2Feed, Atom1Feed
|
from rhodecode.lib.feedgenerator import Rss201rev2Feed, Atom1Feed
|
||||||
from rhodecode.lib import audit_logger
|
from rhodecode.lib import audit_logger
|
||||||
|
|
@ -118,8 +116,6 @@ class RepoFeedView(RepoAppView):
|
||||||
@LoginRequired(auth_token_access=[UserApiKeys.ROLE_FEED])
|
@LoginRequired(auth_token_access=[UserApiKeys.ROLE_FEED])
|
||||||
@HasRepoPermissionAnyDecorator(
|
@HasRepoPermissionAnyDecorator(
|
||||||
'repository.read', 'repository.write', 'repository.admin')
|
'repository.read', 'repository.write', 'repository.admin')
|
||||||
@view_config(route_name='atom_feed_home', request_method='GET', renderer=None)
|
|
||||||
@view_config(route_name='atom_feed_home_old', request_method='GET', renderer=None)
|
|
||||||
def atom(self):
|
def atom(self):
|
||||||
"""
|
"""
|
||||||
Produce an atom-1.0 feed via feedgenerator module
|
Produce an atom-1.0 feed via feedgenerator module
|
||||||
|
|
@ -166,8 +162,6 @@ class RepoFeedView(RepoAppView):
|
||||||
@LoginRequired(auth_token_access=[UserApiKeys.ROLE_FEED])
|
@LoginRequired(auth_token_access=[UserApiKeys.ROLE_FEED])
|
||||||
@HasRepoPermissionAnyDecorator(
|
@HasRepoPermissionAnyDecorator(
|
||||||
'repository.read', 'repository.write', 'repository.admin')
|
'repository.read', 'repository.write', 'repository.admin')
|
||||||
@view_config(route_name='rss_feed_home', request_method='GET', renderer=None)
|
|
||||||
@view_config(route_name='rss_feed_home_old', request_method='GET', renderer=None)
|
|
||||||
def rss(self):
|
def rss(self):
|
||||||
"""
|
"""
|
||||||
Produce an rss2 feed via feedgenerator module
|
Produce an rss2 feed via feedgenerator module
|
||||||
|
|
|
||||||
|
|
@ -28,7 +28,7 @@ import urllib
|
||||||
import pathlib2
|
import pathlib2
|
||||||
|
|
||||||
from pyramid.httpexceptions import HTTPNotFound, HTTPBadRequest, HTTPFound
|
from pyramid.httpexceptions import HTTPNotFound, HTTPBadRequest, HTTPFound
|
||||||
from pyramid.view import view_config
|
|
||||||
from pyramid.renderers import render
|
from pyramid.renderers import render
|
||||||
from pyramid.response import Response
|
from pyramid.response import Response
|
||||||
|
|
||||||
|
|
@ -343,9 +343,6 @@ class RepoFilesView(RepoAppView):
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasRepoPermissionAnyDecorator(
|
@HasRepoPermissionAnyDecorator(
|
||||||
'repository.read', 'repository.write', 'repository.admin')
|
'repository.read', 'repository.write', 'repository.admin')
|
||||||
@view_config(
|
|
||||||
route_name='repo_archivefile', request_method='GET',
|
|
||||||
renderer=None)
|
|
||||||
def repo_archivefile(self):
|
def repo_archivefile(self):
|
||||||
# archive cache config
|
# archive cache config
|
||||||
from rhodecode import CONFIG
|
from rhodecode import CONFIG
|
||||||
|
|
@ -496,9 +493,6 @@ class RepoFilesView(RepoAppView):
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasRepoPermissionAnyDecorator(
|
@HasRepoPermissionAnyDecorator(
|
||||||
'repository.read', 'repository.write', 'repository.admin')
|
'repository.read', 'repository.write', 'repository.admin')
|
||||||
@view_config(
|
|
||||||
route_name='repo_files_diff', request_method='GET',
|
|
||||||
renderer=None)
|
|
||||||
def repo_files_diff(self):
|
def repo_files_diff(self):
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
f_path = self._get_f_path(self.request.matchdict)
|
f_path = self._get_f_path(self.request.matchdict)
|
||||||
|
|
@ -581,9 +575,6 @@ class RepoFilesView(RepoAppView):
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasRepoPermissionAnyDecorator(
|
@HasRepoPermissionAnyDecorator(
|
||||||
'repository.read', 'repository.write', 'repository.admin')
|
'repository.read', 'repository.write', 'repository.admin')
|
||||||
@view_config(
|
|
||||||
route_name='repo_files_diff_2way_redirect', request_method='GET',
|
|
||||||
renderer=None)
|
|
||||||
def repo_files_diff_2way_redirect(self):
|
def repo_files_diff_2way_redirect(self):
|
||||||
"""
|
"""
|
||||||
Kept only to make OLD links work
|
Kept only to make OLD links work
|
||||||
|
|
@ -610,10 +601,11 @@ class RepoFilesView(RepoAppView):
|
||||||
raise HTTPFound(compare_url)
|
raise HTTPFound(compare_url)
|
||||||
|
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@view_config(
|
def repo_files_default_commit_redirect(self):
|
||||||
route_name='repo_files:default_commit', request_method='GET',
|
"""
|
||||||
renderer=None)
|
Special page that redirects to the landing page of files based on the default
|
||||||
def repo_files_default(self):
|
commit for repository
|
||||||
|
"""
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
ref_name = c.rhodecode_db_repo.landing_ref_name
|
ref_name = c.rhodecode_db_repo.landing_ref_name
|
||||||
landing_url = h.repo_files_by_ref_url(
|
landing_url = h.repo_files_by_ref_url(
|
||||||
|
|
@ -630,18 +622,6 @@ class RepoFilesView(RepoAppView):
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasRepoPermissionAnyDecorator(
|
@HasRepoPermissionAnyDecorator(
|
||||||
'repository.read', 'repository.write', 'repository.admin')
|
'repository.read', 'repository.write', 'repository.admin')
|
||||||
@view_config(
|
|
||||||
route_name='repo_files', request_method='GET',
|
|
||||||
renderer=None)
|
|
||||||
@view_config(
|
|
||||||
route_name='repo_files:default_path', request_method='GET',
|
|
||||||
renderer=None)
|
|
||||||
@view_config(
|
|
||||||
route_name='repo_files:rendered', request_method='GET',
|
|
||||||
renderer=None)
|
|
||||||
@view_config(
|
|
||||||
route_name='repo_files:annotated', request_method='GET',
|
|
||||||
renderer=None)
|
|
||||||
def repo_files(self):
|
def repo_files(self):
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
|
|
||||||
|
|
@ -759,9 +739,6 @@ class RepoFilesView(RepoAppView):
|
||||||
|
|
||||||
@HasRepoPermissionAnyDecorator(
|
@HasRepoPermissionAnyDecorator(
|
||||||
'repository.read', 'repository.write', 'repository.admin')
|
'repository.read', 'repository.write', 'repository.admin')
|
||||||
@view_config(
|
|
||||||
route_name='repo_files:annotated_previous', request_method='GET',
|
|
||||||
renderer=None)
|
|
||||||
def repo_files_annotated_previous(self):
|
def repo_files_annotated_previous(self):
|
||||||
self.load_default_context()
|
self.load_default_context()
|
||||||
|
|
||||||
|
|
@ -790,12 +767,6 @@ class RepoFilesView(RepoAppView):
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasRepoPermissionAnyDecorator(
|
@HasRepoPermissionAnyDecorator(
|
||||||
'repository.read', 'repository.write', 'repository.admin')
|
'repository.read', 'repository.write', 'repository.admin')
|
||||||
@view_config(
|
|
||||||
route_name='repo_nodetree_full', request_method='GET',
|
|
||||||
renderer=None, xhr=True)
|
|
||||||
@view_config(
|
|
||||||
route_name='repo_nodetree_full:default_path', request_method='GET',
|
|
||||||
renderer=None, xhr=True)
|
|
||||||
def repo_nodetree_full(self):
|
def repo_nodetree_full(self):
|
||||||
"""
|
"""
|
||||||
Returns rendered html of file tree that contains commit date,
|
Returns rendered html of file tree that contains commit date,
|
||||||
|
|
@ -835,9 +806,6 @@ class RepoFilesView(RepoAppView):
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasRepoPermissionAnyDecorator(
|
@HasRepoPermissionAnyDecorator(
|
||||||
'repository.read', 'repository.write', 'repository.admin')
|
'repository.read', 'repository.write', 'repository.admin')
|
||||||
@view_config(
|
|
||||||
route_name='repo_file_raw', request_method='GET',
|
|
||||||
renderer=None)
|
|
||||||
def repo_file_raw(self):
|
def repo_file_raw(self):
|
||||||
"""
|
"""
|
||||||
Action for show as raw, some mimetypes are "rendered",
|
Action for show as raw, some mimetypes are "rendered",
|
||||||
|
|
@ -902,12 +870,6 @@ class RepoFilesView(RepoAppView):
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasRepoPermissionAnyDecorator(
|
@HasRepoPermissionAnyDecorator(
|
||||||
'repository.read', 'repository.write', 'repository.admin')
|
'repository.read', 'repository.write', 'repository.admin')
|
||||||
@view_config(
|
|
||||||
route_name='repo_file_download', request_method='GET',
|
|
||||||
renderer=None)
|
|
||||||
@view_config(
|
|
||||||
route_name='repo_file_download:legacy', request_method='GET',
|
|
||||||
renderer=None)
|
|
||||||
def repo_file_download(self):
|
def repo_file_download(self):
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
|
|
||||||
|
|
@ -972,9 +934,6 @@ class RepoFilesView(RepoAppView):
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasRepoPermissionAnyDecorator(
|
@HasRepoPermissionAnyDecorator(
|
||||||
'repository.read', 'repository.write', 'repository.admin')
|
'repository.read', 'repository.write', 'repository.admin')
|
||||||
@view_config(
|
|
||||||
route_name='repo_files_nodelist', request_method='GET',
|
|
||||||
renderer='json_ext', xhr=True)
|
|
||||||
def repo_nodelist(self):
|
def repo_nodelist(self):
|
||||||
self.load_default_context()
|
self.load_default_context()
|
||||||
|
|
||||||
|
|
@ -1059,9 +1018,6 @@ class RepoFilesView(RepoAppView):
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasRepoPermissionAnyDecorator(
|
@HasRepoPermissionAnyDecorator(
|
||||||
'repository.read', 'repository.write', 'repository.admin')
|
'repository.read', 'repository.write', 'repository.admin')
|
||||||
@view_config(
|
|
||||||
route_name='repo_file_history', request_method='GET',
|
|
||||||
renderer='json_ext')
|
|
||||||
def repo_file_history(self):
|
def repo_file_history(self):
|
||||||
self.load_default_context()
|
self.load_default_context()
|
||||||
|
|
||||||
|
|
@ -1105,9 +1061,6 @@ class RepoFilesView(RepoAppView):
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasRepoPermissionAnyDecorator(
|
@HasRepoPermissionAnyDecorator(
|
||||||
'repository.read', 'repository.write', 'repository.admin')
|
'repository.read', 'repository.write', 'repository.admin')
|
||||||
@view_config(
|
|
||||||
route_name='repo_file_authors', request_method='GET',
|
|
||||||
renderer='rhodecode:templates/files/file_authors_box.mako')
|
|
||||||
def repo_file_authors(self):
|
def repo_file_authors(self):
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
|
|
||||||
|
|
@ -1149,9 +1102,6 @@ class RepoFilesView(RepoAppView):
|
||||||
|
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasRepoPermissionAnyDecorator('repository.write', 'repository.admin')
|
@HasRepoPermissionAnyDecorator('repository.write', 'repository.admin')
|
||||||
@view_config(
|
|
||||||
route_name='repo_files_check_head', request_method='POST',
|
|
||||||
renderer='json_ext', xhr=True)
|
|
||||||
def repo_files_check_head(self):
|
def repo_files_check_head(self):
|
||||||
self.load_default_context()
|
self.load_default_context()
|
||||||
|
|
||||||
|
|
@ -1186,9 +1136,6 @@ class RepoFilesView(RepoAppView):
|
||||||
|
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasRepoPermissionAnyDecorator('repository.write', 'repository.admin')
|
@HasRepoPermissionAnyDecorator('repository.write', 'repository.admin')
|
||||||
@view_config(
|
|
||||||
route_name='repo_files_remove_file', request_method='GET',
|
|
||||||
renderer='rhodecode:templates/files/files_delete.mako')
|
|
||||||
def repo_files_remove_file(self):
|
def repo_files_remove_file(self):
|
||||||
_ = self.request.translate
|
_ = self.request.translate
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
|
|
@ -1214,9 +1161,6 @@ class RepoFilesView(RepoAppView):
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasRepoPermissionAnyDecorator('repository.write', 'repository.admin')
|
@HasRepoPermissionAnyDecorator('repository.write', 'repository.admin')
|
||||||
@CSRFRequired()
|
@CSRFRequired()
|
||||||
@view_config(
|
|
||||||
route_name='repo_files_delete_file', request_method='POST',
|
|
||||||
renderer=None)
|
|
||||||
def repo_files_delete_file(self):
|
def repo_files_delete_file(self):
|
||||||
_ = self.request.translate
|
_ = self.request.translate
|
||||||
|
|
||||||
|
|
@ -1266,9 +1210,6 @@ class RepoFilesView(RepoAppView):
|
||||||
|
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasRepoPermissionAnyDecorator('repository.write', 'repository.admin')
|
@HasRepoPermissionAnyDecorator('repository.write', 'repository.admin')
|
||||||
@view_config(
|
|
||||||
route_name='repo_files_edit_file', request_method='GET',
|
|
||||||
renderer='rhodecode:templates/files/files_edit.mako')
|
|
||||||
def repo_files_edit_file(self):
|
def repo_files_edit_file(self):
|
||||||
_ = self.request.translate
|
_ = self.request.translate
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
|
|
@ -1300,9 +1241,6 @@ class RepoFilesView(RepoAppView):
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasRepoPermissionAnyDecorator('repository.write', 'repository.admin')
|
@HasRepoPermissionAnyDecorator('repository.write', 'repository.admin')
|
||||||
@CSRFRequired()
|
@CSRFRequired()
|
||||||
@view_config(
|
|
||||||
route_name='repo_files_update_file', request_method='POST',
|
|
||||||
renderer=None)
|
|
||||||
def repo_files_update_file(self):
|
def repo_files_update_file(self):
|
||||||
_ = self.request.translate
|
_ = self.request.translate
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
|
|
@ -1384,12 +1322,6 @@ class RepoFilesView(RepoAppView):
|
||||||
|
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasRepoPermissionAnyDecorator('repository.write', 'repository.admin')
|
@HasRepoPermissionAnyDecorator('repository.write', 'repository.admin')
|
||||||
@view_config(
|
|
||||||
route_name='repo_files_add_file', request_method='GET',
|
|
||||||
renderer='rhodecode:templates/files/files_add.mako')
|
|
||||||
@view_config(
|
|
||||||
route_name='repo_files_upload_file', request_method='GET',
|
|
||||||
renderer='rhodecode:templates/files/files_upload.mako')
|
|
||||||
def repo_files_add_file(self):
|
def repo_files_add_file(self):
|
||||||
_ = self.request.translate
|
_ = self.request.translate
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
|
|
@ -1421,9 +1353,6 @@ class RepoFilesView(RepoAppView):
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasRepoPermissionAnyDecorator('repository.write', 'repository.admin')
|
@HasRepoPermissionAnyDecorator('repository.write', 'repository.admin')
|
||||||
@CSRFRequired()
|
@CSRFRequired()
|
||||||
@view_config(
|
|
||||||
route_name='repo_files_create_file', request_method='POST',
|
|
||||||
renderer=None)
|
|
||||||
def repo_files_create_file(self):
|
def repo_files_create_file(self):
|
||||||
_ = self.request.translate
|
_ = self.request.translate
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
|
|
@ -1518,9 +1447,6 @@ class RepoFilesView(RepoAppView):
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasRepoPermissionAnyDecorator('repository.write', 'repository.admin')
|
@HasRepoPermissionAnyDecorator('repository.write', 'repository.admin')
|
||||||
@CSRFRequired()
|
@CSRFRequired()
|
||||||
@view_config(
|
|
||||||
route_name='repo_files_upload_file', request_method='POST',
|
|
||||||
renderer='json_ext')
|
|
||||||
def repo_files_upload_file(self):
|
def repo_files_upload_file(self):
|
||||||
_ = self.request.translate
|
_ = self.request.translate
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
|
|
|
||||||
|
|
@ -24,7 +24,7 @@ import formencode
|
||||||
import formencode.htmlfill
|
import formencode.htmlfill
|
||||||
|
|
||||||
from pyramid.httpexceptions import HTTPFound
|
from pyramid.httpexceptions import HTTPFound
|
||||||
from pyramid.view import view_config
|
|
||||||
from pyramid.renderers import render
|
from pyramid.renderers import render
|
||||||
from pyramid.response import Response
|
from pyramid.response import Response
|
||||||
|
|
||||||
|
|
@ -64,9 +64,6 @@ class RepoForksView(RepoAppView, DataGridAppView):
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasRepoPermissionAnyDecorator(
|
@HasRepoPermissionAnyDecorator(
|
||||||
'repository.read', 'repository.write', 'repository.admin')
|
'repository.read', 'repository.write', 'repository.admin')
|
||||||
@view_config(
|
|
||||||
route_name='repo_forks_show_all', request_method='GET',
|
|
||||||
renderer='rhodecode:templates/forks/forks.mako')
|
|
||||||
def repo_forks_show_all(self):
|
def repo_forks_show_all(self):
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
return self._get_template_context(c)
|
return self._get_template_context(c)
|
||||||
|
|
@ -74,9 +71,6 @@ class RepoForksView(RepoAppView, DataGridAppView):
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasRepoPermissionAnyDecorator(
|
@HasRepoPermissionAnyDecorator(
|
||||||
'repository.read', 'repository.write', 'repository.admin')
|
'repository.read', 'repository.write', 'repository.admin')
|
||||||
@view_config(
|
|
||||||
route_name='repo_forks_data', request_method='GET',
|
|
||||||
renderer='json_ext', xhr=True)
|
|
||||||
def repo_forks_data(self):
|
def repo_forks_data(self):
|
||||||
_ = self.request.translate
|
_ = self.request.translate
|
||||||
self.load_default_context()
|
self.load_default_context()
|
||||||
|
|
@ -174,9 +168,6 @@ class RepoForksView(RepoAppView, DataGridAppView):
|
||||||
@HasPermissionAnyDecorator('hg.admin', 'hg.fork.repository')
|
@HasPermissionAnyDecorator('hg.admin', 'hg.fork.repository')
|
||||||
@HasRepoPermissionAnyDecorator(
|
@HasRepoPermissionAnyDecorator(
|
||||||
'repository.read', 'repository.write', 'repository.admin')
|
'repository.read', 'repository.write', 'repository.admin')
|
||||||
@view_config(
|
|
||||||
route_name='repo_fork_new', request_method='GET',
|
|
||||||
renderer='rhodecode:templates/forks/forks.mako')
|
|
||||||
def repo_fork_new(self):
|
def repo_fork_new(self):
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
|
|
||||||
|
|
@ -204,9 +195,6 @@ class RepoForksView(RepoAppView, DataGridAppView):
|
||||||
@HasRepoPermissionAnyDecorator(
|
@HasRepoPermissionAnyDecorator(
|
||||||
'repository.read', 'repository.write', 'repository.admin')
|
'repository.read', 'repository.write', 'repository.admin')
|
||||||
@CSRFRequired()
|
@CSRFRequired()
|
||||||
@view_config(
|
|
||||||
route_name='repo_fork_create', request_method='POST',
|
|
||||||
renderer='rhodecode:templates/forks/fork.mako')
|
|
||||||
def repo_fork_create(self):
|
def repo_fork_create(self):
|
||||||
_ = self.request.translate
|
_ = self.request.translate
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
|
|
|
||||||
|
|
@ -20,7 +20,7 @@
|
||||||
|
|
||||||
import logging
|
import logging
|
||||||
|
|
||||||
from pyramid.view import view_config
|
|
||||||
|
|
||||||
from rhodecode.apps._base import RepoAppView
|
from rhodecode.apps._base import RepoAppView
|
||||||
from rhodecode.lib.auth import LoginRequired, HasRepoPermissionAnyDecorator
|
from rhodecode.lib.auth import LoginRequired, HasRepoPermissionAnyDecorator
|
||||||
|
|
@ -36,9 +36,6 @@ class RepoMaintenanceView(RepoAppView):
|
||||||
|
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasRepoPermissionAnyDecorator('repository.admin')
|
@HasRepoPermissionAnyDecorator('repository.admin')
|
||||||
@view_config(
|
|
||||||
route_name='edit_repo_maintenance', request_method='GET',
|
|
||||||
renderer='rhodecode:templates/admin/repos/repo_edit.mako')
|
|
||||||
def repo_maintenance(self):
|
def repo_maintenance(self):
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
c.active = 'maintenance'
|
c.active = 'maintenance'
|
||||||
|
|
@ -48,9 +45,6 @@ class RepoMaintenanceView(RepoAppView):
|
||||||
|
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasRepoPermissionAnyDecorator('repository.admin')
|
@HasRepoPermissionAnyDecorator('repository.admin')
|
||||||
@view_config(
|
|
||||||
route_name='edit_repo_maintenance_execute', request_method='GET',
|
|
||||||
renderer='json', xhr=True)
|
|
||||||
def repo_maintenance_execute(self):
|
def repo_maintenance_execute(self):
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
c.active = 'maintenance'
|
c.active = 'maintenance'
|
||||||
|
|
|
||||||
|
|
@ -21,7 +21,6 @@
|
||||||
import logging
|
import logging
|
||||||
|
|
||||||
from pyramid.httpexceptions import HTTPFound
|
from pyramid.httpexceptions import HTTPFound
|
||||||
from pyramid.view import view_config
|
|
||||||
|
|
||||||
from rhodecode.apps._base import RepoAppView
|
from rhodecode.apps._base import RepoAppView
|
||||||
from rhodecode.lib import helpers as h
|
from rhodecode.lib import helpers as h
|
||||||
|
|
@ -46,9 +45,6 @@ class RepoSettingsPermissionsView(RepoAppView):
|
||||||
|
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasRepoPermissionAnyDecorator('repository.admin')
|
@HasRepoPermissionAnyDecorator('repository.admin')
|
||||||
@view_config(
|
|
||||||
route_name='edit_repo_perms', request_method='GET',
|
|
||||||
renderer='rhodecode:templates/admin/repos/repo_edit.mako')
|
|
||||||
def edit_permissions(self):
|
def edit_permissions(self):
|
||||||
_ = self.request.translate
|
_ = self.request.translate
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
|
|
@ -62,9 +58,6 @@ class RepoSettingsPermissionsView(RepoAppView):
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasRepoPermissionAnyDecorator('repository.admin')
|
@HasRepoPermissionAnyDecorator('repository.admin')
|
||||||
@CSRFRequired()
|
@CSRFRequired()
|
||||||
@view_config(
|
|
||||||
route_name='edit_repo_perms', request_method='POST',
|
|
||||||
renderer='rhodecode:templates/admin/repos/repo_edit.mako')
|
|
||||||
def edit_permissions_update(self):
|
def edit_permissions_update(self):
|
||||||
_ = self.request.translate
|
_ = self.request.translate
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
|
|
@ -104,9 +97,6 @@ class RepoSettingsPermissionsView(RepoAppView):
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasRepoPermissionAnyDecorator('repository.admin')
|
@HasRepoPermissionAnyDecorator('repository.admin')
|
||||||
@CSRFRequired()
|
@CSRFRequired()
|
||||||
@view_config(
|
|
||||||
route_name='edit_repo_perms_set_private', request_method='POST',
|
|
||||||
renderer='json_ext')
|
|
||||||
def edit_permissions_set_private_repo(self):
|
def edit_permissions_set_private_repo(self):
|
||||||
_ = self.request.translate
|
_ = self.request.translate
|
||||||
self.load_default_context()
|
self.load_default_context()
|
||||||
|
|
|
||||||
|
|
@ -26,7 +26,7 @@ import formencode.htmlfill
|
||||||
import peppercorn
|
import peppercorn
|
||||||
from pyramid.httpexceptions import (
|
from pyramid.httpexceptions import (
|
||||||
HTTPFound, HTTPNotFound, HTTPForbidden, HTTPBadRequest, HTTPConflict)
|
HTTPFound, HTTPNotFound, HTTPForbidden, HTTPBadRequest, HTTPConflict)
|
||||||
from pyramid.view import view_config
|
|
||||||
from pyramid.renderers import render
|
from pyramid.renderers import render
|
||||||
|
|
||||||
from rhodecode.apps._base import RepoAppView, DataGridAppView
|
from rhodecode.apps._base import RepoAppView, DataGridAppView
|
||||||
|
|
@ -147,9 +147,6 @@ class RepoPullRequestsView(RepoAppView, DataGridAppView):
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasRepoPermissionAnyDecorator(
|
@HasRepoPermissionAnyDecorator(
|
||||||
'repository.read', 'repository.write', 'repository.admin')
|
'repository.read', 'repository.write', 'repository.admin')
|
||||||
@view_config(
|
|
||||||
route_name='pullrequest_show_all', request_method='GET',
|
|
||||||
renderer='rhodecode:templates/pullrequests/pullrequests.mako')
|
|
||||||
def pull_request_list(self):
|
def pull_request_list(self):
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
|
|
||||||
|
|
@ -177,9 +174,6 @@ class RepoPullRequestsView(RepoAppView, DataGridAppView):
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasRepoPermissionAnyDecorator(
|
@HasRepoPermissionAnyDecorator(
|
||||||
'repository.read', 'repository.write', 'repository.admin')
|
'repository.read', 'repository.write', 'repository.admin')
|
||||||
@view_config(
|
|
||||||
route_name='pullrequest_show_all_data', request_method='GET',
|
|
||||||
renderer='json_ext', xhr=True)
|
|
||||||
def pull_request_list_data(self):
|
def pull_request_list_data(self):
|
||||||
self.load_default_context()
|
self.load_default_context()
|
||||||
|
|
||||||
|
|
@ -311,9 +305,6 @@ class RepoPullRequestsView(RepoAppView, DataGridAppView):
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasRepoPermissionAnyDecorator(
|
@HasRepoPermissionAnyDecorator(
|
||||||
'repository.read', 'repository.write', 'repository.admin')
|
'repository.read', 'repository.write', 'repository.admin')
|
||||||
@view_config(
|
|
||||||
route_name='pullrequest_show', request_method='GET',
|
|
||||||
renderer='rhodecode:templates/pullrequests/pullrequest_show.mako')
|
|
||||||
def pull_request_show(self):
|
def pull_request_show(self):
|
||||||
_ = self.request.translate
|
_ = self.request.translate
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
|
|
@ -842,9 +833,6 @@ class RepoPullRequestsView(RepoAppView, DataGridAppView):
|
||||||
@NotAnonymous()
|
@NotAnonymous()
|
||||||
@HasRepoPermissionAnyDecorator(
|
@HasRepoPermissionAnyDecorator(
|
||||||
'repository.read', 'repository.write', 'repository.admin')
|
'repository.read', 'repository.write', 'repository.admin')
|
||||||
@view_config(
|
|
||||||
route_name='pullrequest_new', request_method='GET',
|
|
||||||
renderer='rhodecode:templates/pullrequests/pullrequest.mako')
|
|
||||||
def pull_request_new(self):
|
def pull_request_new(self):
|
||||||
_ = self.request.translate
|
_ = self.request.translate
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
|
|
@ -902,9 +890,6 @@ class RepoPullRequestsView(RepoAppView, DataGridAppView):
|
||||||
@NotAnonymous()
|
@NotAnonymous()
|
||||||
@HasRepoPermissionAnyDecorator(
|
@HasRepoPermissionAnyDecorator(
|
||||||
'repository.read', 'repository.write', 'repository.admin')
|
'repository.read', 'repository.write', 'repository.admin')
|
||||||
@view_config(
|
|
||||||
route_name='pullrequest_repo_refs', request_method='GET',
|
|
||||||
renderer='json_ext', xhr=True)
|
|
||||||
def pull_request_repo_refs(self):
|
def pull_request_repo_refs(self):
|
||||||
self.load_default_context()
|
self.load_default_context()
|
||||||
target_repo_name = self.request.matchdict['target_repo_name']
|
target_repo_name = self.request.matchdict['target_repo_name']
|
||||||
|
|
@ -925,9 +910,6 @@ class RepoPullRequestsView(RepoAppView, DataGridAppView):
|
||||||
@NotAnonymous()
|
@NotAnonymous()
|
||||||
@HasRepoPermissionAnyDecorator(
|
@HasRepoPermissionAnyDecorator(
|
||||||
'repository.read', 'repository.write', 'repository.admin')
|
'repository.read', 'repository.write', 'repository.admin')
|
||||||
@view_config(
|
|
||||||
route_name='pullrequest_repo_targets', request_method='GET',
|
|
||||||
renderer='json_ext', xhr=True)
|
|
||||||
def pullrequest_repo_targets(self):
|
def pullrequest_repo_targets(self):
|
||||||
_ = self.request.translate
|
_ = self.request.translate
|
||||||
filter_query = self.request.GET.get('query')
|
filter_query = self.request.GET.get('query')
|
||||||
|
|
@ -998,9 +980,6 @@ class RepoPullRequestsView(RepoAppView, DataGridAppView):
|
||||||
@NotAnonymous()
|
@NotAnonymous()
|
||||||
@HasRepoPermissionAnyDecorator(
|
@HasRepoPermissionAnyDecorator(
|
||||||
'repository.read', 'repository.write', 'repository.admin')
|
'repository.read', 'repository.write', 'repository.admin')
|
||||||
@view_config(
|
|
||||||
route_name='pullrequest_comments', request_method='POST',
|
|
||||||
renderer='string_html', xhr=True)
|
|
||||||
def pullrequest_comments(self):
|
def pullrequest_comments(self):
|
||||||
self.load_default_context()
|
self.load_default_context()
|
||||||
|
|
||||||
|
|
@ -1038,9 +1017,6 @@ class RepoPullRequestsView(RepoAppView, DataGridAppView):
|
||||||
@NotAnonymous()
|
@NotAnonymous()
|
||||||
@HasRepoPermissionAnyDecorator(
|
@HasRepoPermissionAnyDecorator(
|
||||||
'repository.read', 'repository.write', 'repository.admin')
|
'repository.read', 'repository.write', 'repository.admin')
|
||||||
@view_config(
|
|
||||||
route_name='pullrequest_todos', request_method='POST',
|
|
||||||
renderer='string_html', xhr=True)
|
|
||||||
def pullrequest_todos(self):
|
def pullrequest_todos(self):
|
||||||
self.load_default_context()
|
self.load_default_context()
|
||||||
|
|
||||||
|
|
@ -1080,9 +1056,6 @@ class RepoPullRequestsView(RepoAppView, DataGridAppView):
|
||||||
@NotAnonymous()
|
@NotAnonymous()
|
||||||
@HasRepoPermissionAnyDecorator(
|
@HasRepoPermissionAnyDecorator(
|
||||||
'repository.read', 'repository.write', 'repository.admin')
|
'repository.read', 'repository.write', 'repository.admin')
|
||||||
@view_config(
|
|
||||||
route_name='pullrequest_drafts', request_method='POST',
|
|
||||||
renderer='string_html', xhr=True)
|
|
||||||
def pullrequest_drafts(self):
|
def pullrequest_drafts(self):
|
||||||
self.load_default_context()
|
self.load_default_context()
|
||||||
|
|
||||||
|
|
@ -1123,9 +1096,6 @@ class RepoPullRequestsView(RepoAppView, DataGridAppView):
|
||||||
@HasRepoPermissionAnyDecorator(
|
@HasRepoPermissionAnyDecorator(
|
||||||
'repository.read', 'repository.write', 'repository.admin')
|
'repository.read', 'repository.write', 'repository.admin')
|
||||||
@CSRFRequired()
|
@CSRFRequired()
|
||||||
@view_config(
|
|
||||||
route_name='pullrequest_create', request_method='POST',
|
|
||||||
renderer=None)
|
|
||||||
def pull_request_create(self):
|
def pull_request_create(self):
|
||||||
_ = self.request.translate
|
_ = self.request.translate
|
||||||
self.assure_not_empty_repo()
|
self.assure_not_empty_repo()
|
||||||
|
|
@ -1281,9 +1251,6 @@ class RepoPullRequestsView(RepoAppView, DataGridAppView):
|
||||||
@HasRepoPermissionAnyDecorator(
|
@HasRepoPermissionAnyDecorator(
|
||||||
'repository.read', 'repository.write', 'repository.admin')
|
'repository.read', 'repository.write', 'repository.admin')
|
||||||
@CSRFRequired()
|
@CSRFRequired()
|
||||||
@view_config(
|
|
||||||
route_name='pullrequest_update', request_method='POST',
|
|
||||||
renderer='json_ext')
|
|
||||||
def pull_request_update(self):
|
def pull_request_update(self):
|
||||||
pull_request = PullRequest.get_or_404(
|
pull_request = PullRequest.get_or_404(
|
||||||
self.request.matchdict['pull_request_id'])
|
self.request.matchdict['pull_request_id'])
|
||||||
|
|
@ -1465,9 +1432,6 @@ class RepoPullRequestsView(RepoAppView, DataGridAppView):
|
||||||
@HasRepoPermissionAnyDecorator(
|
@HasRepoPermissionAnyDecorator(
|
||||||
'repository.read', 'repository.write', 'repository.admin')
|
'repository.read', 'repository.write', 'repository.admin')
|
||||||
@CSRFRequired()
|
@CSRFRequired()
|
||||||
@view_config(
|
|
||||||
route_name='pullrequest_merge', request_method='POST',
|
|
||||||
renderer='json_ext')
|
|
||||||
def pull_request_merge(self):
|
def pull_request_merge(self):
|
||||||
"""
|
"""
|
||||||
Merge will perform a server-side merge of the specified
|
Merge will perform a server-side merge of the specified
|
||||||
|
|
@ -1541,9 +1505,6 @@ class RepoPullRequestsView(RepoAppView, DataGridAppView):
|
||||||
@HasRepoPermissionAnyDecorator(
|
@HasRepoPermissionAnyDecorator(
|
||||||
'repository.read', 'repository.write', 'repository.admin')
|
'repository.read', 'repository.write', 'repository.admin')
|
||||||
@CSRFRequired()
|
@CSRFRequired()
|
||||||
@view_config(
|
|
||||||
route_name='pullrequest_delete', request_method='POST',
|
|
||||||
renderer='json_ext')
|
|
||||||
def pull_request_delete(self):
|
def pull_request_delete(self):
|
||||||
_ = self.request.translate
|
_ = self.request.translate
|
||||||
|
|
||||||
|
|
@ -1719,9 +1680,6 @@ class RepoPullRequestsView(RepoAppView, DataGridAppView):
|
||||||
@HasRepoPermissionAnyDecorator(
|
@HasRepoPermissionAnyDecorator(
|
||||||
'repository.read', 'repository.write', 'repository.admin')
|
'repository.read', 'repository.write', 'repository.admin')
|
||||||
@CSRFRequired()
|
@CSRFRequired()
|
||||||
@view_config(
|
|
||||||
route_name='pullrequest_comment_create', request_method='POST',
|
|
||||||
renderer='json_ext')
|
|
||||||
def pull_request_comment_create(self):
|
def pull_request_comment_create(self):
|
||||||
_ = self.request.translate
|
_ = self.request.translate
|
||||||
|
|
||||||
|
|
@ -1756,9 +1714,6 @@ class RepoPullRequestsView(RepoAppView, DataGridAppView):
|
||||||
@HasRepoPermissionAnyDecorator(
|
@HasRepoPermissionAnyDecorator(
|
||||||
'repository.read', 'repository.write', 'repository.admin')
|
'repository.read', 'repository.write', 'repository.admin')
|
||||||
@CSRFRequired()
|
@CSRFRequired()
|
||||||
@view_config(
|
|
||||||
route_name='pullrequest_comment_delete', request_method='POST',
|
|
||||||
renderer='json_ext')
|
|
||||||
def pull_request_comment_delete(self):
|
def pull_request_comment_delete(self):
|
||||||
pull_request = PullRequest.get_or_404(
|
pull_request = PullRequest.get_or_404(
|
||||||
self.request.matchdict['pull_request_id'])
|
self.request.matchdict['pull_request_id'])
|
||||||
|
|
@ -1810,9 +1765,6 @@ class RepoPullRequestsView(RepoAppView, DataGridAppView):
|
||||||
@HasRepoPermissionAnyDecorator(
|
@HasRepoPermissionAnyDecorator(
|
||||||
'repository.read', 'repository.write', 'repository.admin')
|
'repository.read', 'repository.write', 'repository.admin')
|
||||||
@CSRFRequired()
|
@CSRFRequired()
|
||||||
@view_config(
|
|
||||||
route_name='pullrequest_comment_edit', request_method='POST',
|
|
||||||
renderer='json_ext')
|
|
||||||
def pull_request_comment_edit(self):
|
def pull_request_comment_edit(self):
|
||||||
self.load_default_context()
|
self.load_default_context()
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -20,7 +20,7 @@
|
||||||
|
|
||||||
import logging
|
import logging
|
||||||
|
|
||||||
from pyramid.view import view_config
|
|
||||||
|
|
||||||
from rhodecode.apps._base import RepoAppView
|
from rhodecode.apps._base import RepoAppView
|
||||||
from rhodecode.apps.repository.utils import get_default_reviewers_data
|
from rhodecode.apps.repository.utils import get_default_reviewers_data
|
||||||
|
|
@ -38,9 +38,6 @@ class RepoReviewRulesView(RepoAppView):
|
||||||
|
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasRepoPermissionAnyDecorator('repository.admin')
|
@HasRepoPermissionAnyDecorator('repository.admin')
|
||||||
@view_config(
|
|
||||||
route_name='repo_reviewers', request_method='GET',
|
|
||||||
renderer='rhodecode:templates/admin/repos/repo_edit.mako')
|
|
||||||
def repo_review_rules(self):
|
def repo_review_rules(self):
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
c.active = 'reviewers'
|
c.active = 'reviewers'
|
||||||
|
|
@ -50,9 +47,6 @@ class RepoReviewRulesView(RepoAppView):
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasRepoPermissionAnyDecorator(
|
@HasRepoPermissionAnyDecorator(
|
||||||
'repository.read', 'repository.write', 'repository.admin')
|
'repository.read', 'repository.write', 'repository.admin')
|
||||||
@view_config(
|
|
||||||
route_name='repo_default_reviewers_data', request_method='GET',
|
|
||||||
renderer='json_ext')
|
|
||||||
def repo_default_reviewers_data(self):
|
def repo_default_reviewers_data(self):
|
||||||
self.load_default_context()
|
self.load_default_context()
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -22,7 +22,6 @@ import logging
|
||||||
|
|
||||||
import deform
|
import deform
|
||||||
from pyramid.httpexceptions import HTTPFound
|
from pyramid.httpexceptions import HTTPFound
|
||||||
from pyramid.view import view_config
|
|
||||||
|
|
||||||
from rhodecode import events
|
from rhodecode import events
|
||||||
from rhodecode.apps._base import RepoAppView
|
from rhodecode.apps._base import RepoAppView
|
||||||
|
|
@ -90,9 +89,6 @@ class RepoSettingsView(RepoAppView):
|
||||||
|
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasRepoPermissionAnyDecorator('repository.admin')
|
@HasRepoPermissionAnyDecorator('repository.admin')
|
||||||
@view_config(
|
|
||||||
route_name='edit_repo', request_method='GET',
|
|
||||||
renderer='rhodecode:templates/admin/repos/repo_edit.mako')
|
|
||||||
def edit_settings(self):
|
def edit_settings(self):
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
c.active = 'settings'
|
c.active = 'settings'
|
||||||
|
|
@ -108,9 +104,6 @@ class RepoSettingsView(RepoAppView):
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasRepoPermissionAnyDecorator('repository.admin')
|
@HasRepoPermissionAnyDecorator('repository.admin')
|
||||||
@CSRFRequired()
|
@CSRFRequired()
|
||||||
@view_config(
|
|
||||||
route_name='edit_repo', request_method='POST',
|
|
||||||
renderer='rhodecode:templates/admin/repos/repo_edit.mako')
|
|
||||||
def edit_settings_update(self):
|
def edit_settings_update(self):
|
||||||
_ = self.request.translate
|
_ = self.request.translate
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
|
|
@ -192,9 +185,6 @@ class RepoSettingsView(RepoAppView):
|
||||||
|
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasRepoPermissionAnyDecorator('repository.write', 'repository.admin')
|
@HasRepoPermissionAnyDecorator('repository.write', 'repository.admin')
|
||||||
@view_config(
|
|
||||||
route_name='repo_edit_toggle_locking', request_method='GET',
|
|
||||||
renderer='rhodecode:templates/admin/repos/repo_edit.mako')
|
|
||||||
def toggle_locking(self):
|
def toggle_locking(self):
|
||||||
"""
|
"""
|
||||||
Toggle locking of repository by simple GET call to url
|
Toggle locking of repository by simple GET call to url
|
||||||
|
|
@ -224,9 +214,6 @@ class RepoSettingsView(RepoAppView):
|
||||||
|
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasRepoPermissionAnyDecorator('repository.admin')
|
@HasRepoPermissionAnyDecorator('repository.admin')
|
||||||
@view_config(
|
|
||||||
route_name='edit_repo_statistics', request_method='GET',
|
|
||||||
renderer='rhodecode:templates/admin/repos/repo_edit.mako')
|
|
||||||
def edit_statistics_form(self):
|
def edit_statistics_form(self):
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
|
|
||||||
|
|
@ -250,9 +237,6 @@ class RepoSettingsView(RepoAppView):
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasRepoPermissionAnyDecorator('repository.admin')
|
@HasRepoPermissionAnyDecorator('repository.admin')
|
||||||
@CSRFRequired()
|
@CSRFRequired()
|
||||||
@view_config(
|
|
||||||
route_name='edit_repo_statistics_reset', request_method='POST',
|
|
||||||
renderer='rhodecode:templates/admin/repos/repo_edit.mako')
|
|
||||||
def repo_statistics_reset(self):
|
def repo_statistics_reset(self):
|
||||||
_ = self.request.translate
|
_ = self.request.translate
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -20,7 +20,7 @@
|
||||||
|
|
||||||
import logging
|
import logging
|
||||||
|
|
||||||
from pyramid.view import view_config
|
|
||||||
from pyramid.httpexceptions import HTTPFound
|
from pyramid.httpexceptions import HTTPFound
|
||||||
from packaging.version import Version
|
from packaging.version import Version
|
||||||
|
|
||||||
|
|
@ -42,7 +42,7 @@ from rhodecode.model.scm import ScmModel
|
||||||
log = logging.getLogger(__name__)
|
log = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
|
||||||
class RepoSettingsView(RepoAppView):
|
class RepoSettingsAdvancedView(RepoAppView):
|
||||||
|
|
||||||
def load_default_context(self):
|
def load_default_context(self):
|
||||||
c = self._get_local_tmpl_context()
|
c = self._get_local_tmpl_context()
|
||||||
|
|
@ -57,9 +57,6 @@ class RepoSettingsView(RepoAppView):
|
||||||
|
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasRepoPermissionAnyDecorator('repository.admin')
|
@HasRepoPermissionAnyDecorator('repository.admin')
|
||||||
@view_config(
|
|
||||||
route_name='edit_repo_advanced', request_method='GET',
|
|
||||||
renderer='rhodecode:templates/admin/repos/repo_edit.mako')
|
|
||||||
def edit_advanced(self):
|
def edit_advanced(self):
|
||||||
_ = self.request.translate
|
_ = self.request.translate
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
|
|
@ -89,9 +86,6 @@ class RepoSettingsView(RepoAppView):
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasRepoPermissionAnyDecorator('repository.admin')
|
@HasRepoPermissionAnyDecorator('repository.admin')
|
||||||
@CSRFRequired()
|
@CSRFRequired()
|
||||||
@view_config(
|
|
||||||
route_name='edit_repo_advanced_archive', request_method='POST',
|
|
||||||
renderer='rhodecode:templates/admin/repos/repo_edit.mako')
|
|
||||||
def edit_advanced_archive(self):
|
def edit_advanced_archive(self):
|
||||||
"""
|
"""
|
||||||
Archives the repository. It will become read-only, and not visible in search
|
Archives the repository. It will become read-only, and not visible in search
|
||||||
|
|
@ -132,9 +126,6 @@ class RepoSettingsView(RepoAppView):
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasRepoPermissionAnyDecorator('repository.admin')
|
@HasRepoPermissionAnyDecorator('repository.admin')
|
||||||
@CSRFRequired()
|
@CSRFRequired()
|
||||||
@view_config(
|
|
||||||
route_name='edit_repo_advanced_delete', request_method='POST',
|
|
||||||
renderer='rhodecode:templates/admin/repos/repo_edit.mako')
|
|
||||||
def edit_advanced_delete(self):
|
def edit_advanced_delete(self):
|
||||||
"""
|
"""
|
||||||
Deletes the repository, or shows warnings if deletion is not possible
|
Deletes the repository, or shows warnings if deletion is not possible
|
||||||
|
|
@ -209,9 +200,6 @@ class RepoSettingsView(RepoAppView):
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasRepoPermissionAnyDecorator('repository.admin')
|
@HasRepoPermissionAnyDecorator('repository.admin')
|
||||||
@CSRFRequired()
|
@CSRFRequired()
|
||||||
@view_config(
|
|
||||||
route_name='edit_repo_advanced_journal', request_method='POST',
|
|
||||||
renderer='rhodecode:templates/admin/repos/repo_edit.mako')
|
|
||||||
def edit_advanced_journal(self):
|
def edit_advanced_journal(self):
|
||||||
"""
|
"""
|
||||||
Set's this repository to be visible in public journal,
|
Set's this repository to be visible in public journal,
|
||||||
|
|
@ -236,9 +224,6 @@ class RepoSettingsView(RepoAppView):
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasRepoPermissionAnyDecorator('repository.admin')
|
@HasRepoPermissionAnyDecorator('repository.admin')
|
||||||
@CSRFRequired()
|
@CSRFRequired()
|
||||||
@view_config(
|
|
||||||
route_name='edit_repo_advanced_fork', request_method='POST',
|
|
||||||
renderer='rhodecode:templates/admin/repos/repo_edit.mako')
|
|
||||||
def edit_advanced_fork(self):
|
def edit_advanced_fork(self):
|
||||||
"""
|
"""
|
||||||
Mark given repository as a fork of another
|
Mark given repository as a fork of another
|
||||||
|
|
@ -281,10 +266,7 @@ class RepoSettingsView(RepoAppView):
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasRepoPermissionAnyDecorator('repository.admin')
|
@HasRepoPermissionAnyDecorator('repository.admin')
|
||||||
@CSRFRequired()
|
@CSRFRequired()
|
||||||
@view_config(
|
def edit_advanced_toggle_locking(self):
|
||||||
route_name='edit_repo_advanced_locking', request_method='POST',
|
|
||||||
renderer='rhodecode:templates/admin/repos/repo_edit.mako')
|
|
||||||
def edit_advanced_locking(self):
|
|
||||||
"""
|
"""
|
||||||
Toggle locking of repository
|
Toggle locking of repository
|
||||||
"""
|
"""
|
||||||
|
|
@ -309,9 +291,6 @@ class RepoSettingsView(RepoAppView):
|
||||||
|
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasRepoPermissionAnyDecorator('repository.admin')
|
@HasRepoPermissionAnyDecorator('repository.admin')
|
||||||
@view_config(
|
|
||||||
route_name='edit_repo_advanced_hooks', request_method='GET',
|
|
||||||
renderer='rhodecode:templates/admin/repos/repo_edit.mako')
|
|
||||||
def edit_advanced_install_hooks(self):
|
def edit_advanced_install_hooks(self):
|
||||||
"""
|
"""
|
||||||
Install Hooks for repository
|
Install Hooks for repository
|
||||||
|
|
|
||||||
|
|
@ -24,7 +24,6 @@ import formencode
|
||||||
import formencode.htmlfill
|
import formencode.htmlfill
|
||||||
|
|
||||||
from pyramid.httpexceptions import HTTPFound
|
from pyramid.httpexceptions import HTTPFound
|
||||||
from pyramid.view import view_config
|
|
||||||
|
|
||||||
from rhodecode.apps._base import RepoAppView
|
from rhodecode.apps._base import RepoAppView
|
||||||
from rhodecode.lib import audit_logger
|
from rhodecode.lib import audit_logger
|
||||||
|
|
@ -48,9 +47,6 @@ class RepoSettingsFieldsView(RepoAppView):
|
||||||
|
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasRepoPermissionAnyDecorator('repository.admin')
|
@HasRepoPermissionAnyDecorator('repository.admin')
|
||||||
@view_config(
|
|
||||||
route_name='edit_repo_fields', request_method='GET',
|
|
||||||
renderer='rhodecode:templates/admin/repos/repo_edit.mako')
|
|
||||||
def repo_field_edit(self):
|
def repo_field_edit(self):
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
|
|
||||||
|
|
@ -63,9 +59,6 @@ class RepoSettingsFieldsView(RepoAppView):
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasRepoPermissionAnyDecorator('repository.admin')
|
@HasRepoPermissionAnyDecorator('repository.admin')
|
||||||
@CSRFRequired()
|
@CSRFRequired()
|
||||||
@view_config(
|
|
||||||
route_name='edit_repo_fields_create', request_method='POST',
|
|
||||||
renderer='rhodecode:templates/admin/repos/repo_edit.mako')
|
|
||||||
def repo_field_create(self):
|
def repo_field_create(self):
|
||||||
_ = self.request.translate
|
_ = self.request.translate
|
||||||
|
|
||||||
|
|
@ -94,9 +87,6 @@ class RepoSettingsFieldsView(RepoAppView):
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasRepoPermissionAnyDecorator('repository.admin')
|
@HasRepoPermissionAnyDecorator('repository.admin')
|
||||||
@CSRFRequired()
|
@CSRFRequired()
|
||||||
@view_config(
|
|
||||||
route_name='edit_repo_fields_delete', request_method='POST',
|
|
||||||
renderer='rhodecode:templates/admin/repos/repo_edit.mako')
|
|
||||||
def repo_field_delete(self):
|
def repo_field_delete(self):
|
||||||
_ = self.request.translate
|
_ = self.request.translate
|
||||||
field = RepositoryField.get_or_404(self.request.matchdict['field_id'])
|
field = RepositoryField.get_or_404(self.request.matchdict['field_id'])
|
||||||
|
|
|
||||||
|
|
@ -21,7 +21,7 @@
|
||||||
import logging
|
import logging
|
||||||
|
|
||||||
from pyramid.httpexceptions import HTTPFound, HTTPNotFound
|
from pyramid.httpexceptions import HTTPFound, HTTPNotFound
|
||||||
from pyramid.view import view_config
|
|
||||||
import formencode
|
import formencode
|
||||||
|
|
||||||
from rhodecode.apps._base import RepoAppView
|
from rhodecode.apps._base import RepoAppView
|
||||||
|
|
@ -45,9 +45,6 @@ class RepoSettingsIssueTrackersView(RepoAppView):
|
||||||
|
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasRepoPermissionAnyDecorator('repository.admin')
|
@HasRepoPermissionAnyDecorator('repository.admin')
|
||||||
@view_config(
|
|
||||||
route_name='edit_repo_issuetracker', request_method='GET',
|
|
||||||
renderer='rhodecode:templates/admin/repos/repo_edit.mako')
|
|
||||||
def repo_issuetracker(self):
|
def repo_issuetracker(self):
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
c.active = 'issuetracker'
|
c.active = 'issuetracker'
|
||||||
|
|
@ -62,9 +59,6 @@ class RepoSettingsIssueTrackersView(RepoAppView):
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasRepoPermissionAnyDecorator('repository.admin')
|
@HasRepoPermissionAnyDecorator('repository.admin')
|
||||||
@CSRFRequired()
|
@CSRFRequired()
|
||||||
@view_config(
|
|
||||||
route_name='edit_repo_issuetracker_test', request_method='POST',
|
|
||||||
renderer='string', xhr=True)
|
|
||||||
def repo_issuetracker_test(self):
|
def repo_issuetracker_test(self):
|
||||||
return h.urlify_commit_message(
|
return h.urlify_commit_message(
|
||||||
self.request.POST.get('test_text', ''),
|
self.request.POST.get('test_text', ''),
|
||||||
|
|
@ -73,9 +67,6 @@ class RepoSettingsIssueTrackersView(RepoAppView):
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasRepoPermissionAnyDecorator('repository.admin')
|
@HasRepoPermissionAnyDecorator('repository.admin')
|
||||||
@CSRFRequired()
|
@CSRFRequired()
|
||||||
@view_config(
|
|
||||||
route_name='edit_repo_issuetracker_delete', request_method='POST',
|
|
||||||
renderer='json_ext', xhr=True)
|
|
||||||
def repo_issuetracker_delete(self):
|
def repo_issuetracker_delete(self):
|
||||||
_ = self.request.translate
|
_ = self.request.translate
|
||||||
uid = self.request.POST.get('uid')
|
uid = self.request.POST.get('uid')
|
||||||
|
|
@ -107,9 +98,6 @@ class RepoSettingsIssueTrackersView(RepoAppView):
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasRepoPermissionAnyDecorator('repository.admin')
|
@HasRepoPermissionAnyDecorator('repository.admin')
|
||||||
@CSRFRequired()
|
@CSRFRequired()
|
||||||
@view_config(
|
|
||||||
route_name='edit_repo_issuetracker_update', request_method='POST',
|
|
||||||
renderer='rhodecode:templates/admin/repos/repo_edit.mako')
|
|
||||||
def repo_issuetracker_update(self):
|
def repo_issuetracker_update(self):
|
||||||
_ = self.request.translate
|
_ = self.request.translate
|
||||||
# Save inheritance
|
# Save inheritance
|
||||||
|
|
|
||||||
|
|
@ -21,7 +21,7 @@
|
||||||
import logging
|
import logging
|
||||||
|
|
||||||
from pyramid.httpexceptions import HTTPFound
|
from pyramid.httpexceptions import HTTPFound
|
||||||
from pyramid.view import view_config
|
|
||||||
|
|
||||||
from rhodecode.apps._base import RepoAppView
|
from rhodecode.apps._base import RepoAppView
|
||||||
from rhodecode.lib import helpers as h
|
from rhodecode.lib import helpers as h
|
||||||
|
|
@ -39,9 +39,6 @@ class RepoSettingsRemoteView(RepoAppView):
|
||||||
|
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasRepoPermissionAnyDecorator('repository.admin')
|
@HasRepoPermissionAnyDecorator('repository.admin')
|
||||||
@view_config(
|
|
||||||
route_name='edit_repo_remote', request_method='GET',
|
|
||||||
renderer='rhodecode:templates/admin/repos/repo_edit.mako')
|
|
||||||
def repo_remote_edit_form(self):
|
def repo_remote_edit_form(self):
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
c.active = 'remote'
|
c.active = 'remote'
|
||||||
|
|
@ -51,9 +48,6 @@ class RepoSettingsRemoteView(RepoAppView):
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasRepoPermissionAnyDecorator('repository.admin')
|
@HasRepoPermissionAnyDecorator('repository.admin')
|
||||||
@CSRFRequired()
|
@CSRFRequired()
|
||||||
@view_config(
|
|
||||||
route_name='edit_repo_remote_pull', request_method='POST',
|
|
||||||
renderer=None)
|
|
||||||
def repo_remote_pull_changes(self):
|
def repo_remote_pull_changes(self):
|
||||||
_ = self.request.translate
|
_ = self.request.translate
|
||||||
self.load_default_context()
|
self.load_default_context()
|
||||||
|
|
|
||||||
|
|
@ -25,10 +25,8 @@ import formencode.htmlfill
|
||||||
from pyramid.httpexceptions import HTTPFound, HTTPBadRequest
|
from pyramid.httpexceptions import HTTPFound, HTTPBadRequest
|
||||||
from pyramid.response import Response
|
from pyramid.response import Response
|
||||||
from pyramid.renderers import render
|
from pyramid.renderers import render
|
||||||
from pyramid.view import view_config
|
|
||||||
|
|
||||||
from rhodecode.apps._base import RepoAppView
|
from rhodecode.apps._base import RepoAppView
|
||||||
from rhodecode.lib import audit_logger
|
|
||||||
from rhodecode.lib import helpers as h
|
from rhodecode.lib import helpers as h
|
||||||
from rhodecode.lib.auth import (
|
from rhodecode.lib.auth import (
|
||||||
LoginRequired, HasRepoPermissionAnyDecorator, CSRFRequired)
|
LoginRequired, HasRepoPermissionAnyDecorator, CSRFRequired)
|
||||||
|
|
@ -71,9 +69,6 @@ class RepoSettingsVcsView(RepoAppView):
|
||||||
|
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasRepoPermissionAnyDecorator('repository.admin')
|
@HasRepoPermissionAnyDecorator('repository.admin')
|
||||||
@view_config(
|
|
||||||
route_name='edit_repo_vcs', request_method='GET',
|
|
||||||
renderer='rhodecode:templates/admin/repos/repo_edit.mako')
|
|
||||||
def repo_vcs_settings(self):
|
def repo_vcs_settings(self):
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
model = VcsSettingsModel(repo=self.db_repo_name)
|
model = VcsSettingsModel(repo=self.db_repo_name)
|
||||||
|
|
@ -100,9 +95,6 @@ class RepoSettingsVcsView(RepoAppView):
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasRepoPermissionAnyDecorator('repository.admin')
|
@HasRepoPermissionAnyDecorator('repository.admin')
|
||||||
@CSRFRequired()
|
@CSRFRequired()
|
||||||
@view_config(
|
|
||||||
route_name='edit_repo_vcs_update', request_method='POST',
|
|
||||||
renderer='rhodecode:templates/admin/repos/repo_edit.mako')
|
|
||||||
def repo_settings_vcs_update(self):
|
def repo_settings_vcs_update(self):
|
||||||
_ = self.request.translate
|
_ = self.request.translate
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
|
|
@ -153,9 +145,6 @@ class RepoSettingsVcsView(RepoAppView):
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasRepoPermissionAnyDecorator('repository.admin')
|
@HasRepoPermissionAnyDecorator('repository.admin')
|
||||||
@CSRFRequired()
|
@CSRFRequired()
|
||||||
@view_config(
|
|
||||||
route_name='edit_repo_vcs_svn_pattern_delete', request_method='POST',
|
|
||||||
renderer='json_ext', xhr=True)
|
|
||||||
def repo_settings_delete_svn_pattern(self):
|
def repo_settings_delete_svn_pattern(self):
|
||||||
self.load_default_context()
|
self.load_default_context()
|
||||||
delete_pattern_id = self.request.POST.get('delete_svn_pattern')
|
delete_pattern_id = self.request.POST.get('delete_svn_pattern')
|
||||||
|
|
|
||||||
|
|
@ -19,7 +19,7 @@
|
||||||
# and proprietary license terms, please see https://rhodecode.com/licenses/
|
# and proprietary license terms, please see https://rhodecode.com/licenses/
|
||||||
|
|
||||||
import logging
|
import logging
|
||||||
from pyramid.view import view_config
|
|
||||||
|
|
||||||
from rhodecode.apps._base import RepoAppView
|
from rhodecode.apps._base import RepoAppView
|
||||||
from rhodecode.lib import audit_logger
|
from rhodecode.lib import audit_logger
|
||||||
|
|
@ -31,7 +31,7 @@ from rhodecode.lib.ext_json import json
|
||||||
log = logging.getLogger(__name__)
|
log = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
|
||||||
class StripView(RepoAppView):
|
class RepoStripView(RepoAppView):
|
||||||
def load_default_context(self):
|
def load_default_context(self):
|
||||||
c = self._get_local_tmpl_context()
|
c = self._get_local_tmpl_context()
|
||||||
|
|
||||||
|
|
@ -40,9 +40,6 @@ class StripView(RepoAppView):
|
||||||
|
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasRepoPermissionAnyDecorator('repository.admin')
|
@HasRepoPermissionAnyDecorator('repository.admin')
|
||||||
@view_config(
|
|
||||||
route_name='edit_repo_strip', request_method='GET',
|
|
||||||
renderer='rhodecode:templates/admin/repos/repo_edit.mako')
|
|
||||||
def strip(self):
|
def strip(self):
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
c.active = 'strip'
|
c.active = 'strip'
|
||||||
|
|
@ -53,9 +50,6 @@ class StripView(RepoAppView):
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasRepoPermissionAnyDecorator('repository.admin')
|
@HasRepoPermissionAnyDecorator('repository.admin')
|
||||||
@CSRFRequired()
|
@CSRFRequired()
|
||||||
@view_config(
|
|
||||||
route_name='strip_check', request_method='POST',
|
|
||||||
renderer='json', xhr=True)
|
|
||||||
def strip_check(self):
|
def strip_check(self):
|
||||||
from rhodecode.lib.vcs.backends.base import EmptyCommit
|
from rhodecode.lib.vcs.backends.base import EmptyCommit
|
||||||
data = {}
|
data = {}
|
||||||
|
|
@ -79,9 +73,6 @@ class StripView(RepoAppView):
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasRepoPermissionAnyDecorator('repository.admin')
|
@HasRepoPermissionAnyDecorator('repository.admin')
|
||||||
@CSRFRequired()
|
@CSRFRequired()
|
||||||
@view_config(
|
|
||||||
route_name='strip_execute', request_method='POST',
|
|
||||||
renderer='json', xhr=True)
|
|
||||||
def strip_execute(self):
|
def strip_execute(self):
|
||||||
from rhodecode.model.scm import ScmModel
|
from rhodecode.model.scm import ScmModel
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -24,7 +24,7 @@ import time
|
||||||
|
|
||||||
import rhodecode
|
import rhodecode
|
||||||
|
|
||||||
from pyramid.view import view_config
|
|
||||||
|
|
||||||
from rhodecode.lib.view_utils import get_format_ref_id
|
from rhodecode.lib.view_utils import get_format_ref_id
|
||||||
from rhodecode.apps._base import RepoAppView
|
from rhodecode.apps._base import RepoAppView
|
||||||
|
|
@ -101,9 +101,6 @@ class RepoSummaryView(RepoAppView):
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasRepoPermissionAnyDecorator(
|
@HasRepoPermissionAnyDecorator(
|
||||||
'repository.read', 'repository.write', 'repository.admin')
|
'repository.read', 'repository.write', 'repository.admin')
|
||||||
@view_config(
|
|
||||||
route_name='repo_summary_commits', request_method='GET',
|
|
||||||
renderer='rhodecode:templates/summary/summary_commits.mako')
|
|
||||||
def summary_commits(self):
|
def summary_commits(self):
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
self._prepare_and_set_clone_url(c)
|
self._prepare_and_set_clone_url(c)
|
||||||
|
|
@ -113,15 +110,6 @@ class RepoSummaryView(RepoAppView):
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasRepoPermissionAnyDecorator(
|
@HasRepoPermissionAnyDecorator(
|
||||||
'repository.read', 'repository.write', 'repository.admin')
|
'repository.read', 'repository.write', 'repository.admin')
|
||||||
@view_config(
|
|
||||||
route_name='repo_summary', request_method='GET',
|
|
||||||
renderer='rhodecode:templates/summary/summary.mako')
|
|
||||||
@view_config(
|
|
||||||
route_name='repo_summary_slash', request_method='GET',
|
|
||||||
renderer='rhodecode:templates/summary/summary.mako')
|
|
||||||
@view_config(
|
|
||||||
route_name='repo_summary_explicit', request_method='GET',
|
|
||||||
renderer='rhodecode:templates/summary/summary.mako')
|
|
||||||
def summary(self):
|
def summary(self):
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
|
|
||||||
|
|
@ -176,9 +164,6 @@ class RepoSummaryView(RepoAppView):
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasRepoPermissionAnyDecorator(
|
@HasRepoPermissionAnyDecorator(
|
||||||
'repository.read', 'repository.write', 'repository.admin')
|
'repository.read', 'repository.write', 'repository.admin')
|
||||||
@view_config(
|
|
||||||
route_name='repo_stats', request_method='GET',
|
|
||||||
renderer='json_ext')
|
|
||||||
def repo_stats(self):
|
def repo_stats(self):
|
||||||
show_stats = bool(self.db_repo.enable_statistics)
|
show_stats = bool(self.db_repo.enable_statistics)
|
||||||
repo_id = self.db_repo.repo_id
|
repo_id = self.db_repo.repo_id
|
||||||
|
|
@ -228,9 +213,6 @@ class RepoSummaryView(RepoAppView):
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasRepoPermissionAnyDecorator(
|
@HasRepoPermissionAnyDecorator(
|
||||||
'repository.read', 'repository.write', 'repository.admin')
|
'repository.read', 'repository.write', 'repository.admin')
|
||||||
@view_config(
|
|
||||||
route_name='repo_refs_data', request_method='GET',
|
|
||||||
renderer='json_ext')
|
|
||||||
def repo_refs_data(self):
|
def repo_refs_data(self):
|
||||||
_ = self.request.translate
|
_ = self.request.translate
|
||||||
self.load_default_context()
|
self.load_default_context()
|
||||||
|
|
@ -251,9 +233,6 @@ class RepoSummaryView(RepoAppView):
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasRepoPermissionAnyDecorator(
|
@HasRepoPermissionAnyDecorator(
|
||||||
'repository.read', 'repository.write', 'repository.admin')
|
'repository.read', 'repository.write', 'repository.admin')
|
||||||
@view_config(
|
|
||||||
route_name='repo_refs_changelog_data', request_method='GET',
|
|
||||||
renderer='json_ext')
|
|
||||||
def repo_refs_changelog_data(self):
|
def repo_refs_changelog_data(self):
|
||||||
_ = self.request.translate
|
_ = self.request.translate
|
||||||
self.load_default_context()
|
self.load_default_context()
|
||||||
|
|
|
||||||
|
|
@ -19,7 +19,6 @@
|
||||||
# and proprietary license terms, please see https://rhodecode.com/licenses/
|
# and proprietary license terms, please see https://rhodecode.com/licenses/
|
||||||
|
|
||||||
import logging
|
import logging
|
||||||
from pyramid.view import view_config
|
|
||||||
|
|
||||||
from rhodecode.apps._base import BaseReferencesView
|
from rhodecode.apps._base import BaseReferencesView
|
||||||
from rhodecode.lib.ext_json import json
|
from rhodecode.lib.ext_json import json
|
||||||
|
|
@ -33,9 +32,6 @@ class RepoTagsView(BaseReferencesView):
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasRepoPermissionAnyDecorator(
|
@HasRepoPermissionAnyDecorator(
|
||||||
'repository.read', 'repository.write', 'repository.admin')
|
'repository.read', 'repository.write', 'repository.admin')
|
||||||
@view_config(
|
|
||||||
route_name='tags_home', request_method='GET',
|
|
||||||
renderer='rhodecode:templates/tags/tags.mako')
|
|
||||||
def tags(self):
|
def tags(self):
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -21,23 +21,42 @@ from rhodecode.apps._base import ADMIN_PREFIX
|
||||||
|
|
||||||
|
|
||||||
def includeme(config):
|
def includeme(config):
|
||||||
|
from rhodecode.apps.search.views import (
|
||||||
|
SearchView, SearchRepoView, SearchRepoGroupView)
|
||||||
|
|
||||||
config.add_route(
|
config.add_route(
|
||||||
name='search',
|
name='search',
|
||||||
pattern=ADMIN_PREFIX + '/search')
|
pattern=ADMIN_PREFIX + '/search')
|
||||||
|
config.add_view(
|
||||||
|
SearchView,
|
||||||
|
attr='search',
|
||||||
|
route_name='search', request_method='GET',
|
||||||
|
renderer='rhodecode:templates/search/search.mako')
|
||||||
|
|
||||||
config.add_route(
|
config.add_route(
|
||||||
name='search_repo',
|
name='search_repo',
|
||||||
pattern='/{repo_name:.*?[^/]}/_search', repo_route=True)
|
pattern='/{repo_name:.*?[^/]}/_search', repo_route=True)
|
||||||
|
config.add_view(
|
||||||
|
SearchRepoView,
|
||||||
|
attr='search_repo',
|
||||||
|
route_name='search_repo', request_method='GET',
|
||||||
|
renderer='rhodecode:templates/search/search.mako')
|
||||||
|
|
||||||
config.add_route(
|
config.add_route(
|
||||||
name='search_repo_alt',
|
name='search_repo_alt',
|
||||||
pattern='/{repo_name:.*?[^/]}/search', repo_route=True)
|
pattern='/{repo_name:.*?[^/]}/search', repo_route=True)
|
||||||
|
config.add_view(
|
||||||
|
SearchRepoView,
|
||||||
|
attr='search_repo',
|
||||||
|
route_name='search_repo_alt', request_method='GET',
|
||||||
|
renderer='rhodecode:templates/search/search.mako')
|
||||||
|
|
||||||
config.add_route(
|
config.add_route(
|
||||||
name='search_repo_group',
|
name='search_repo_group',
|
||||||
pattern='/{repo_group_name:.*?[^/]}/_search',
|
pattern='/{repo_group_name:.*?[^/]}/_search',
|
||||||
repo_group_route=True)
|
repo_group_route=True)
|
||||||
|
config.add_view(
|
||||||
# Scan module for configuration decorators.
|
SearchRepoGroupView,
|
||||||
config.scan('.views', ignore='.tests')
|
attr='search_repo_group',
|
||||||
|
route_name='search_repo_group', request_method='GET',
|
||||||
|
renderer='rhodecode:templates/search/search.mako')
|
||||||
|
|
|
||||||
|
|
@ -20,7 +20,7 @@
|
||||||
|
|
||||||
import logging
|
import logging
|
||||||
import urllib
|
import urllib
|
||||||
from pyramid.view import view_config
|
|
||||||
from webhelpers2.html.tools import update_params
|
from webhelpers2.html.tools import update_params
|
||||||
|
|
||||||
from rhodecode.apps._base import BaseAppView, RepoAppView, RepoGroupAppView
|
from rhodecode.apps._base import BaseAppView, RepoAppView, RepoGroupAppView
|
||||||
|
|
@ -130,9 +130,6 @@ class SearchView(BaseAppView):
|
||||||
return c
|
return c
|
||||||
|
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@view_config(
|
|
||||||
route_name='search', request_method='GET',
|
|
||||||
renderer='rhodecode:templates/search/search.mako')
|
|
||||||
def search(self):
|
def search(self):
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
perform_search(self.request, c)
|
perform_search(self.request, c)
|
||||||
|
|
@ -148,12 +145,6 @@ class SearchRepoView(RepoAppView):
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasRepoPermissionAnyDecorator(
|
@HasRepoPermissionAnyDecorator(
|
||||||
'repository.read', 'repository.write', 'repository.admin')
|
'repository.read', 'repository.write', 'repository.admin')
|
||||||
@view_config(
|
|
||||||
route_name='search_repo', request_method='GET',
|
|
||||||
renderer='rhodecode:templates/search/search.mako')
|
|
||||||
@view_config(
|
|
||||||
route_name='search_repo_alt', request_method='GET',
|
|
||||||
renderer='rhodecode:templates/search/search.mako')
|
|
||||||
def search_repo(self):
|
def search_repo(self):
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
perform_search(self.request, c, repo_name=self.db_repo_name)
|
perform_search(self.request, c, repo_name=self.db_repo_name)
|
||||||
|
|
@ -169,9 +160,6 @@ class SearchRepoGroupView(RepoGroupAppView):
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasRepoGroupPermissionAnyDecorator(
|
@HasRepoGroupPermissionAnyDecorator(
|
||||||
'group.read', 'group.write', 'group.admin')
|
'group.read', 'group.write', 'group.admin')
|
||||||
@view_config(
|
|
||||||
route_name='search_repo_group', request_method='GET',
|
|
||||||
renderer='rhodecode:templates/search/search.mako')
|
|
||||||
def search_repo_group(self):
|
def search_repo_group(self):
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
perform_search(self.request, c, repo_group_name=self.db_repo_group_name)
|
perform_search(self.request, c, repo_group_name=self.db_repo_group_name)
|
||||||
|
|
|
||||||
|
|
@ -37,25 +37,6 @@ from . import config_keys
|
||||||
log = logging.getLogger(__name__)
|
log = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
|
||||||
def includeme(config):
|
|
||||||
settings = config.registry.settings
|
|
||||||
_sanitize_settings_and_apply_defaults(settings)
|
|
||||||
|
|
||||||
if settings[config_keys.generate_config]:
|
|
||||||
# Add subscriber to generate the Apache mod dav svn configuration on
|
|
||||||
# repository group events.
|
|
||||||
config.add_subscriber(generate_config_subscriber, RepoGroupEvent)
|
|
||||||
|
|
||||||
# If a reload command is set add a subscriber to execute it on
|
|
||||||
# configuration changes.
|
|
||||||
reload_cmd = settings[config_keys.reload_command]
|
|
||||||
if reload_cmd:
|
|
||||||
reload_timeout = settings[config_keys.reload_timeout] or None
|
|
||||||
reload_subscriber = AsyncSubprocessSubscriber(
|
|
||||||
cmd=reload_cmd, timeout=reload_timeout)
|
|
||||||
config.add_subscriber(reload_subscriber, ModDavSvnConfigChange)
|
|
||||||
|
|
||||||
|
|
||||||
def _sanitize_settings_and_apply_defaults(settings):
|
def _sanitize_settings_and_apply_defaults(settings):
|
||||||
"""
|
"""
|
||||||
Set defaults, convert to python types and validate settings.
|
Set defaults, convert to python types and validate settings.
|
||||||
|
|
@ -88,3 +69,22 @@ def _append_path_sep(path):
|
||||||
if isinstance(path, compat.string_types) and not path.endswith(os.path.sep):
|
if isinstance(path, compat.string_types) and not path.endswith(os.path.sep):
|
||||||
path += os.path.sep
|
path += os.path.sep
|
||||||
return path
|
return path
|
||||||
|
|
||||||
|
|
||||||
|
def includeme(config):
|
||||||
|
settings = config.registry.settings
|
||||||
|
_sanitize_settings_and_apply_defaults(settings)
|
||||||
|
|
||||||
|
if settings[config_keys.generate_config]:
|
||||||
|
# Add subscriber to generate the Apache mod dav svn configuration on
|
||||||
|
# repository group events.
|
||||||
|
config.add_subscriber(generate_config_subscriber, RepoGroupEvent)
|
||||||
|
|
||||||
|
# If a reload command is set add a subscriber to execute it on
|
||||||
|
# configuration changes.
|
||||||
|
reload_cmd = settings[config_keys.reload_command]
|
||||||
|
if reload_cmd:
|
||||||
|
reload_timeout = settings[config_keys.reload_timeout] or None
|
||||||
|
reload_subscriber = AsyncSubprocessSubscriber(
|
||||||
|
cmd=reload_cmd, timeout=reload_timeout)
|
||||||
|
config.add_subscriber(reload_subscriber, ModDavSvnConfigChange)
|
||||||
|
|
|
||||||
|
|
@ -28,74 +28,134 @@ def admin_routes(config):
|
||||||
"""
|
"""
|
||||||
User groups /_admin prefixed routes
|
User groups /_admin prefixed routes
|
||||||
"""
|
"""
|
||||||
|
from rhodecode.apps.user_group.views import UserGroupsView
|
||||||
|
|
||||||
config.add_route(
|
config.add_route(
|
||||||
name='user_group_members_data',
|
name='user_group_members_data',
|
||||||
pattern='/user_groups/{user_group_id:\d+}/members',
|
pattern='/user_groups/{user_group_id:\d+}/members',
|
||||||
user_group_route=True)
|
user_group_route=True)
|
||||||
|
config.add_view(
|
||||||
|
UserGroupsView,
|
||||||
|
attr='user_group_members',
|
||||||
|
route_name='user_group_members_data', request_method='GET',
|
||||||
|
renderer='json_ext', xhr=True)
|
||||||
|
|
||||||
# user groups perms
|
# user groups perms
|
||||||
config.add_route(
|
config.add_route(
|
||||||
name='edit_user_group_perms_summary',
|
name='edit_user_group_perms_summary',
|
||||||
pattern='/user_groups/{user_group_id:\d+}/edit/permissions_summary',
|
pattern='/user_groups/{user_group_id:\d+}/edit/permissions_summary',
|
||||||
user_group_route=True)
|
user_group_route=True)
|
||||||
|
config.add_view(
|
||||||
|
UserGroupsView,
|
||||||
|
attr='user_group_perms_summary',
|
||||||
|
route_name='edit_user_group_perms_summary', request_method='GET',
|
||||||
|
renderer='rhodecode:templates/admin/user_groups/user_group_edit.mako')
|
||||||
|
|
||||||
config.add_route(
|
config.add_route(
|
||||||
name='edit_user_group_perms_summary_json',
|
name='edit_user_group_perms_summary_json',
|
||||||
pattern='/user_groups/{user_group_id:\d+}/edit/permissions_summary/json',
|
pattern='/user_groups/{user_group_id:\d+}/edit/permissions_summary/json',
|
||||||
user_group_route=True)
|
user_group_route=True)
|
||||||
|
config.add_view(
|
||||||
|
UserGroupsView,
|
||||||
|
attr='user_group_perms_summary_json',
|
||||||
|
route_name='edit_user_group_perms_summary_json', request_method='GET',
|
||||||
|
renderer='json_ext')
|
||||||
|
|
||||||
# user groups edit
|
# user groups edit
|
||||||
config.add_route(
|
config.add_route(
|
||||||
name='edit_user_group',
|
name='edit_user_group',
|
||||||
pattern='/user_groups/{user_group_id:\d+}/edit',
|
pattern='/user_groups/{user_group_id:\d+}/edit',
|
||||||
user_group_route=True)
|
user_group_route=True)
|
||||||
|
config.add_view(
|
||||||
|
UserGroupsView,
|
||||||
|
attr='user_group_edit',
|
||||||
|
route_name='edit_user_group', request_method='GET',
|
||||||
|
renderer='rhodecode:templates/admin/user_groups/user_group_edit.mako')
|
||||||
|
|
||||||
# user groups update
|
# user groups update
|
||||||
config.add_route(
|
config.add_route(
|
||||||
name='user_groups_update',
|
name='user_groups_update',
|
||||||
pattern='/user_groups/{user_group_id:\d+}/update',
|
pattern='/user_groups/{user_group_id:\d+}/update',
|
||||||
user_group_route=True)
|
user_group_route=True)
|
||||||
|
config.add_view(
|
||||||
|
UserGroupsView,
|
||||||
|
attr='user_group_update',
|
||||||
|
route_name='user_groups_update', request_method='POST',
|
||||||
|
renderer='rhodecode:templates/admin/user_groups/user_group_edit.mako')
|
||||||
|
|
||||||
config.add_route(
|
config.add_route(
|
||||||
name='edit_user_group_global_perms',
|
name='edit_user_group_global_perms',
|
||||||
pattern='/user_groups/{user_group_id:\d+}/edit/global_permissions',
|
pattern='/user_groups/{user_group_id:\d+}/edit/global_permissions',
|
||||||
user_group_route=True)
|
user_group_route=True)
|
||||||
|
config.add_view(
|
||||||
|
UserGroupsView,
|
||||||
|
attr='user_group_global_perms_edit',
|
||||||
|
route_name='edit_user_group_global_perms', request_method='GET',
|
||||||
|
renderer='rhodecode:templates/admin/user_groups/user_group_edit.mako')
|
||||||
|
|
||||||
config.add_route(
|
config.add_route(
|
||||||
name='edit_user_group_global_perms_update',
|
name='edit_user_group_global_perms_update',
|
||||||
pattern='/user_groups/{user_group_id:\d+}/edit/global_permissions/update',
|
pattern='/user_groups/{user_group_id:\d+}/edit/global_permissions/update',
|
||||||
user_group_route=True)
|
user_group_route=True)
|
||||||
|
config.add_view(
|
||||||
|
UserGroupsView,
|
||||||
|
attr='user_group_global_perms_update',
|
||||||
|
route_name='edit_user_group_global_perms_update', request_method='POST',
|
||||||
|
renderer='rhodecode:templates/admin/user_groups/user_group_edit.mako')
|
||||||
|
|
||||||
config.add_route(
|
config.add_route(
|
||||||
name='edit_user_group_perms',
|
name='edit_user_group_perms',
|
||||||
pattern='/user_groups/{user_group_id:\d+}/edit/permissions',
|
pattern='/user_groups/{user_group_id:\d+}/edit/permissions',
|
||||||
user_group_route=True)
|
user_group_route=True)
|
||||||
|
config.add_view(
|
||||||
|
UserGroupsView,
|
||||||
|
attr='user_group_edit_perms',
|
||||||
|
route_name='edit_user_group_perms', request_method='GET',
|
||||||
|
renderer='rhodecode:templates/admin/user_groups/user_group_edit.mako')
|
||||||
|
|
||||||
config.add_route(
|
config.add_route(
|
||||||
name='edit_user_group_perms_update',
|
name='edit_user_group_perms_update',
|
||||||
pattern='/user_groups/{user_group_id:\d+}/edit/permissions/update',
|
pattern='/user_groups/{user_group_id:\d+}/edit/permissions/update',
|
||||||
user_group_route=True)
|
user_group_route=True)
|
||||||
|
config.add_view(
|
||||||
|
UserGroupsView,
|
||||||
|
attr='user_group_update_perms',
|
||||||
|
route_name='edit_user_group_perms_update', request_method='POST',
|
||||||
|
renderer='rhodecode:templates/admin/user_groups/user_group_edit.mako')
|
||||||
|
|
||||||
config.add_route(
|
config.add_route(
|
||||||
name='edit_user_group_advanced',
|
name='edit_user_group_advanced',
|
||||||
pattern='/user_groups/{user_group_id:\d+}/edit/advanced',
|
pattern='/user_groups/{user_group_id:\d+}/edit/advanced',
|
||||||
user_group_route=True)
|
user_group_route=True)
|
||||||
|
config.add_view(
|
||||||
|
UserGroupsView,
|
||||||
|
attr='user_group_edit_advanced',
|
||||||
|
route_name='edit_user_group_advanced', request_method='GET',
|
||||||
|
renderer='rhodecode:templates/admin/user_groups/user_group_edit.mako')
|
||||||
|
|
||||||
config.add_route(
|
config.add_route(
|
||||||
name='edit_user_group_advanced_sync',
|
name='edit_user_group_advanced_sync',
|
||||||
pattern='/user_groups/{user_group_id:\d+}/edit/advanced/sync',
|
pattern='/user_groups/{user_group_id:\d+}/edit/advanced/sync',
|
||||||
user_group_route=True)
|
user_group_route=True)
|
||||||
|
config.add_view(
|
||||||
|
UserGroupsView,
|
||||||
|
attr='user_group_edit_advanced_set_synchronization',
|
||||||
|
route_name='edit_user_group_advanced_sync', request_method='POST',
|
||||||
|
renderer='rhodecode:templates/admin/user_groups/user_group_edit.mako')
|
||||||
|
|
||||||
# user groups delete
|
# user groups delete
|
||||||
config.add_route(
|
config.add_route(
|
||||||
name='user_groups_delete',
|
name='user_groups_delete',
|
||||||
pattern='/user_groups/{user_group_id:\d+}/delete',
|
pattern='/user_groups/{user_group_id:\d+}/delete',
|
||||||
user_group_route=True)
|
user_group_route=True)
|
||||||
|
config.add_view(
|
||||||
|
UserGroupsView,
|
||||||
|
attr='user_group_delete',
|
||||||
|
route_name='user_groups_delete', request_method='POST',
|
||||||
|
renderer='rhodecode:templates/admin/user_groups/user_group_edit.mako')
|
||||||
|
|
||||||
|
|
||||||
def includeme(config):
|
def includeme(config):
|
||||||
# main admin routes
|
# main admin routes
|
||||||
config.include(admin_routes, route_prefix=ADMIN_PREFIX)
|
config.include(admin_routes, route_prefix=ADMIN_PREFIX)
|
||||||
|
|
||||||
# Scan module for configuration decorators.
|
|
||||||
config.scan('.views', ignore='.tests')
|
|
||||||
|
|
|
||||||
|
|
@ -24,7 +24,7 @@ import peppercorn
|
||||||
import formencode
|
import formencode
|
||||||
import formencode.htmlfill
|
import formencode.htmlfill
|
||||||
from pyramid.httpexceptions import HTTPFound
|
from pyramid.httpexceptions import HTTPFound
|
||||||
from pyramid.view import view_config
|
|
||||||
from pyramid.response import Response
|
from pyramid.response import Response
|
||||||
from pyramid.renderers import render
|
from pyramid.renderers import render
|
||||||
|
|
||||||
|
|
@ -60,9 +60,6 @@ class UserGroupsView(UserGroupAppView):
|
||||||
|
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasUserGroupPermissionAnyDecorator('usergroup.admin')
|
@HasUserGroupPermissionAnyDecorator('usergroup.admin')
|
||||||
@view_config(
|
|
||||||
route_name='user_group_members_data', request_method='GET',
|
|
||||||
renderer='json_ext', xhr=True)
|
|
||||||
def user_group_members(self):
|
def user_group_members(self):
|
||||||
"""
|
"""
|
||||||
Return members of given user group
|
Return members of given user group
|
||||||
|
|
@ -93,9 +90,6 @@ class UserGroupsView(UserGroupAppView):
|
||||||
|
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasUserGroupPermissionAnyDecorator('usergroup.admin')
|
@HasUserGroupPermissionAnyDecorator('usergroup.admin')
|
||||||
@view_config(
|
|
||||||
route_name='edit_user_group_perms_summary', request_method='GET',
|
|
||||||
renderer='rhodecode:templates/admin/user_groups/user_group_edit.mako')
|
|
||||||
def user_group_perms_summary(self):
|
def user_group_perms_summary(self):
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
c.user_group = self.db_user_group
|
c.user_group = self.db_user_group
|
||||||
|
|
@ -106,9 +100,6 @@ class UserGroupsView(UserGroupAppView):
|
||||||
|
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasUserGroupPermissionAnyDecorator('usergroup.admin')
|
@HasUserGroupPermissionAnyDecorator('usergroup.admin')
|
||||||
@view_config(
|
|
||||||
route_name='edit_user_group_perms_summary_json', request_method='GET',
|
|
||||||
renderer='json_ext')
|
|
||||||
def user_group_perms_summary_json(self):
|
def user_group_perms_summary_json(self):
|
||||||
self.load_default_context()
|
self.load_default_context()
|
||||||
user_group = self.db_user_group
|
user_group = self.db_user_group
|
||||||
|
|
@ -131,9 +122,6 @@ class UserGroupsView(UserGroupAppView):
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasUserGroupPermissionAnyDecorator('usergroup.admin')
|
@HasUserGroupPermissionAnyDecorator('usergroup.admin')
|
||||||
@CSRFRequired()
|
@CSRFRequired()
|
||||||
@view_config(
|
|
||||||
route_name='user_groups_update', request_method='POST',
|
|
||||||
renderer='rhodecode:templates/admin/user_groups/user_group_edit.mako')
|
|
||||||
def user_group_update(self):
|
def user_group_update(self):
|
||||||
_ = self.request.translate
|
_ = self.request.translate
|
||||||
|
|
||||||
|
|
@ -230,9 +218,6 @@ class UserGroupsView(UserGroupAppView):
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasUserGroupPermissionAnyDecorator('usergroup.admin')
|
@HasUserGroupPermissionAnyDecorator('usergroup.admin')
|
||||||
@CSRFRequired()
|
@CSRFRequired()
|
||||||
@view_config(
|
|
||||||
route_name='user_groups_delete', request_method='POST',
|
|
||||||
renderer='rhodecode:templates/admin/user_groups/user_group_edit.mako')
|
|
||||||
def user_group_delete(self):
|
def user_group_delete(self):
|
||||||
_ = self.request.translate
|
_ = self.request.translate
|
||||||
user_group = self.db_user_group
|
user_group = self.db_user_group
|
||||||
|
|
@ -258,9 +243,6 @@ class UserGroupsView(UserGroupAppView):
|
||||||
|
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasUserGroupPermissionAnyDecorator('usergroup.admin')
|
@HasUserGroupPermissionAnyDecorator('usergroup.admin')
|
||||||
@view_config(
|
|
||||||
route_name='edit_user_group', request_method='GET',
|
|
||||||
renderer='rhodecode:templates/admin/user_groups/user_group_edit.mako')
|
|
||||||
def user_group_edit(self):
|
def user_group_edit(self):
|
||||||
user_group = self.db_user_group
|
user_group = self.db_user_group
|
||||||
|
|
||||||
|
|
@ -293,9 +275,6 @@ class UserGroupsView(UserGroupAppView):
|
||||||
|
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasUserGroupPermissionAnyDecorator('usergroup.admin')
|
@HasUserGroupPermissionAnyDecorator('usergroup.admin')
|
||||||
@view_config(
|
|
||||||
route_name='edit_user_group_perms', request_method='GET',
|
|
||||||
renderer='rhodecode:templates/admin/user_groups/user_group_edit.mako')
|
|
||||||
def user_group_edit_perms(self):
|
def user_group_edit_perms(self):
|
||||||
user_group = self.db_user_group
|
user_group = self.db_user_group
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
|
|
@ -326,9 +305,6 @@ class UserGroupsView(UserGroupAppView):
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasUserGroupPermissionAnyDecorator('usergroup.admin')
|
@HasUserGroupPermissionAnyDecorator('usergroup.admin')
|
||||||
@CSRFRequired()
|
@CSRFRequired()
|
||||||
@view_config(
|
|
||||||
route_name='edit_user_group_perms_update', request_method='POST',
|
|
||||||
renderer='rhodecode:templates/admin/user_groups/user_group_edit.mako')
|
|
||||||
def user_group_update_perms(self):
|
def user_group_update_perms(self):
|
||||||
"""
|
"""
|
||||||
grant permission for given user group
|
grant permission for given user group
|
||||||
|
|
@ -390,9 +366,6 @@ class UserGroupsView(UserGroupAppView):
|
||||||
|
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasUserGroupPermissionAnyDecorator('usergroup.admin')
|
@HasUserGroupPermissionAnyDecorator('usergroup.admin')
|
||||||
@view_config(
|
|
||||||
route_name='edit_user_group_global_perms', request_method='GET',
|
|
||||||
renderer='rhodecode:templates/admin/user_groups/user_group_edit.mako')
|
|
||||||
def user_group_global_perms_edit(self):
|
def user_group_global_perms_edit(self):
|
||||||
user_group = self.db_user_group
|
user_group = self.db_user_group
|
||||||
c = self.load_default_context()
|
c = self.load_default_context()
|
||||||
|
|
@ -418,9 +391,6 @@ class UserGroupsView(UserGroupAppView):
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasUserGroupPermissionAnyDecorator('usergroup.admin')
|
@HasUserGroupPermissionAnyDecorator('usergroup.admin')
|
||||||
@CSRFRequired()
|
@CSRFRequired()
|
||||||
@view_config(
|
|
||||||
route_name='edit_user_group_global_perms_update', request_method='POST',
|
|
||||||
renderer='rhodecode:templates/admin/user_groups/user_group_edit.mako')
|
|
||||||
def user_group_global_perms_update(self):
|
def user_group_global_perms_update(self):
|
||||||
_ = self.request.translate
|
_ = self.request.translate
|
||||||
user_group = self.db_user_group
|
user_group = self.db_user_group
|
||||||
|
|
@ -485,9 +455,6 @@ class UserGroupsView(UserGroupAppView):
|
||||||
|
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasUserGroupPermissionAnyDecorator('usergroup.admin')
|
@HasUserGroupPermissionAnyDecorator('usergroup.admin')
|
||||||
@view_config(
|
|
||||||
route_name='edit_user_group_advanced', request_method='GET',
|
|
||||||
renderer='rhodecode:templates/admin/user_groups/user_group_edit.mako')
|
|
||||||
def user_group_edit_advanced(self):
|
def user_group_edit_advanced(self):
|
||||||
user_group = self.db_user_group
|
user_group = self.db_user_group
|
||||||
|
|
||||||
|
|
@ -515,9 +482,6 @@ class UserGroupsView(UserGroupAppView):
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@HasUserGroupPermissionAnyDecorator('usergroup.admin')
|
@HasUserGroupPermissionAnyDecorator('usergroup.admin')
|
||||||
@CSRFRequired()
|
@CSRFRequired()
|
||||||
@view_config(
|
|
||||||
route_name='edit_user_group_advanced_sync', request_method='POST',
|
|
||||||
renderer='rhodecode:templates/admin/user_groups/user_group_edit.mako')
|
|
||||||
def user_group_edit_advanced_set_synchronization(self):
|
def user_group_edit_advanced_set_synchronization(self):
|
||||||
_ = self.request.translate
|
_ = self.request.translate
|
||||||
user_group = self.db_user_group
|
user_group = self.db_user_group
|
||||||
|
|
|
||||||
|
|
@ -20,8 +20,13 @@
|
||||||
|
|
||||||
|
|
||||||
def includeme(config):
|
def includeme(config):
|
||||||
|
from rhodecode.apps.user_group_profile.views import UserGroupProfileView
|
||||||
|
|
||||||
config.add_route(
|
config.add_route(
|
||||||
name='user_group_profile',
|
name='user_group_profile',
|
||||||
pattern='/_profile_user_group/{user_group_name}')
|
pattern='/_profile_user_group/{user_group_name}')
|
||||||
# Scan module for configuration decorators.
|
config.add_view(
|
||||||
config.scan('.views', ignore='.tests')
|
UserGroupProfileView,
|
||||||
|
attr='user_group_profile',
|
||||||
|
route_name='user_group_profile', request_method='GET',
|
||||||
|
renderer='rhodecode:templates/user_group/user_group.mako')
|
||||||
|
|
|
||||||
|
|
@ -21,7 +21,7 @@
|
||||||
import logging
|
import logging
|
||||||
|
|
||||||
from pyramid.httpexceptions import HTTPNotFound
|
from pyramid.httpexceptions import HTTPNotFound
|
||||||
from pyramid.view import view_config
|
|
||||||
|
|
||||||
from rhodecode.apps._base import BaseAppView
|
from rhodecode.apps._base import BaseAppView
|
||||||
from rhodecode.lib.auth import HasUserGroupPermissionAnyDecorator, LoginRequired, NotAnonymous
|
from rhodecode.lib.auth import HasUserGroupPermissionAnyDecorator, LoginRequired, NotAnonymous
|
||||||
|
|
@ -36,9 +36,6 @@ class UserGroupProfileView(BaseAppView):
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@NotAnonymous()
|
@NotAnonymous()
|
||||||
@HasUserGroupPermissionAnyDecorator('usergroup.read', 'usergroup.write', 'usergroup.admin',)
|
@HasUserGroupPermissionAnyDecorator('usergroup.read', 'usergroup.write', 'usergroup.admin',)
|
||||||
@view_config(
|
|
||||||
route_name='user_group_profile', request_method='GET',
|
|
||||||
renderer='rhodecode:templates/user_group/user_group.mako')
|
|
||||||
def user_group_profile(self):
|
def user_group_profile(self):
|
||||||
c = self._get_local_tmpl_context()
|
c = self._get_local_tmpl_context()
|
||||||
c.active = 'profile'
|
c.active = 'profile'
|
||||||
|
|
|
||||||
|
|
@ -20,9 +20,13 @@
|
||||||
|
|
||||||
|
|
||||||
def includeme(config):
|
def includeme(config):
|
||||||
|
from rhodecode.apps.user_profile.views import UserProfileView
|
||||||
|
|
||||||
config.add_route(
|
config.add_route(
|
||||||
name='user_profile',
|
name='user_profile',
|
||||||
pattern='/_profiles/{username}')
|
pattern='/_profiles/{username}')
|
||||||
|
config.add_view(
|
||||||
# Scan module for configuration decorators.
|
UserProfileView,
|
||||||
config.scan('.views', ignore='.tests')
|
attr='user_profile',
|
||||||
|
route_name='user_profile', request_method='GET',
|
||||||
|
renderer='rhodecode:templates/users/user.mako')
|
||||||
|
|
|
||||||
|
|
@ -21,7 +21,6 @@
|
||||||
import logging
|
import logging
|
||||||
|
|
||||||
from pyramid.httpexceptions import HTTPNotFound
|
from pyramid.httpexceptions import HTTPNotFound
|
||||||
from pyramid.view import view_config
|
|
||||||
|
|
||||||
from rhodecode.apps._base import BaseAppView
|
from rhodecode.apps._base import BaseAppView
|
||||||
from rhodecode.lib.auth import LoginRequired, NotAnonymous
|
from rhodecode.lib.auth import LoginRequired, NotAnonymous
|
||||||
|
|
@ -36,9 +35,6 @@ class UserProfileView(BaseAppView):
|
||||||
|
|
||||||
@LoginRequired()
|
@LoginRequired()
|
||||||
@NotAnonymous()
|
@NotAnonymous()
|
||||||
@view_config(
|
|
||||||
route_name='user_profile', request_method='GET',
|
|
||||||
renderer='rhodecode:templates/users/user.mako')
|
|
||||||
def user_profile(self):
|
def user_profile(self):
|
||||||
# register local template context
|
# register local template context
|
||||||
c = self._get_local_tmpl_context()
|
c = self._get_local_tmpl_context()
|
||||||
|
|
|
||||||
|
|
@ -20,7 +20,7 @@
|
||||||
|
|
||||||
def generate_jsroutes_content(jsroutes):
|
def generate_jsroutes_content(jsroutes):
|
||||||
statements = []
|
statements = []
|
||||||
for url_name, url, fields in jsroutes:
|
for url_name, url, fields in sorted(jsroutes):
|
||||||
statements.append(
|
statements.append(
|
||||||
"pyroutes.register('%s', '%s', %s);" % (url_name, url, fields))
|
"pyroutes.register('%s', '%s', %s);" % (url_name, url, fields))
|
||||||
return u'''
|
return u'''
|
||||||
|
|
|
||||||
|
|
@ -92,6 +92,7 @@ def make_pyramid_app(global_config, **settings):
|
||||||
# Allows to use format style "{ENV_NAME}" placeholders in the configuration. It
|
# Allows to use format style "{ENV_NAME}" placeholders in the configuration. It
|
||||||
# will be replaced by the value of the environment variable "NAME" in this case.
|
# will be replaced by the value of the environment variable "NAME" in this case.
|
||||||
start_time = time.time()
|
start_time = time.time()
|
||||||
|
log.info('Pyramid app config starting')
|
||||||
|
|
||||||
debug = asbool(global_config.get('debug'))
|
debug = asbool(global_config.get('debug'))
|
||||||
if debug:
|
if debug:
|
||||||
|
|
@ -121,6 +122,7 @@ def make_pyramid_app(global_config, **settings):
|
||||||
pyramid_app.config = config
|
pyramid_app.config = config
|
||||||
|
|
||||||
config.configure_celery(global_config['__file__'])
|
config.configure_celery(global_config['__file__'])
|
||||||
|
|
||||||
# creating the app uses a connection - return it after we are done
|
# creating the app uses a connection - return it after we are done
|
||||||
meta.Session.remove()
|
meta.Session.remove()
|
||||||
total_time = time.time() - start_time
|
total_time = time.time() - start_time
|
||||||
|
|
@ -256,15 +258,11 @@ def includeme(config, auth_resources=None):
|
||||||
config.include('pyramid_mako')
|
config.include('pyramid_mako')
|
||||||
config.include('rhodecode.lib.rc_beaker')
|
config.include('rhodecode.lib.rc_beaker')
|
||||||
config.include('rhodecode.lib.rc_cache')
|
config.include('rhodecode.lib.rc_cache')
|
||||||
|
|
||||||
config.include('rhodecode.apps._base.navigation')
|
config.include('rhodecode.apps._base.navigation')
|
||||||
config.include('rhodecode.apps._base.subscribers')
|
config.include('rhodecode.apps._base.subscribers')
|
||||||
config.include('rhodecode.tweens')
|
config.include('rhodecode.tweens')
|
||||||
config.include('rhodecode.authentication')
|
config.include('rhodecode.authentication')
|
||||||
|
|
||||||
if load_all:
|
|
||||||
config.include('rhodecode.integrations')
|
|
||||||
|
|
||||||
if load_all:
|
if load_all:
|
||||||
ce_auth_resources = [
|
ce_auth_resources = [
|
||||||
'rhodecode.authentication.plugins.auth_crowd',
|
'rhodecode.authentication.plugins.auth_crowd',
|
||||||
|
|
@ -291,15 +289,17 @@ def includeme(config, auth_resources=None):
|
||||||
|
|
||||||
# apps
|
# apps
|
||||||
if load_all:
|
if load_all:
|
||||||
|
config.include('rhodecode.api')
|
||||||
config.include('rhodecode.apps._base')
|
config.include('rhodecode.apps._base')
|
||||||
config.include('rhodecode.apps.hovercards')
|
config.include('rhodecode.apps.hovercards')
|
||||||
config.include('rhodecode.apps.ops')
|
config.include('rhodecode.apps.ops')
|
||||||
config.include('rhodecode.apps.admin')
|
|
||||||
config.include('rhodecode.apps.channelstream')
|
config.include('rhodecode.apps.channelstream')
|
||||||
config.include('rhodecode.apps.file_store')
|
config.include('rhodecode.apps.file_store')
|
||||||
|
config.include('rhodecode.apps.admin')
|
||||||
config.include('rhodecode.apps.login')
|
config.include('rhodecode.apps.login')
|
||||||
config.include('rhodecode.apps.home')
|
config.include('rhodecode.apps.home')
|
||||||
config.include('rhodecode.apps.journal')
|
config.include('rhodecode.apps.journal')
|
||||||
|
|
||||||
config.include('rhodecode.apps.repository')
|
config.include('rhodecode.apps.repository')
|
||||||
config.include('rhodecode.apps.repo_group')
|
config.include('rhodecode.apps.repo_group')
|
||||||
config.include('rhodecode.apps.user_group')
|
config.include('rhodecode.apps.user_group')
|
||||||
|
|
@ -307,11 +307,14 @@ def includeme(config, auth_resources=None):
|
||||||
config.include('rhodecode.apps.user_profile')
|
config.include('rhodecode.apps.user_profile')
|
||||||
config.include('rhodecode.apps.user_group_profile')
|
config.include('rhodecode.apps.user_group_profile')
|
||||||
config.include('rhodecode.apps.my_account')
|
config.include('rhodecode.apps.my_account')
|
||||||
|
config.include('rhodecode.apps.gist')
|
||||||
|
|
||||||
config.include('rhodecode.apps.svn_support')
|
config.include('rhodecode.apps.svn_support')
|
||||||
config.include('rhodecode.apps.ssh_support')
|
config.include('rhodecode.apps.ssh_support')
|
||||||
config.include('rhodecode.apps.gist')
|
|
||||||
config.include('rhodecode.apps.debug_style')
|
config.include('rhodecode.apps.debug_style')
|
||||||
config.include('rhodecode.api')
|
|
||||||
|
if load_all:
|
||||||
|
config.include('rhodecode.integrations')
|
||||||
|
|
||||||
config.add_route('rhodecode_support', 'https://rhodecode.com/help/', static=True)
|
config.add_route('rhodecode_support', 'https://rhodecode.com/help/', static=True)
|
||||||
config.add_translation_dirs('rhodecode:i18n/')
|
config.add_translation_dirs('rhodecode:i18n/')
|
||||||
|
|
|
||||||
|
|
@ -24,6 +24,9 @@ from rhodecode.apps._base import ADMIN_PREFIX, add_route_requirements
|
||||||
from rhodecode.lib.utils2 import safe_int
|
from rhodecode.lib.utils2 import safe_int
|
||||||
from rhodecode.model.db import Repository, Integration, RepoGroup
|
from rhodecode.model.db import Repository, Integration, RepoGroup
|
||||||
from rhodecode.integrations import integration_type_registry
|
from rhodecode.integrations import integration_type_registry
|
||||||
|
from rhodecode.integrations.views import GlobalIntegrationsView
|
||||||
|
from rhodecode.integrations.views import RepoGroupIntegrationsView
|
||||||
|
from rhodecode.integrations.views import RepoIntegrationsView
|
||||||
|
|
||||||
log = logging.getLogger(__name__)
|
log = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
|
@ -83,7 +86,7 @@ def includeme(config):
|
||||||
# global integrations
|
# global integrations
|
||||||
config.add_route('global_integrations_new',
|
config.add_route('global_integrations_new',
|
||||||
ADMIN_PREFIX + '/integrations/new')
|
ADMIN_PREFIX + '/integrations/new')
|
||||||
config.add_view('rhodecode.integrations.views.GlobalIntegrationsView',
|
config.add_view(GlobalIntegrationsView,
|
||||||
attr='new_integration',
|
attr='new_integration',
|
||||||
renderer='rhodecode:templates/admin/integrations/new.mako',
|
renderer='rhodecode:templates/admin/integrations/new.mako',
|
||||||
request_method='GET',
|
request_method='GET',
|
||||||
|
|
@ -94,7 +97,7 @@ def includeme(config):
|
||||||
config.add_route('global_integrations_list',
|
config.add_route('global_integrations_list',
|
||||||
ADMIN_PREFIX + '/integrations/{integration}')
|
ADMIN_PREFIX + '/integrations/{integration}')
|
||||||
for route_name in ['global_integrations_home', 'global_integrations_list']:
|
for route_name in ['global_integrations_home', 'global_integrations_list']:
|
||||||
config.add_view('rhodecode.integrations.views.GlobalIntegrationsView',
|
config.add_view(GlobalIntegrationsView,
|
||||||
attr='integration_list',
|
attr='integration_list',
|
||||||
renderer='rhodecode:templates/admin/integrations/list.mako',
|
renderer='rhodecode:templates/admin/integrations/list.mako',
|
||||||
request_method='GET',
|
request_method='GET',
|
||||||
|
|
@ -108,12 +111,12 @@ def includeme(config):
|
||||||
valid_integration=True)
|
valid_integration=True)
|
||||||
|
|
||||||
for route_name in ['global_integrations_create', 'global_integrations_edit']:
|
for route_name in ['global_integrations_create', 'global_integrations_edit']:
|
||||||
config.add_view('rhodecode.integrations.views.GlobalIntegrationsView',
|
config.add_view(GlobalIntegrationsView,
|
||||||
attr='settings_get',
|
attr='settings_get',
|
||||||
renderer='rhodecode:templates/admin/integrations/form.mako',
|
renderer='rhodecode:templates/admin/integrations/form.mako',
|
||||||
request_method='GET',
|
request_method='GET',
|
||||||
route_name=route_name)
|
route_name=route_name)
|
||||||
config.add_view('rhodecode.integrations.views.GlobalIntegrationsView',
|
config.add_view(GlobalIntegrationsView,
|
||||||
attr='settings_post',
|
attr='settings_post',
|
||||||
renderer='rhodecode:templates/admin/integrations/form.mako',
|
renderer='rhodecode:templates/admin/integrations/form.mako',
|
||||||
request_method='POST',
|
request_method='POST',
|
||||||
|
|
@ -124,7 +127,7 @@ def includeme(config):
|
||||||
add_route_requirements('/{repo_group_name}/_settings/integrations'),
|
add_route_requirements('/{repo_group_name}/_settings/integrations'),
|
||||||
repo_group_route=True)
|
repo_group_route=True)
|
||||||
|
|
||||||
config.add_view('rhodecode.integrations.views.RepoGroupIntegrationsView',
|
config.add_view(RepoGroupIntegrationsView,
|
||||||
attr='integration_list',
|
attr='integration_list',
|
||||||
renderer='rhodecode:templates/admin/integrations/list.mako',
|
renderer='rhodecode:templates/admin/integrations/list.mako',
|
||||||
request_method='GET',
|
request_method='GET',
|
||||||
|
|
@ -133,7 +136,7 @@ def includeme(config):
|
||||||
config.add_route('repo_group_integrations_new',
|
config.add_route('repo_group_integrations_new',
|
||||||
add_route_requirements('/{repo_group_name}/_settings/integrations/new'),
|
add_route_requirements('/{repo_group_name}/_settings/integrations/new'),
|
||||||
repo_group_route=True)
|
repo_group_route=True)
|
||||||
config.add_view('rhodecode.integrations.views.RepoGroupIntegrationsView',
|
config.add_view(RepoGroupIntegrationsView,
|
||||||
attr='new_integration',
|
attr='new_integration',
|
||||||
renderer='rhodecode:templates/admin/integrations/new.mako',
|
renderer='rhodecode:templates/admin/integrations/new.mako',
|
||||||
request_method='GET',
|
request_method='GET',
|
||||||
|
|
@ -143,7 +146,7 @@ def includeme(config):
|
||||||
add_route_requirements('/{repo_group_name}/_settings/integrations/{integration}'),
|
add_route_requirements('/{repo_group_name}/_settings/integrations/{integration}'),
|
||||||
repo_group_route=True,
|
repo_group_route=True,
|
||||||
valid_integration=True)
|
valid_integration=True)
|
||||||
config.add_view('rhodecode.integrations.views.RepoGroupIntegrationsView',
|
config.add_view(RepoGroupIntegrationsView,
|
||||||
attr='integration_list',
|
attr='integration_list',
|
||||||
renderer='rhodecode:templates/admin/integrations/list.mako',
|
renderer='rhodecode:templates/admin/integrations/list.mako',
|
||||||
request_method='GET',
|
request_method='GET',
|
||||||
|
|
@ -153,12 +156,12 @@ def includeme(config):
|
||||||
add_route_requirements('/{repo_group_name}/_settings/integrations/{integration}/new'),
|
add_route_requirements('/{repo_group_name}/_settings/integrations/{integration}/new'),
|
||||||
repo_group_route=True,
|
repo_group_route=True,
|
||||||
valid_integration=True)
|
valid_integration=True)
|
||||||
config.add_view('rhodecode.integrations.views.RepoGroupIntegrationsView',
|
config.add_view(RepoGroupIntegrationsView,
|
||||||
attr='settings_get',
|
attr='settings_get',
|
||||||
renderer='rhodecode:templates/admin/integrations/form.mako',
|
renderer='rhodecode:templates/admin/integrations/form.mako',
|
||||||
request_method='GET',
|
request_method='GET',
|
||||||
route_name='repo_group_integrations_create')
|
route_name='repo_group_integrations_create')
|
||||||
config.add_view('rhodecode.integrations.views.RepoGroupIntegrationsView',
|
config.add_view(RepoGroupIntegrationsView,
|
||||||
attr='settings_post',
|
attr='settings_post',
|
||||||
renderer='rhodecode:templates/admin/integrations/form.mako',
|
renderer='rhodecode:templates/admin/integrations/form.mako',
|
||||||
request_method='POST',
|
request_method='POST',
|
||||||
|
|
@ -169,12 +172,12 @@ def includeme(config):
|
||||||
repo_group_route=True,
|
repo_group_route=True,
|
||||||
valid_integration=True)
|
valid_integration=True)
|
||||||
|
|
||||||
config.add_view('rhodecode.integrations.views.RepoGroupIntegrationsView',
|
config.add_view(RepoGroupIntegrationsView,
|
||||||
attr='settings_get',
|
attr='settings_get',
|
||||||
renderer='rhodecode:templates/admin/integrations/form.mako',
|
renderer='rhodecode:templates/admin/integrations/form.mako',
|
||||||
request_method='GET',
|
request_method='GET',
|
||||||
route_name='repo_group_integrations_edit')
|
route_name='repo_group_integrations_edit')
|
||||||
config.add_view('rhodecode.integrations.views.RepoGroupIntegrationsView',
|
config.add_view(RepoGroupIntegrationsView,
|
||||||
attr='settings_post',
|
attr='settings_post',
|
||||||
renderer='rhodecode:templates/admin/integrations/form.mako',
|
renderer='rhodecode:templates/admin/integrations/form.mako',
|
||||||
request_method='POST',
|
request_method='POST',
|
||||||
|
|
@ -184,7 +187,7 @@ def includeme(config):
|
||||||
config.add_route('repo_integrations_home',
|
config.add_route('repo_integrations_home',
|
||||||
add_route_requirements('/{repo_name}/settings/integrations'),
|
add_route_requirements('/{repo_name}/settings/integrations'),
|
||||||
repo_route=True)
|
repo_route=True)
|
||||||
config.add_view('rhodecode.integrations.views.RepoIntegrationsView',
|
config.add_view(RepoIntegrationsView,
|
||||||
attr='integration_list',
|
attr='integration_list',
|
||||||
request_method='GET',
|
request_method='GET',
|
||||||
renderer='rhodecode:templates/admin/integrations/list.mako',
|
renderer='rhodecode:templates/admin/integrations/list.mako',
|
||||||
|
|
@ -193,7 +196,7 @@ def includeme(config):
|
||||||
config.add_route('repo_integrations_new',
|
config.add_route('repo_integrations_new',
|
||||||
add_route_requirements('/{repo_name}/settings/integrations/new'),
|
add_route_requirements('/{repo_name}/settings/integrations/new'),
|
||||||
repo_route=True)
|
repo_route=True)
|
||||||
config.add_view('rhodecode.integrations.views.RepoIntegrationsView',
|
config.add_view(RepoIntegrationsView,
|
||||||
attr='new_integration',
|
attr='new_integration',
|
||||||
renderer='rhodecode:templates/admin/integrations/new.mako',
|
renderer='rhodecode:templates/admin/integrations/new.mako',
|
||||||
request_method='GET',
|
request_method='GET',
|
||||||
|
|
@ -203,7 +206,7 @@ def includeme(config):
|
||||||
add_route_requirements('/{repo_name}/settings/integrations/{integration}'),
|
add_route_requirements('/{repo_name}/settings/integrations/{integration}'),
|
||||||
repo_route=True,
|
repo_route=True,
|
||||||
valid_integration=True)
|
valid_integration=True)
|
||||||
config.add_view('rhodecode.integrations.views.RepoIntegrationsView',
|
config.add_view(RepoIntegrationsView,
|
||||||
attr='integration_list',
|
attr='integration_list',
|
||||||
request_method='GET',
|
request_method='GET',
|
||||||
renderer='rhodecode:templates/admin/integrations/list.mako',
|
renderer='rhodecode:templates/admin/integrations/list.mako',
|
||||||
|
|
@ -213,12 +216,12 @@ def includeme(config):
|
||||||
add_route_requirements('/{repo_name}/settings/integrations/{integration}/new'),
|
add_route_requirements('/{repo_name}/settings/integrations/{integration}/new'),
|
||||||
repo_route=True,
|
repo_route=True,
|
||||||
valid_integration=True)
|
valid_integration=True)
|
||||||
config.add_view('rhodecode.integrations.views.RepoIntegrationsView',
|
config.add_view(RepoIntegrationsView,
|
||||||
attr='settings_get',
|
attr='settings_get',
|
||||||
renderer='rhodecode:templates/admin/integrations/form.mako',
|
renderer='rhodecode:templates/admin/integrations/form.mako',
|
||||||
request_method='GET',
|
request_method='GET',
|
||||||
route_name='repo_integrations_create')
|
route_name='repo_integrations_create')
|
||||||
config.add_view('rhodecode.integrations.views.RepoIntegrationsView',
|
config.add_view(RepoIntegrationsView,
|
||||||
attr='settings_post',
|
attr='settings_post',
|
||||||
renderer='rhodecode:templates/admin/integrations/form.mako',
|
renderer='rhodecode:templates/admin/integrations/form.mako',
|
||||||
request_method='POST',
|
request_method='POST',
|
||||||
|
|
@ -228,12 +231,12 @@ def includeme(config):
|
||||||
add_route_requirements('/{repo_name}/settings/integrations/{integration}/{integration_id}'),
|
add_route_requirements('/{repo_name}/settings/integrations/{integration}/{integration_id}'),
|
||||||
repo_route=True,
|
repo_route=True,
|
||||||
valid_integration=True)
|
valid_integration=True)
|
||||||
config.add_view('rhodecode.integrations.views.RepoIntegrationsView',
|
config.add_view(RepoIntegrationsView,
|
||||||
attr='settings_get',
|
attr='settings_get',
|
||||||
renderer='rhodecode:templates/admin/integrations/form.mako',
|
renderer='rhodecode:templates/admin/integrations/form.mako',
|
||||||
request_method='GET',
|
request_method='GET',
|
||||||
route_name='repo_integrations_edit')
|
route_name='repo_integrations_edit')
|
||||||
config.add_view('rhodecode.integrations.views.RepoIntegrationsView',
|
config.add_view(RepoIntegrationsView,
|
||||||
attr='settings_post',
|
attr='settings_post',
|
||||||
renderer='rhodecode:templates/admin/integrations/form.mako',
|
renderer='rhodecode:templates/admin/integrations/form.mako',
|
||||||
request_method='POST',
|
request_method='POST',
|
||||||
|
|
|
||||||
|
|
@ -4810,6 +4810,7 @@ class Gist(Base, BaseModel):
|
||||||
|
|
||||||
res = cls.query().filter(cls.gist_access_id == id_).scalar()
|
res = cls.query().filter(cls.gist_access_id == id_).scalar()
|
||||||
if not res:
|
if not res:
|
||||||
|
log.debug('WARN: No DB entry with id %s', id_)
|
||||||
raise HTTPNotFound()
|
raise HTTPNotFound()
|
||||||
return res
|
return res
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -12,394 +12,392 @@
|
||||||
******************************************************************************/
|
******************************************************************************/
|
||||||
function registerRCRoutes() {
|
function registerRCRoutes() {
|
||||||
// routes registration
|
// routes registration
|
||||||
pyroutes.register('favicon', '/favicon.ico', []);
|
|
||||||
pyroutes.register('robots', '/robots.txt', []);
|
|
||||||
pyroutes.register('auth_home', '/_admin/auth*traverse', []);
|
|
||||||
pyroutes.register('global_integrations_new', '/_admin/integrations/new', []);
|
|
||||||
pyroutes.register('global_integrations_home', '/_admin/integrations', []);
|
|
||||||
pyroutes.register('global_integrations_list', '/_admin/integrations/%(integration)s', ['integration']);
|
|
||||||
pyroutes.register('global_integrations_create', '/_admin/integrations/%(integration)s/new', ['integration']);
|
|
||||||
pyroutes.register('global_integrations_edit', '/_admin/integrations/%(integration)s/%(integration_id)s', ['integration', 'integration_id']);
|
|
||||||
pyroutes.register('repo_group_integrations_home', '/%(repo_group_name)s/_settings/integrations', ['repo_group_name']);
|
|
||||||
pyroutes.register('repo_group_integrations_new', '/%(repo_group_name)s/_settings/integrations/new', ['repo_group_name']);
|
|
||||||
pyroutes.register('repo_group_integrations_list', '/%(repo_group_name)s/_settings/integrations/%(integration)s', ['repo_group_name', 'integration']);
|
|
||||||
pyroutes.register('repo_group_integrations_create', '/%(repo_group_name)s/_settings/integrations/%(integration)s/new', ['repo_group_name', 'integration']);
|
|
||||||
pyroutes.register('repo_group_integrations_edit', '/%(repo_group_name)s/_settings/integrations/%(integration)s/%(integration_id)s', ['repo_group_name', 'integration', 'integration_id']);
|
|
||||||
pyroutes.register('repo_integrations_home', '/%(repo_name)s/settings/integrations', ['repo_name']);
|
|
||||||
pyroutes.register('repo_integrations_new', '/%(repo_name)s/settings/integrations/new', ['repo_name']);
|
|
||||||
pyroutes.register('repo_integrations_list', '/%(repo_name)s/settings/integrations/%(integration)s', ['repo_name', 'integration']);
|
|
||||||
pyroutes.register('repo_integrations_create', '/%(repo_name)s/settings/integrations/%(integration)s/new', ['repo_name', 'integration']);
|
|
||||||
pyroutes.register('repo_integrations_edit', '/%(repo_name)s/settings/integrations/%(integration)s/%(integration_id)s', ['repo_name', 'integration', 'integration_id']);
|
|
||||||
pyroutes.register('hovercard_user', '/_hovercard/user/%(user_id)s', ['user_id']);
|
|
||||||
pyroutes.register('hovercard_username', '/_hovercard/username/%(username)s', ['username']);
|
|
||||||
pyroutes.register('hovercard_user_group', '/_hovercard/user_group/%(user_group_id)s', ['user_group_id']);
|
|
||||||
pyroutes.register('hovercard_pull_request', '/_hovercard/pull_request/%(pull_request_id)s', ['pull_request_id']);
|
|
||||||
pyroutes.register('hovercard_repo_commit', '/_hovercard/commit/%(repo_name)s/%(commit_id)s', ['repo_name', 'commit_id']);
|
|
||||||
pyroutes.register('ops_ping', '/_admin/ops/ping', []);
|
|
||||||
pyroutes.register('ops_error_test', '/_admin/ops/error', []);
|
|
||||||
pyroutes.register('ops_redirect_test', '/_admin/ops/redirect', []);
|
|
||||||
pyroutes.register('ops_ping_legacy', '/_admin/ping', []);
|
|
||||||
pyroutes.register('ops_error_test_legacy', '/_admin/error_test', []);
|
|
||||||
pyroutes.register('admin_home', '/_admin', []);
|
|
||||||
pyroutes.register('admin_audit_logs', '/_admin/audit_logs', []);
|
|
||||||
pyroutes.register('admin_audit_log_entry', '/_admin/audit_logs/%(audit_log_id)s', ['audit_log_id']);
|
pyroutes.register('admin_audit_log_entry', '/_admin/audit_logs/%(audit_log_id)s', ['audit_log_id']);
|
||||||
pyroutes.register('pull_requests_global_0', '/_admin/pull_requests/%(pull_request_id)s', ['pull_request_id']);
|
pyroutes.register('admin_audit_logs', '/_admin/audit_logs', []);
|
||||||
pyroutes.register('pull_requests_global_1', '/_admin/pull-requests/%(pull_request_id)s', ['pull_request_id']);
|
|
||||||
pyroutes.register('pull_requests_global', '/_admin/pull-request/%(pull_request_id)s', ['pull_request_id']);
|
|
||||||
pyroutes.register('admin_settings_open_source', '/_admin/settings/open_source', []);
|
|
||||||
pyroutes.register('admin_settings_vcs_svn_generate_cfg', '/_admin/settings/vcs/svn_generate_cfg', []);
|
|
||||||
pyroutes.register('admin_settings_system', '/_admin/settings/system', []);
|
|
||||||
pyroutes.register('admin_settings_system_update', '/_admin/settings/system/updates', []);
|
|
||||||
pyroutes.register('admin_settings_exception_tracker', '/_admin/settings/exceptions', []);
|
|
||||||
pyroutes.register('admin_settings_exception_tracker_delete_all', '/_admin/settings/exceptions/delete', []);
|
|
||||||
pyroutes.register('admin_settings_exception_tracker_show', '/_admin/settings/exceptions/%(exception_id)s', ['exception_id']);
|
|
||||||
pyroutes.register('admin_settings_exception_tracker_delete', '/_admin/settings/exceptions/%(exception_id)s/delete', ['exception_id']);
|
|
||||||
pyroutes.register('admin_settings_sessions', '/_admin/settings/sessions', []);
|
|
||||||
pyroutes.register('admin_settings_sessions_cleanup', '/_admin/settings/sessions/cleanup', []);
|
|
||||||
pyroutes.register('admin_settings_process_management', '/_admin/settings/process_management', []);
|
|
||||||
pyroutes.register('admin_settings_process_management_data', '/_admin/settings/process_management/data', []);
|
|
||||||
pyroutes.register('admin_settings_process_management_signal', '/_admin/settings/process_management/signal', []);
|
|
||||||
pyroutes.register('admin_settings_process_management_master_signal', '/_admin/settings/process_management/master_signal', []);
|
|
||||||
pyroutes.register('admin_defaults_repositories', '/_admin/defaults/repositories', []);
|
pyroutes.register('admin_defaults_repositories', '/_admin/defaults/repositories', []);
|
||||||
pyroutes.register('admin_defaults_repositories_update', '/_admin/defaults/repositories/update', []);
|
pyroutes.register('admin_defaults_repositories_update', '/_admin/defaults/repositories/update', []);
|
||||||
pyroutes.register('admin_settings', '/_admin/settings', []);
|
pyroutes.register('admin_home', '/_admin', []);
|
||||||
pyroutes.register('admin_settings_update', '/_admin/settings/update', []);
|
|
||||||
pyroutes.register('admin_settings_global', '/_admin/settings/global', []);
|
|
||||||
pyroutes.register('admin_settings_global_update', '/_admin/settings/global/update', []);
|
|
||||||
pyroutes.register('admin_settings_vcs', '/_admin/settings/vcs', []);
|
|
||||||
pyroutes.register('admin_settings_vcs_update', '/_admin/settings/vcs/update', []);
|
|
||||||
pyroutes.register('admin_settings_vcs_svn_pattern_delete', '/_admin/settings/vcs/svn_pattern_delete', []);
|
|
||||||
pyroutes.register('admin_settings_mapping', '/_admin/settings/mapping', []);
|
|
||||||
pyroutes.register('admin_settings_mapping_update', '/_admin/settings/mapping/update', []);
|
|
||||||
pyroutes.register('admin_settings_visual', '/_admin/settings/visual', []);
|
|
||||||
pyroutes.register('admin_settings_visual_update', '/_admin/settings/visual/update', []);
|
|
||||||
pyroutes.register('admin_settings_issuetracker', '/_admin/settings/issue-tracker', []);
|
|
||||||
pyroutes.register('admin_settings_issuetracker_update', '/_admin/settings/issue-tracker/update', []);
|
|
||||||
pyroutes.register('admin_settings_issuetracker_test', '/_admin/settings/issue-tracker/test', []);
|
|
||||||
pyroutes.register('admin_settings_issuetracker_delete', '/_admin/settings/issue-tracker/delete', []);
|
|
||||||
pyroutes.register('admin_settings_email', '/_admin/settings/email', []);
|
|
||||||
pyroutes.register('admin_settings_email_update', '/_admin/settings/email/update', []);
|
|
||||||
pyroutes.register('admin_settings_hooks', '/_admin/settings/hooks', []);
|
|
||||||
pyroutes.register('admin_settings_hooks_update', '/_admin/settings/hooks/update', []);
|
|
||||||
pyroutes.register('admin_settings_hooks_delete', '/_admin/settings/hooks/delete', []);
|
|
||||||
pyroutes.register('admin_settings_search', '/_admin/settings/search', []);
|
|
||||||
pyroutes.register('admin_settings_labs', '/_admin/settings/labs', []);
|
|
||||||
pyroutes.register('admin_settings_labs_update', '/_admin/settings/labs/update', []);
|
|
||||||
pyroutes.register('admin_permissions_application', '/_admin/permissions/application', []);
|
pyroutes.register('admin_permissions_application', '/_admin/permissions/application', []);
|
||||||
pyroutes.register('admin_permissions_application_update', '/_admin/permissions/application/update', []);
|
pyroutes.register('admin_permissions_application_update', '/_admin/permissions/application/update', []);
|
||||||
|
pyroutes.register('admin_permissions_auth_token_access', '/_admin/permissions/auth_token_access', []);
|
||||||
|
pyroutes.register('admin_permissions_branch', '/_admin/permissions/branch', []);
|
||||||
|
pyroutes.register('admin_permissions_branch_update', '/_admin/permissions/branch/update', []);
|
||||||
pyroutes.register('admin_permissions_global', '/_admin/permissions/global', []);
|
pyroutes.register('admin_permissions_global', '/_admin/permissions/global', []);
|
||||||
pyroutes.register('admin_permissions_global_update', '/_admin/permissions/global/update', []);
|
pyroutes.register('admin_permissions_global_update', '/_admin/permissions/global/update', []);
|
||||||
|
pyroutes.register('admin_permissions_ips', '/_admin/permissions/ips', []);
|
||||||
pyroutes.register('admin_permissions_object', '/_admin/permissions/object', []);
|
pyroutes.register('admin_permissions_object', '/_admin/permissions/object', []);
|
||||||
pyroutes.register('admin_permissions_object_update', '/_admin/permissions/object/update', []);
|
pyroutes.register('admin_permissions_object_update', '/_admin/permissions/object/update', []);
|
||||||
pyroutes.register('admin_permissions_ips', '/_admin/permissions/ips', []);
|
|
||||||
pyroutes.register('admin_permissions_overview', '/_admin/permissions/overview', []);
|
pyroutes.register('admin_permissions_overview', '/_admin/permissions/overview', []);
|
||||||
pyroutes.register('admin_permissions_auth_token_access', '/_admin/permissions/auth_token_access', []);
|
|
||||||
pyroutes.register('admin_permissions_ssh_keys', '/_admin/permissions/ssh_keys', []);
|
pyroutes.register('admin_permissions_ssh_keys', '/_admin/permissions/ssh_keys', []);
|
||||||
pyroutes.register('admin_permissions_ssh_keys_data', '/_admin/permissions/ssh_keys/data', []);
|
pyroutes.register('admin_permissions_ssh_keys_data', '/_admin/permissions/ssh_keys/data', []);
|
||||||
pyroutes.register('admin_permissions_ssh_keys_update', '/_admin/permissions/ssh_keys/update', []);
|
pyroutes.register('admin_permissions_ssh_keys_update', '/_admin/permissions/ssh_keys/update', []);
|
||||||
pyroutes.register('users', '/_admin/users', []);
|
pyroutes.register('admin_settings', '/_admin/settings', []);
|
||||||
pyroutes.register('users_data', '/_admin/users_data', []);
|
pyroutes.register('admin_settings_automation', '/_admin/settings/automation', []);
|
||||||
pyroutes.register('users_create', '/_admin/users/create', []);
|
pyroutes.register('admin_settings_automation_update', '/_admin/settings/automation/%(entry_id)s/update', ['entry_id']);
|
||||||
pyroutes.register('users_new', '/_admin/users/new', []);
|
pyroutes.register('admin_settings_email', '/_admin/settings/email', []);
|
||||||
pyroutes.register('user_edit', '/_admin/users/%(user_id)s/edit', ['user_id']);
|
pyroutes.register('admin_settings_email_update', '/_admin/settings/email/update', []);
|
||||||
pyroutes.register('user_edit_advanced', '/_admin/users/%(user_id)s/edit/advanced', ['user_id']);
|
pyroutes.register('admin_settings_exception_tracker', '/_admin/settings/exceptions', []);
|
||||||
pyroutes.register('user_edit_global_perms', '/_admin/users/%(user_id)s/edit/global_permissions', ['user_id']);
|
pyroutes.register('admin_settings_exception_tracker_delete', '/_admin/settings/exceptions/%(exception_id)s/delete', ['exception_id']);
|
||||||
pyroutes.register('user_edit_global_perms_update', '/_admin/users/%(user_id)s/edit/global_permissions/update', ['user_id']);
|
pyroutes.register('admin_settings_exception_tracker_delete_all', '/_admin/settings/exceptions_delete_all', []);
|
||||||
pyroutes.register('user_update', '/_admin/users/%(user_id)s/update', ['user_id']);
|
pyroutes.register('admin_settings_exception_tracker_show', '/_admin/settings/exceptions/%(exception_id)s', ['exception_id']);
|
||||||
pyroutes.register('user_delete', '/_admin/users/%(user_id)s/delete', ['user_id']);
|
pyroutes.register('admin_settings_global', '/_admin/settings/global', []);
|
||||||
pyroutes.register('user_enable_force_password_reset', '/_admin/users/%(user_id)s/password_reset_enable', ['user_id']);
|
pyroutes.register('admin_settings_global_update', '/_admin/settings/global/update', []);
|
||||||
pyroutes.register('user_disable_force_password_reset', '/_admin/users/%(user_id)s/password_reset_disable', ['user_id']);
|
pyroutes.register('admin_settings_hooks', '/_admin/settings/hooks', []);
|
||||||
pyroutes.register('user_create_personal_repo_group', '/_admin/users/%(user_id)s/create_repo_group', ['user_id']);
|
pyroutes.register('admin_settings_hooks_delete', '/_admin/settings/hooks/delete', []);
|
||||||
pyroutes.register('user_notice_dismiss', '/_admin/users/%(user_id)s/notice_dismiss', ['user_id']);
|
pyroutes.register('admin_settings_hooks_update', '/_admin/settings/hooks/update', []);
|
||||||
pyroutes.register('edit_user_auth_tokens_view', '/_admin/users/%(user_id)s/edit/auth_tokens/view', ['user_id']);
|
pyroutes.register('admin_settings_issuetracker', '/_admin/settings/issue-tracker', []);
|
||||||
|
pyroutes.register('admin_settings_issuetracker_delete', '/_admin/settings/issue-tracker/delete', []);
|
||||||
|
pyroutes.register('admin_settings_issuetracker_test', '/_admin/settings/issue-tracker/test', []);
|
||||||
|
pyroutes.register('admin_settings_issuetracker_update', '/_admin/settings/issue-tracker/update', []);
|
||||||
|
pyroutes.register('admin_settings_labs', '/_admin/settings/labs', []);
|
||||||
|
pyroutes.register('admin_settings_labs_update', '/_admin/settings/labs/update', []);
|
||||||
|
pyroutes.register('admin_settings_license', '/_admin/settings/license', []);
|
||||||
|
pyroutes.register('admin_settings_license_unlock', '/_admin/settings/license_unlock', []);
|
||||||
|
pyroutes.register('admin_settings_mapping', '/_admin/settings/mapping', []);
|
||||||
|
pyroutes.register('admin_settings_mapping_update', '/_admin/settings/mapping/update', []);
|
||||||
|
pyroutes.register('admin_settings_open_source', '/_admin/settings/open_source', []);
|
||||||
|
pyroutes.register('admin_settings_process_management', '/_admin/settings/process_management', []);
|
||||||
|
pyroutes.register('admin_settings_process_management_data', '/_admin/settings/process_management/data', []);
|
||||||
|
pyroutes.register('admin_settings_process_management_master_signal', '/_admin/settings/process_management/master_signal', []);
|
||||||
|
pyroutes.register('admin_settings_process_management_signal', '/_admin/settings/process_management/signal', []);
|
||||||
|
pyroutes.register('admin_settings_scheduler_create', '/_admin/settings/scheduler/create', []);
|
||||||
|
pyroutes.register('admin_settings_scheduler_delete', '/_admin/settings/scheduler/%(schedule_id)s/delete', ['schedule_id']);
|
||||||
|
pyroutes.register('admin_settings_scheduler_edit', '/_admin/settings/scheduler/%(schedule_id)s', ['schedule_id']);
|
||||||
|
pyroutes.register('admin_settings_scheduler_execute', '/_admin/settings/scheduler/%(schedule_id)s/execute', ['schedule_id']);
|
||||||
|
pyroutes.register('admin_settings_scheduler_new', '/_admin/settings/scheduler/new', []);
|
||||||
|
pyroutes.register('admin_settings_scheduler_show_all', '/_admin/settings/scheduler', []);
|
||||||
|
pyroutes.register('admin_settings_scheduler_show_tasks', '/_admin/settings/scheduler/_tasks', []);
|
||||||
|
pyroutes.register('admin_settings_scheduler_update', '/_admin/settings/scheduler/%(schedule_id)s/update', ['schedule_id']);
|
||||||
|
pyroutes.register('admin_settings_search', '/_admin/settings/search', []);
|
||||||
|
pyroutes.register('admin_settings_sessions', '/_admin/settings/sessions', []);
|
||||||
|
pyroutes.register('admin_settings_sessions_cleanup', '/_admin/settings/sessions/cleanup', []);
|
||||||
|
pyroutes.register('admin_settings_system', '/_admin/settings/system', []);
|
||||||
|
pyroutes.register('admin_settings_system_update', '/_admin/settings/system/updates', []);
|
||||||
|
pyroutes.register('admin_settings_update', '/_admin/settings/update', []);
|
||||||
|
pyroutes.register('admin_settings_vcs', '/_admin/settings/vcs', []);
|
||||||
|
pyroutes.register('admin_settings_vcs_svn_generate_cfg', '/_admin/settings/vcs/svn_generate_cfg', []);
|
||||||
|
pyroutes.register('admin_settings_vcs_svn_pattern_delete', '/_admin/settings/vcs/svn_pattern_delete', []);
|
||||||
|
pyroutes.register('admin_settings_vcs_update', '/_admin/settings/vcs/update', []);
|
||||||
|
pyroutes.register('admin_settings_visual', '/_admin/settings/visual', []);
|
||||||
|
pyroutes.register('admin_settings_visual_update', '/_admin/settings/visual/update', []);
|
||||||
|
pyroutes.register('apiv2', '/_admin/api', []);
|
||||||
|
pyroutes.register('atom_feed_home', '/%(repo_name)s/feed-atom', ['repo_name']);
|
||||||
|
pyroutes.register('atom_feed_home_old', '/%(repo_name)s/feed/atom', ['repo_name']);
|
||||||
|
pyroutes.register('auth_home', '/_admin/auth*traverse', []);
|
||||||
|
pyroutes.register('bookmarks_home', '/%(repo_name)s/bookmarks', ['repo_name']);
|
||||||
|
pyroutes.register('branches_home', '/%(repo_name)s/branches', ['repo_name']);
|
||||||
|
pyroutes.register('channelstream_connect', '/_admin/channelstream/connect', []);
|
||||||
|
pyroutes.register('channelstream_proxy', '/_channelstream', []);
|
||||||
|
pyroutes.register('channelstream_subscribe', '/_admin/channelstream/subscribe', []);
|
||||||
|
pyroutes.register('commit_draft_comments_submit', '/%(repo_name)s/changeset/%(commit_id)s/draft_comments_submit', ['repo_name', 'commit_id']);
|
||||||
|
pyroutes.register('debug_style_email', '/_admin/debug_style/email/%(email_id)s', ['email_id']);
|
||||||
|
pyroutes.register('debug_style_email_plain_rendered', '/_admin/debug_style/email-rendered/%(email_id)s', ['email_id']);
|
||||||
|
pyroutes.register('debug_style_home', '/_admin/debug_style', []);
|
||||||
|
pyroutes.register('debug_style_template', '/_admin/debug_style/t/%(t_path)s', ['t_path']);
|
||||||
|
pyroutes.register('download_file', '/_file_store/download/%(fid)s', ['fid']);
|
||||||
|
pyroutes.register('download_file_by_token', '/_file_store/token-download/%(_auth_token)s/%(fid)s', ['_auth_token', 'fid']);
|
||||||
|
pyroutes.register('edit_repo', '/%(repo_name)s/settings', ['repo_name']);
|
||||||
|
pyroutes.register('edit_repo_advanced', '/%(repo_name)s/settings/advanced', ['repo_name']);
|
||||||
|
pyroutes.register('edit_repo_advanced_archive', '/%(repo_name)s/settings/advanced/archive', ['repo_name']);
|
||||||
|
pyroutes.register('edit_repo_advanced_delete', '/%(repo_name)s/settings/advanced/delete', ['repo_name']);
|
||||||
|
pyroutes.register('edit_repo_advanced_fork', '/%(repo_name)s/settings/advanced/fork', ['repo_name']);
|
||||||
|
pyroutes.register('edit_repo_advanced_hooks', '/%(repo_name)s/settings/advanced/hooks', ['repo_name']);
|
||||||
|
pyroutes.register('edit_repo_advanced_journal', '/%(repo_name)s/settings/advanced/journal', ['repo_name']);
|
||||||
|
pyroutes.register('edit_repo_advanced_locking', '/%(repo_name)s/settings/advanced/locking', ['repo_name']);
|
||||||
|
pyroutes.register('edit_repo_audit_logs', '/%(repo_name)s/settings/audit_logs', ['repo_name']);
|
||||||
|
pyroutes.register('edit_repo_caches', '/%(repo_name)s/settings/caches', ['repo_name']);
|
||||||
|
pyroutes.register('edit_repo_fields', '/%(repo_name)s/settings/fields', ['repo_name']);
|
||||||
|
pyroutes.register('edit_repo_fields_create', '/%(repo_name)s/settings/fields/create', ['repo_name']);
|
||||||
|
pyroutes.register('edit_repo_fields_delete', '/%(repo_name)s/settings/fields/%(field_id)s/delete', ['repo_name', 'field_id']);
|
||||||
|
pyroutes.register('edit_repo_group', '/%(repo_group_name)s/_edit', ['repo_group_name']);
|
||||||
|
pyroutes.register('edit_repo_group_advanced', '/%(repo_group_name)s/_settings/advanced', ['repo_group_name']);
|
||||||
|
pyroutes.register('edit_repo_group_advanced_delete', '/%(repo_group_name)s/_settings/advanced/delete', ['repo_group_name']);
|
||||||
|
pyroutes.register('edit_repo_group_perms', '/%(repo_group_name)s/_settings/permissions', ['repo_group_name']);
|
||||||
|
pyroutes.register('edit_repo_group_perms_update', '/%(repo_group_name)s/_settings/permissions/update', ['repo_group_name']);
|
||||||
|
pyroutes.register('edit_repo_issuetracker', '/%(repo_name)s/settings/issue_trackers', ['repo_name']);
|
||||||
|
pyroutes.register('edit_repo_issuetracker_delete', '/%(repo_name)s/settings/issue_trackers/delete', ['repo_name']);
|
||||||
|
pyroutes.register('edit_repo_issuetracker_test', '/%(repo_name)s/settings/issue_trackers/test', ['repo_name']);
|
||||||
|
pyroutes.register('edit_repo_issuetracker_update', '/%(repo_name)s/settings/issue_trackers/update', ['repo_name']);
|
||||||
|
pyroutes.register('edit_repo_maintenance', '/%(repo_name)s/settings/maintenance', ['repo_name']);
|
||||||
|
pyroutes.register('edit_repo_maintenance_execute', '/%(repo_name)s/settings/maintenance/execute', ['repo_name']);
|
||||||
|
pyroutes.register('edit_repo_perms', '/%(repo_name)s/settings/permissions', ['repo_name']);
|
||||||
|
pyroutes.register('edit_repo_perms_branch', '/%(repo_name)s/settings/branch_permissions', ['repo_name']);
|
||||||
|
pyroutes.register('edit_repo_perms_branch_delete', '/%(repo_name)s/settings/branch_permissions/%(rule_id)s/delete', ['repo_name', 'rule_id']);
|
||||||
|
pyroutes.register('edit_repo_perms_set_private', '/%(repo_name)s/settings/permissions/set_private', ['repo_name']);
|
||||||
|
pyroutes.register('edit_repo_remote', '/%(repo_name)s/settings/remote', ['repo_name']);
|
||||||
|
pyroutes.register('edit_repo_remote_pull', '/%(repo_name)s/settings/remote/pull', ['repo_name']);
|
||||||
|
pyroutes.register('edit_repo_remote_push', '/%(repo_name)s/settings/remote/push', ['repo_name']);
|
||||||
|
pyroutes.register('edit_repo_statistics', '/%(repo_name)s/settings/statistics', ['repo_name']);
|
||||||
|
pyroutes.register('edit_repo_statistics_reset', '/%(repo_name)s/settings/statistics/update', ['repo_name']);
|
||||||
|
pyroutes.register('edit_repo_strip', '/%(repo_name)s/settings/strip', ['repo_name']);
|
||||||
|
pyroutes.register('edit_repo_vcs', '/%(repo_name)s/settings/vcs', ['repo_name']);
|
||||||
|
pyroutes.register('edit_repo_vcs_svn_pattern_delete', '/%(repo_name)s/settings/vcs/svn_pattern/delete', ['repo_name']);
|
||||||
|
pyroutes.register('edit_repo_vcs_update', '/%(repo_name)s/settings/vcs/update', ['repo_name']);
|
||||||
|
pyroutes.register('edit_user_audit_logs', '/_admin/users/%(user_id)s/edit/audit', ['user_id']);
|
||||||
|
pyroutes.register('edit_user_audit_logs_download', '/_admin/users/%(user_id)s/edit/audit/download', ['user_id']);
|
||||||
|
pyroutes.register('edit_user_auth_tokens', '/_admin/users/%(user_id)s/edit/auth_tokens', ['user_id']);
|
||||||
|
pyroutes.register('edit_user_auth_tokens_add', '/_admin/users/%(user_id)s/edit/auth_tokens/new', ['user_id']);
|
||||||
pyroutes.register('edit_user_auth_tokens_delete', '/_admin/users/%(user_id)s/edit/auth_tokens/delete', ['user_id']);
|
pyroutes.register('edit_user_auth_tokens_delete', '/_admin/users/%(user_id)s/edit/auth_tokens/delete', ['user_id']);
|
||||||
pyroutes.register('edit_user_ssh_keys', '/_admin/users/%(user_id)s/edit/ssh_keys', ['user_id']);
|
pyroutes.register('edit_user_auth_tokens_view', '/_admin/users/%(user_id)s/edit/auth_tokens/view', ['user_id']);
|
||||||
pyroutes.register('edit_user_ssh_keys_generate_keypair', '/_admin/users/%(user_id)s/edit/ssh_keys/generate', ['user_id']);
|
pyroutes.register('edit_user_caches', '/_admin/users/%(user_id)s/edit/caches', ['user_id']);
|
||||||
pyroutes.register('edit_user_ssh_keys_add', '/_admin/users/%(user_id)s/edit/ssh_keys/new', ['user_id']);
|
pyroutes.register('edit_user_caches_update', '/_admin/users/%(user_id)s/edit/caches/update', ['user_id']);
|
||||||
pyroutes.register('edit_user_ssh_keys_delete', '/_admin/users/%(user_id)s/edit/ssh_keys/delete', ['user_id']);
|
|
||||||
pyroutes.register('edit_user_emails', '/_admin/users/%(user_id)s/edit/emails', ['user_id']);
|
pyroutes.register('edit_user_emails', '/_admin/users/%(user_id)s/edit/emails', ['user_id']);
|
||||||
pyroutes.register('edit_user_emails_add', '/_admin/users/%(user_id)s/edit/emails/new', ['user_id']);
|
pyroutes.register('edit_user_emails_add', '/_admin/users/%(user_id)s/edit/emails/new', ['user_id']);
|
||||||
pyroutes.register('edit_user_emails_delete', '/_admin/users/%(user_id)s/edit/emails/delete', ['user_id']);
|
pyroutes.register('edit_user_emails_delete', '/_admin/users/%(user_id)s/edit/emails/delete', ['user_id']);
|
||||||
|
pyroutes.register('edit_user_group', '/_admin/user_groups/%(user_group_id)s/edit', ['user_group_id']);
|
||||||
|
pyroutes.register('edit_user_group_advanced', '/_admin/user_groups/%(user_group_id)s/edit/advanced', ['user_group_id']);
|
||||||
|
pyroutes.register('edit_user_group_advanced_sync', '/_admin/user_groups/%(user_group_id)s/edit/advanced/sync', ['user_group_id']);
|
||||||
|
pyroutes.register('edit_user_group_global_perms', '/_admin/user_groups/%(user_group_id)s/edit/global_permissions', ['user_group_id']);
|
||||||
|
pyroutes.register('edit_user_group_global_perms_update', '/_admin/user_groups/%(user_group_id)s/edit/global_permissions/update', ['user_group_id']);
|
||||||
|
pyroutes.register('edit_user_group_perms', '/_admin/user_groups/%(user_group_id)s/edit/permissions', ['user_group_id']);
|
||||||
|
pyroutes.register('edit_user_group_perms_summary', '/_admin/user_groups/%(user_group_id)s/edit/permissions_summary', ['user_group_id']);
|
||||||
|
pyroutes.register('edit_user_group_perms_summary_json', '/_admin/user_groups/%(user_group_id)s/edit/permissions_summary/json', ['user_group_id']);
|
||||||
|
pyroutes.register('edit_user_group_perms_update', '/_admin/user_groups/%(user_group_id)s/edit/permissions/update', ['user_group_id']);
|
||||||
|
pyroutes.register('edit_user_groups_management', '/_admin/users/%(user_id)s/edit/groups_management', ['user_id']);
|
||||||
|
pyroutes.register('edit_user_groups_management_updates', '/_admin/users/%(user_id)s/edit/edit_user_groups_management/updates', ['user_id']);
|
||||||
pyroutes.register('edit_user_ips', '/_admin/users/%(user_id)s/edit/ips', ['user_id']);
|
pyroutes.register('edit_user_ips', '/_admin/users/%(user_id)s/edit/ips', ['user_id']);
|
||||||
pyroutes.register('edit_user_ips_add', '/_admin/users/%(user_id)s/edit/ips/new', ['user_id']);
|
pyroutes.register('edit_user_ips_add', '/_admin/users/%(user_id)s/edit/ips/new', ['user_id']);
|
||||||
pyroutes.register('edit_user_ips_delete', '/_admin/users/%(user_id)s/edit/ips/delete', ['user_id']);
|
pyroutes.register('edit_user_ips_delete', '/_admin/users/%(user_id)s/edit/ips/delete', ['user_id']);
|
||||||
pyroutes.register('edit_user_perms_summary', '/_admin/users/%(user_id)s/edit/permissions_summary', ['user_id']);
|
pyroutes.register('edit_user_perms_summary', '/_admin/users/%(user_id)s/edit/permissions_summary', ['user_id']);
|
||||||
pyroutes.register('edit_user_perms_summary_json', '/_admin/users/%(user_id)s/edit/permissions_summary/json', ['user_id']);
|
pyroutes.register('edit_user_perms_summary_json', '/_admin/users/%(user_id)s/edit/permissions_summary/json', ['user_id']);
|
||||||
pyroutes.register('edit_user_groups_management', '/_admin/users/%(user_id)s/edit/groups_management', ['user_id']);
|
pyroutes.register('edit_user_ssh_keys', '/_admin/users/%(user_id)s/edit/ssh_keys', ['user_id']);
|
||||||
pyroutes.register('edit_user_groups_management_updates', '/_admin/users/%(user_id)s/edit/edit_user_groups_management/updates', ['user_id']);
|
pyroutes.register('edit_user_ssh_keys_add', '/_admin/users/%(user_id)s/edit/ssh_keys/new', ['user_id']);
|
||||||
pyroutes.register('edit_user_audit_logs', '/_admin/users/%(user_id)s/edit/audit', ['user_id']);
|
pyroutes.register('edit_user_ssh_keys_delete', '/_admin/users/%(user_id)s/edit/ssh_keys/delete', ['user_id']);
|
||||||
pyroutes.register('edit_user_audit_logs_download', '/_admin/users/%(user_id)s/edit/audit/download', ['user_id']);
|
pyroutes.register('edit_user_ssh_keys_generate_keypair', '/_admin/users/%(user_id)s/edit/ssh_keys/generate', ['user_id']);
|
||||||
pyroutes.register('edit_user_caches', '/_admin/users/%(user_id)s/edit/caches', ['user_id']);
|
pyroutes.register('favicon', '/favicon.ico', []);
|
||||||
pyroutes.register('edit_user_caches_update', '/_admin/users/%(user_id)s/edit/caches/update', ['user_id']);
|
|
||||||
pyroutes.register('user_groups', '/_admin/user_groups', []);
|
|
||||||
pyroutes.register('user_groups_data', '/_admin/user_groups_data', []);
|
|
||||||
pyroutes.register('user_groups_new', '/_admin/user_groups/new', []);
|
|
||||||
pyroutes.register('user_groups_create', '/_admin/user_groups/create', []);
|
|
||||||
pyroutes.register('repos', '/_admin/repos', []);
|
|
||||||
pyroutes.register('repos_data', '/_admin/repos_data', []);
|
|
||||||
pyroutes.register('repo_new', '/_admin/repos/new', []);
|
|
||||||
pyroutes.register('repo_create', '/_admin/repos/create', []);
|
|
||||||
pyroutes.register('repo_groups', '/_admin/repo_groups', []);
|
|
||||||
pyroutes.register('repo_groups_data', '/_admin/repo_groups_data', []);
|
|
||||||
pyroutes.register('repo_group_new', '/_admin/repo_group/new', []);
|
|
||||||
pyroutes.register('repo_group_create', '/_admin/repo_group/create', []);
|
|
||||||
pyroutes.register('channelstream_connect', '/_admin/channelstream/connect', []);
|
|
||||||
pyroutes.register('channelstream_subscribe', '/_admin/channelstream/subscribe', []);
|
|
||||||
pyroutes.register('channelstream_proxy', '/_channelstream', []);
|
|
||||||
pyroutes.register('upload_file', '/_file_store/upload', []);
|
|
||||||
pyroutes.register('download_file', '/_file_store/download/%(fid)s', ['fid']);
|
|
||||||
pyroutes.register('download_file_by_token', '/_file_store/token-download/%(_auth_token)s/%(fid)s', ['_auth_token', 'fid']);
|
|
||||||
pyroutes.register('logout', '/_admin/logout', []);
|
|
||||||
pyroutes.register('reset_password', '/_admin/password_reset', []);
|
|
||||||
pyroutes.register('reset_password_confirmation', '/_admin/password_reset_confirmation', []);
|
|
||||||
pyroutes.register('home', '/', []);
|
|
||||||
pyroutes.register('main_page_repos_data', '/_home_repos', []);
|
|
||||||
pyroutes.register('main_page_repo_groups_data', '/_home_repo_groups', []);
|
|
||||||
pyroutes.register('user_autocomplete_data', '/_users', []);
|
|
||||||
pyroutes.register('user_group_autocomplete_data', '/_user_groups', []);
|
|
||||||
pyroutes.register('repo_list_data', '/_repos', []);
|
|
||||||
pyroutes.register('repo_group_list_data', '/_repo_groups', []);
|
|
||||||
pyroutes.register('goto_switcher_data', '/_goto_data', []);
|
|
||||||
pyroutes.register('markup_preview', '/_markup_preview', []);
|
|
||||||
pyroutes.register('file_preview', '/_file_preview', []);
|
pyroutes.register('file_preview', '/_file_preview', []);
|
||||||
pyroutes.register('store_user_session_value', '/_store_session_attr', []);
|
pyroutes.register('gist_delete', '/_admin/gists/%(gist_id)s/delete', ['gist_id']);
|
||||||
|
pyroutes.register('gist_edit', '/_admin/gists/%(gist_id)s/edit', ['gist_id']);
|
||||||
|
pyroutes.register('gist_edit_check_revision', '/_admin/gists/%(gist_id)s/edit/check_revision', ['gist_id']);
|
||||||
|
pyroutes.register('gist_show', '/_admin/gists/%(gist_id)s', ['gist_id']);
|
||||||
|
pyroutes.register('gist_show_formatted', '/_admin/gists/%(gist_id)s/rev/%(revision)s/%(format)s', ['gist_id', 'revision', 'format']);
|
||||||
|
pyroutes.register('gist_show_formatted_path', '/_admin/gists/%(gist_id)s/rev/%(revision)s/%(format)s/%(f_path)s', ['gist_id', 'revision', 'format', 'f_path']);
|
||||||
|
pyroutes.register('gist_show_rev', '/_admin/gists/%(gist_id)s/rev/%(revision)s', ['gist_id', 'revision']);
|
||||||
|
pyroutes.register('gist_update', '/_admin/gists/%(gist_id)s/update', ['gist_id']);
|
||||||
|
pyroutes.register('gists_create', '/_admin/gists/create', []);
|
||||||
|
pyroutes.register('gists_new', '/_admin/gists/new', []);
|
||||||
|
pyroutes.register('gists_show', '/_admin/gists', []);
|
||||||
|
pyroutes.register('global_integrations_create', '/_admin/integrations/%(integration)s/new', ['integration']);
|
||||||
|
pyroutes.register('global_integrations_edit', '/_admin/integrations/%(integration)s/%(integration_id)s', ['integration', 'integration_id']);
|
||||||
|
pyroutes.register('global_integrations_home', '/_admin/integrations', []);
|
||||||
|
pyroutes.register('global_integrations_list', '/_admin/integrations/%(integration)s', ['integration']);
|
||||||
|
pyroutes.register('global_integrations_new', '/_admin/integrations/new', []);
|
||||||
|
pyroutes.register('goto_switcher_data', '/_goto_data', []);
|
||||||
|
pyroutes.register('home', '/', []);
|
||||||
|
pyroutes.register('hovercard_pull_request', '/_hovercard/pull_request/%(pull_request_id)s', ['pull_request_id']);
|
||||||
|
pyroutes.register('hovercard_repo_commit', '/_hovercard/commit/%(repo_name)s/%(commit_id)s', ['repo_name', 'commit_id']);
|
||||||
|
pyroutes.register('hovercard_user', '/_hovercard/user/%(user_id)s', ['user_id']);
|
||||||
|
pyroutes.register('hovercard_user_group', '/_hovercard/user_group/%(user_group_id)s', ['user_group_id']);
|
||||||
|
pyroutes.register('hovercard_username', '/_hovercard/username/%(username)s', ['username']);
|
||||||
pyroutes.register('journal', '/_admin/journal', []);
|
pyroutes.register('journal', '/_admin/journal', []);
|
||||||
pyroutes.register('journal_rss', '/_admin/journal/rss', []);
|
|
||||||
pyroutes.register('journal_atom', '/_admin/journal/atom', []);
|
pyroutes.register('journal_atom', '/_admin/journal/atom', []);
|
||||||
pyroutes.register('journal_public', '/_admin/public_journal', []);
|
pyroutes.register('journal_public', '/_admin/public_journal', []);
|
||||||
pyroutes.register('journal_public_atom', '/_admin/public_journal/atom', []);
|
pyroutes.register('journal_public_atom', '/_admin/public_journal/atom', []);
|
||||||
pyroutes.register('journal_public_atom_old', '/_admin/public_journal_atom', []);
|
pyroutes.register('journal_public_atom_old', '/_admin/public_journal_atom', []);
|
||||||
pyroutes.register('journal_public_rss', '/_admin/public_journal/rss', []);
|
pyroutes.register('journal_public_rss', '/_admin/public_journal/rss', []);
|
||||||
pyroutes.register('journal_public_rss_old', '/_admin/public_journal_rss', []);
|
pyroutes.register('journal_public_rss_old', '/_admin/public_journal_rss', []);
|
||||||
pyroutes.register('toggle_following', '/_admin/toggle_following', []);
|
pyroutes.register('journal_rss', '/_admin/journal/rss', []);
|
||||||
pyroutes.register('repo_creating', '/%(repo_name)s/repo_creating', ['repo_name']);
|
pyroutes.register('login', '/_admin/login', []);
|
||||||
pyroutes.register('repo_creating_check', '/%(repo_name)s/repo_creating_check', ['repo_name']);
|
pyroutes.register('logout', '/_admin/logout', []);
|
||||||
pyroutes.register('repo_summary_explicit', '/%(repo_name)s/summary', ['repo_name']);
|
pyroutes.register('main_page_repo_groups_data', '/_home_repo_groups', []);
|
||||||
pyroutes.register('repo_summary_commits', '/%(repo_name)s/summary-commits', ['repo_name']);
|
pyroutes.register('main_page_repos_data', '/_home_repos', []);
|
||||||
pyroutes.register('repo_commit', '/%(repo_name)s/changeset/%(commit_id)s', ['repo_name', 'commit_id']);
|
pyroutes.register('markup_preview', '/_markup_preview', []);
|
||||||
pyroutes.register('repo_commit_children', '/%(repo_name)s/changeset_children/%(commit_id)s', ['repo_name', 'commit_id']);
|
pyroutes.register('my_account_auth_tokens', '/_admin/my_account/auth_tokens', []);
|
||||||
pyroutes.register('repo_commit_parents', '/%(repo_name)s/changeset_parents/%(commit_id)s', ['repo_name', 'commit_id']);
|
pyroutes.register('my_account_auth_tokens_add', '/_admin/my_account/auth_tokens/new', []);
|
||||||
pyroutes.register('repo_commit_raw', '/%(repo_name)s/changeset-diff/%(commit_id)s', ['repo_name', 'commit_id']);
|
pyroutes.register('my_account_auth_tokens_delete', '/_admin/my_account/auth_tokens/delete', []);
|
||||||
pyroutes.register('repo_commit_patch', '/%(repo_name)s/changeset-patch/%(commit_id)s', ['repo_name', 'commit_id']);
|
pyroutes.register('my_account_auth_tokens_view', '/_admin/my_account/auth_tokens/view', []);
|
||||||
pyroutes.register('repo_commit_download', '/%(repo_name)s/changeset-download/%(commit_id)s', ['repo_name', 'commit_id']);
|
pyroutes.register('my_account_bookmarks', '/_admin/my_account/bookmarks', []);
|
||||||
pyroutes.register('repo_commit_data', '/%(repo_name)s/changeset-data/%(commit_id)s', ['repo_name', 'commit_id']);
|
pyroutes.register('my_account_bookmarks_update', '/_admin/my_account/bookmarks/update', []);
|
||||||
pyroutes.register('repo_commit_comment_create', '/%(repo_name)s/changeset/%(commit_id)s/comment/create', ['repo_name', 'commit_id']);
|
pyroutes.register('my_account_edit', '/_admin/my_account/edit', []);
|
||||||
pyroutes.register('repo_commit_comment_preview', '/%(repo_name)s/changeset/%(commit_id)s/comment/preview', ['repo_name', 'commit_id']);
|
pyroutes.register('my_account_emails', '/_admin/my_account/emails', []);
|
||||||
pyroutes.register('repo_commit_comment_history_view', '/%(repo_name)s/changeset/%(commit_id)s/comment/%(comment_history_id)s/history_view', ['repo_name', 'commit_id', 'comment_history_id']);
|
pyroutes.register('my_account_emails_add', '/_admin/my_account/emails/new', []);
|
||||||
pyroutes.register('repo_commit_comment_attachment_upload', '/%(repo_name)s/changeset/%(commit_id)s/comment/attachment_upload', ['repo_name', 'commit_id']);
|
pyroutes.register('my_account_emails_delete', '/_admin/my_account/emails/delete', []);
|
||||||
pyroutes.register('repo_commit_comment_delete', '/%(repo_name)s/changeset/%(commit_id)s/comment/%(comment_id)s/delete', ['repo_name', 'commit_id', 'comment_id']);
|
pyroutes.register('my_account_external_identity', '/_admin/my_account/external-identity', []);
|
||||||
pyroutes.register('repo_commit_comment_edit', '/%(repo_name)s/changeset/%(commit_id)s/comment/%(comment_id)s/edit', ['repo_name', 'commit_id', 'comment_id']);
|
pyroutes.register('my_account_external_identity_delete', '/_admin/my_account/external-identity/delete', []);
|
||||||
pyroutes.register('repo_commit_raw_deprecated', '/%(repo_name)s/raw-changeset/%(commit_id)s', ['repo_name', 'commit_id']);
|
pyroutes.register('my_account_goto_bookmark', '/_admin/my_account/bookmark/%(bookmark_id)s', ['bookmark_id']);
|
||||||
pyroutes.register('repo_archivefile', '/%(repo_name)s/archive/%(fname)s', ['repo_name', 'fname']);
|
pyroutes.register('my_account_notifications', '/_admin/my_account/notifications', []);
|
||||||
pyroutes.register('repo_files_diff', '/%(repo_name)s/diff/%(f_path)s', ['repo_name', 'f_path']);
|
pyroutes.register('my_account_notifications_test_channelstream', '/_admin/my_account/test_channelstream', []);
|
||||||
pyroutes.register('repo_files_diff_2way_redirect', '/%(repo_name)s/diff-2way/%(f_path)s', ['repo_name', 'f_path']);
|
pyroutes.register('my_account_notifications_toggle_visibility', '/_admin/my_account/toggle_visibility', []);
|
||||||
pyroutes.register('repo_files', '/%(repo_name)s/files/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']);
|
pyroutes.register('my_account_password', '/_admin/my_account/password', []);
|
||||||
pyroutes.register('repo_files:default_path', '/%(repo_name)s/files/%(commit_id)s/', ['repo_name', 'commit_id']);
|
pyroutes.register('my_account_password_update', '/_admin/my_account/password/update', []);
|
||||||
pyroutes.register('repo_files:default_commit', '/%(repo_name)s/files', ['repo_name']);
|
pyroutes.register('my_account_perms', '/_admin/my_account/perms', []);
|
||||||
pyroutes.register('repo_files:rendered', '/%(repo_name)s/render/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']);
|
pyroutes.register('my_account_profile', '/_admin/my_account/profile', []);
|
||||||
pyroutes.register('repo_files:annotated', '/%(repo_name)s/annotate/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']);
|
pyroutes.register('my_account_pullrequests', '/_admin/my_account/pull_requests', []);
|
||||||
pyroutes.register('repo_files:annotated_previous', '/%(repo_name)s/annotate-previous/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']);
|
pyroutes.register('my_account_pullrequests_data', '/_admin/my_account/pull_requests/data', []);
|
||||||
pyroutes.register('repo_nodetree_full', '/%(repo_name)s/nodetree_full/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']);
|
pyroutes.register('my_account_repos', '/_admin/my_account/repos', []);
|
||||||
pyroutes.register('repo_nodetree_full:default_path', '/%(repo_name)s/nodetree_full/%(commit_id)s/', ['repo_name', 'commit_id']);
|
pyroutes.register('my_account_ssh_keys', '/_admin/my_account/ssh_keys', []);
|
||||||
pyroutes.register('repo_files_nodelist', '/%(repo_name)s/nodelist/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']);
|
pyroutes.register('my_account_ssh_keys_add', '/_admin/my_account/ssh_keys/new', []);
|
||||||
pyroutes.register('repo_file_raw', '/%(repo_name)s/raw/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']);
|
pyroutes.register('my_account_ssh_keys_delete', '/_admin/my_account/ssh_keys/delete', []);
|
||||||
pyroutes.register('repo_file_download', '/%(repo_name)s/download/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']);
|
pyroutes.register('my_account_ssh_keys_generate', '/_admin/my_account/ssh_keys/generate', []);
|
||||||
pyroutes.register('repo_file_download:legacy', '/%(repo_name)s/rawfile/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']);
|
pyroutes.register('my_account_update', '/_admin/my_account/update', []);
|
||||||
pyroutes.register('repo_file_history', '/%(repo_name)s/history/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']);
|
pyroutes.register('my_account_user_group_membership', '/_admin/my_account/user_group_membership', []);
|
||||||
pyroutes.register('repo_file_authors', '/%(repo_name)s/authors/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']);
|
pyroutes.register('my_account_watched', '/_admin/my_account/watched', []);
|
||||||
pyroutes.register('repo_files_check_head', '/%(repo_name)s/check_head/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']);
|
pyroutes.register('notifications_delete', '/_admin/notifications/%(notification_id)s/delete', ['notification_id']);
|
||||||
pyroutes.register('repo_files_remove_file', '/%(repo_name)s/remove_file/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']);
|
pyroutes.register('notifications_mark_all_read', '/_admin/notifications_mark_all_read', []);
|
||||||
pyroutes.register('repo_files_delete_file', '/%(repo_name)s/delete_file/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']);
|
pyroutes.register('notifications_show', '/_admin/notifications/%(notification_id)s', ['notification_id']);
|
||||||
pyroutes.register('repo_files_edit_file', '/%(repo_name)s/edit_file/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']);
|
pyroutes.register('notifications_show_all', '/_admin/notifications', []);
|
||||||
pyroutes.register('repo_files_update_file', '/%(repo_name)s/update_file/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']);
|
pyroutes.register('notifications_update', '/_admin/notifications/%(notification_id)s/update', ['notification_id']);
|
||||||
pyroutes.register('repo_files_add_file', '/%(repo_name)s/add_file/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']);
|
pyroutes.register('ops_error_test', '/_admin/ops/error', []);
|
||||||
pyroutes.register('repo_files_upload_file', '/%(repo_name)s/upload_file/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']);
|
pyroutes.register('ops_ping', '/_admin/ops/ping', []);
|
||||||
pyroutes.register('repo_files_create_file', '/%(repo_name)s/create_file/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']);
|
pyroutes.register('ops_redirect_test', '/_admin/ops/redirect', []);
|
||||||
pyroutes.register('repo_refs_data', '/%(repo_name)s/refs-data', ['repo_name']);
|
pyroutes.register('plugin_admin_chat', '/_admin/plugin_admin_chat/%(action)s', ['action']);
|
||||||
pyroutes.register('repo_refs_changelog_data', '/%(repo_name)s/refs-data-changelog', ['repo_name']);
|
pyroutes.register('pull_requests_global', '/_admin/pull-request/%(pull_request_id)s', ['pull_request_id']);
|
||||||
pyroutes.register('repo_stats', '/%(repo_name)s/repo_stats/%(commit_id)s', ['repo_name', 'commit_id']);
|
pyroutes.register('pull_requests_global_0', '/_admin/pull_requests/%(pull_request_id)s', ['pull_request_id']);
|
||||||
pyroutes.register('repo_commits', '/%(repo_name)s/commits', ['repo_name']);
|
pyroutes.register('pull_requests_global_1', '/_admin/pull-requests/%(pull_request_id)s', ['pull_request_id']);
|
||||||
pyroutes.register('repo_commits_file', '/%(repo_name)s/commits/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']);
|
pyroutes.register('pullrequest_comment_create', '/%(repo_name)s/pull-request/%(pull_request_id)s/comment', ['repo_name', 'pull_request_id']);
|
||||||
pyroutes.register('repo_commits_elements', '/%(repo_name)s/commits_elements', ['repo_name']);
|
pyroutes.register('pullrequest_comment_delete', '/%(repo_name)s/pull-request/%(pull_request_id)s/comment/%(comment_id)s/delete', ['repo_name', 'pull_request_id', 'comment_id']);
|
||||||
pyroutes.register('repo_commits_elements_file', '/%(repo_name)s/commits_elements/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']);
|
pyroutes.register('pullrequest_comment_edit', '/%(repo_name)s/pull-request/%(pull_request_id)s/comment/%(comment_id)s/edit', ['repo_name', 'pull_request_id', 'comment_id']);
|
||||||
pyroutes.register('repo_changelog', '/%(repo_name)s/changelog', ['repo_name']);
|
pyroutes.register('pullrequest_comments', '/%(repo_name)s/pull-request/%(pull_request_id)s/comments', ['repo_name', 'pull_request_id']);
|
||||||
pyroutes.register('repo_changelog_file', '/%(repo_name)s/changelog/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']);
|
pyroutes.register('pullrequest_create', '/%(repo_name)s/pull-request/create', ['repo_name']);
|
||||||
pyroutes.register('repo_compare_select', '/%(repo_name)s/compare', ['repo_name']);
|
pyroutes.register('pullrequest_delete', '/%(repo_name)s/pull-request/%(pull_request_id)s/delete', ['repo_name', 'pull_request_id']);
|
||||||
pyroutes.register('repo_compare', '/%(repo_name)s/compare/%(source_ref_type)s@%(source_ref)s...%(target_ref_type)s@%(target_ref)s', ['repo_name', 'source_ref_type', 'source_ref', 'target_ref_type', 'target_ref']);
|
pyroutes.register('pullrequest_draft_comments_submit', '/%(repo_name)s/pull-request/%(pull_request_id)s/draft_comments_submit', ['repo_name', 'pull_request_id']);
|
||||||
pyroutes.register('tags_home', '/%(repo_name)s/tags', ['repo_name']);
|
pyroutes.register('pullrequest_drafts', '/%(repo_name)s/pull-request/%(pull_request_id)s/drafts', ['repo_name', 'pull_request_id']);
|
||||||
pyroutes.register('branches_home', '/%(repo_name)s/branches', ['repo_name']);
|
pyroutes.register('pullrequest_merge', '/%(repo_name)s/pull-request/%(pull_request_id)s/merge', ['repo_name', 'pull_request_id']);
|
||||||
pyroutes.register('bookmarks_home', '/%(repo_name)s/bookmarks', ['repo_name']);
|
pyroutes.register('pullrequest_new', '/%(repo_name)s/pull-request/new', ['repo_name']);
|
||||||
pyroutes.register('repo_fork_new', '/%(repo_name)s/fork', ['repo_name']);
|
pyroutes.register('pullrequest_repo_refs', '/%(repo_name)s/pull-request/refs/%(target_repo_name)s', ['repo_name', 'target_repo_name']);
|
||||||
pyroutes.register('repo_fork_create', '/%(repo_name)s/fork/create', ['repo_name']);
|
pyroutes.register('pullrequest_repo_targets', '/%(repo_name)s/pull-request/repo-targets', ['repo_name']);
|
||||||
pyroutes.register('repo_forks_show_all', '/%(repo_name)s/forks', ['repo_name']);
|
|
||||||
pyroutes.register('repo_forks_data', '/%(repo_name)s/forks/data', ['repo_name']);
|
|
||||||
pyroutes.register('pullrequest_show', '/%(repo_name)s/pull-request/%(pull_request_id)s', ['repo_name', 'pull_request_id']);
|
pyroutes.register('pullrequest_show', '/%(repo_name)s/pull-request/%(pull_request_id)s', ['repo_name', 'pull_request_id']);
|
||||||
pyroutes.register('pullrequest_show_all', '/%(repo_name)s/pull-request', ['repo_name']);
|
pyroutes.register('pullrequest_show_all', '/%(repo_name)s/pull-request', ['repo_name']);
|
||||||
pyroutes.register('pullrequest_show_all_data', '/%(repo_name)s/pull-request-data', ['repo_name']);
|
pyroutes.register('pullrequest_show_all_data', '/%(repo_name)s/pull-request-data', ['repo_name']);
|
||||||
pyroutes.register('pullrequest_repo_refs', '/%(repo_name)s/pull-request/refs/%(target_repo_name)s', ['repo_name', 'target_repo_name']);
|
|
||||||
pyroutes.register('pullrequest_repo_targets', '/%(repo_name)s/pull-request/repo-targets', ['repo_name']);
|
|
||||||
pyroutes.register('pullrequest_new', '/%(repo_name)s/pull-request/new', ['repo_name']);
|
|
||||||
pyroutes.register('pullrequest_create', '/%(repo_name)s/pull-request/create', ['repo_name']);
|
|
||||||
pyroutes.register('pullrequest_update', '/%(repo_name)s/pull-request/%(pull_request_id)s/update', ['repo_name', 'pull_request_id']);
|
|
||||||
pyroutes.register('pullrequest_merge', '/%(repo_name)s/pull-request/%(pull_request_id)s/merge', ['repo_name', 'pull_request_id']);
|
|
||||||
pyroutes.register('pullrequest_delete', '/%(repo_name)s/pull-request/%(pull_request_id)s/delete', ['repo_name', 'pull_request_id']);
|
|
||||||
pyroutes.register('pullrequest_comment_create', '/%(repo_name)s/pull-request/%(pull_request_id)s/comment', ['repo_name', 'pull_request_id']);
|
|
||||||
pyroutes.register('pullrequest_comment_edit', '/%(repo_name)s/pull-request/%(pull_request_id)s/comment/%(comment_id)s/edit', ['repo_name', 'pull_request_id', 'comment_id']);
|
|
||||||
pyroutes.register('pullrequest_comment_delete', '/%(repo_name)s/pull-request/%(pull_request_id)s/comment/%(comment_id)s/delete', ['repo_name', 'pull_request_id', 'comment_id']);
|
|
||||||
pyroutes.register('pullrequest_comments', '/%(repo_name)s/pull-request/%(pull_request_id)s/comments', ['repo_name', 'pull_request_id']);
|
|
||||||
pyroutes.register('pullrequest_todos', '/%(repo_name)s/pull-request/%(pull_request_id)s/todos', ['repo_name', 'pull_request_id']);
|
pyroutes.register('pullrequest_todos', '/%(repo_name)s/pull-request/%(pull_request_id)s/todos', ['repo_name', 'pull_request_id']);
|
||||||
pyroutes.register('pullrequest_drafts', '/%(repo_name)s/pull-request/%(pull_request_id)s/drafts', ['repo_name', 'pull_request_id']);
|
pyroutes.register('pullrequest_update', '/%(repo_name)s/pull-request/%(pull_request_id)s/update', ['repo_name', 'pull_request_id']);
|
||||||
pyroutes.register('edit_repo', '/%(repo_name)s/settings', ['repo_name']);
|
pyroutes.register('register', '/_admin/register', []);
|
||||||
pyroutes.register('edit_repo_advanced', '/%(repo_name)s/settings/advanced', ['repo_name']);
|
pyroutes.register('repo_archivefile', '/%(repo_name)s/archive/%(fname)s', ['repo_name', 'fname']);
|
||||||
pyroutes.register('edit_repo_advanced_archive', '/%(repo_name)s/settings/advanced/archive', ['repo_name']);
|
pyroutes.register('repo_artifacts_data', '/%(repo_name)s/artifacts_data', ['repo_name']);
|
||||||
pyroutes.register('edit_repo_advanced_delete', '/%(repo_name)s/settings/advanced/delete', ['repo_name']);
|
pyroutes.register('repo_artifacts_delete', '/%(repo_name)s/artifacts/delete/%(uid)s', ['repo_name', 'uid']);
|
||||||
pyroutes.register('edit_repo_advanced_locking', '/%(repo_name)s/settings/advanced/locking', ['repo_name']);
|
pyroutes.register('repo_artifacts_get', '/%(repo_name)s/artifacts/download/%(uid)s', ['repo_name', 'uid']);
|
||||||
pyroutes.register('edit_repo_advanced_journal', '/%(repo_name)s/settings/advanced/journal', ['repo_name']);
|
pyroutes.register('repo_artifacts_info', '/%(repo_name)s/artifacts/info/%(uid)s', ['repo_name', 'uid']);
|
||||||
pyroutes.register('edit_repo_advanced_fork', '/%(repo_name)s/settings/advanced/fork', ['repo_name']);
|
pyroutes.register('repo_artifacts_list', '/%(repo_name)s/artifacts', ['repo_name']);
|
||||||
pyroutes.register('edit_repo_advanced_hooks', '/%(repo_name)s/settings/advanced/hooks', ['repo_name']);
|
pyroutes.register('repo_artifacts_new', '/%(repo_name)s/artifacts/new', ['repo_name']);
|
||||||
pyroutes.register('edit_repo_caches', '/%(repo_name)s/settings/caches', ['repo_name']);
|
pyroutes.register('repo_artifacts_store', '/%(repo_name)s/artifacts/store', ['repo_name']);
|
||||||
pyroutes.register('edit_repo_perms', '/%(repo_name)s/settings/permissions', ['repo_name']);
|
pyroutes.register('repo_artifacts_update', '/%(repo_name)s/artifacts/update/%(uid)s', ['repo_name', 'uid']);
|
||||||
pyroutes.register('edit_repo_perms_set_private', '/%(repo_name)s/settings/permissions/set_private', ['repo_name']);
|
pyroutes.register('repo_automation', '/%(repo_name)s/settings/automation', ['repo_name']);
|
||||||
pyroutes.register('edit_repo_maintenance', '/%(repo_name)s/settings/maintenance', ['repo_name']);
|
pyroutes.register('repo_automation_update', '/%(repo_name)s/settings/automation/%(entry_id)s/update', ['repo_name', 'entry_id']);
|
||||||
pyroutes.register('edit_repo_maintenance_execute', '/%(repo_name)s/settings/maintenance/execute', ['repo_name']);
|
pyroutes.register('repo_changelog', '/%(repo_name)s/changelog', ['repo_name']);
|
||||||
pyroutes.register('edit_repo_fields', '/%(repo_name)s/settings/fields', ['repo_name']);
|
pyroutes.register('repo_changelog_file', '/%(repo_name)s/changelog/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']);
|
||||||
pyroutes.register('edit_repo_fields_create', '/%(repo_name)s/settings/fields/create', ['repo_name']);
|
pyroutes.register('repo_commit', '/%(repo_name)s/changeset/%(commit_id)s', ['repo_name', 'commit_id']);
|
||||||
pyroutes.register('edit_repo_fields_delete', '/%(repo_name)s/settings/fields/%(field_id)s/delete', ['repo_name', 'field_id']);
|
pyroutes.register('repo_commit_children', '/%(repo_name)s/changeset_children/%(commit_id)s', ['repo_name', 'commit_id']);
|
||||||
pyroutes.register('repo_edit_toggle_locking', '/%(repo_name)s/settings/toggle_locking', ['repo_name']);
|
pyroutes.register('repo_commit_comment_attachment_upload', '/%(repo_name)s/changeset/%(commit_id)s/comment/attachment_upload', ['repo_name', 'commit_id']);
|
||||||
pyroutes.register('edit_repo_remote', '/%(repo_name)s/settings/remote', ['repo_name']);
|
pyroutes.register('repo_commit_comment_create', '/%(repo_name)s/changeset/%(commit_id)s/comment/create', ['repo_name', 'commit_id']);
|
||||||
pyroutes.register('edit_repo_remote_pull', '/%(repo_name)s/settings/remote/pull', ['repo_name']);
|
pyroutes.register('repo_commit_comment_delete', '/%(repo_name)s/changeset/%(commit_id)s/comment/%(comment_id)s/delete', ['repo_name', 'commit_id', 'comment_id']);
|
||||||
pyroutes.register('edit_repo_statistics', '/%(repo_name)s/settings/statistics', ['repo_name']);
|
pyroutes.register('repo_commit_comment_edit', '/%(repo_name)s/changeset/%(commit_id)s/comment/%(comment_id)s/edit', ['repo_name', 'commit_id', 'comment_id']);
|
||||||
pyroutes.register('edit_repo_statistics_reset', '/%(repo_name)s/settings/statistics/update', ['repo_name']);
|
pyroutes.register('repo_commit_comment_history_view', '/%(repo_name)s/changeset/%(commit_id)s/comment/%(comment_history_id)s/history_view', ['repo_name', 'commit_id', 'comment_history_id']);
|
||||||
pyroutes.register('edit_repo_issuetracker', '/%(repo_name)s/settings/issue_trackers', ['repo_name']);
|
pyroutes.register('repo_commit_comment_preview', '/%(repo_name)s/changeset/%(commit_id)s/comment/preview', ['repo_name', 'commit_id']);
|
||||||
pyroutes.register('edit_repo_issuetracker_test', '/%(repo_name)s/settings/issue_trackers/test', ['repo_name']);
|
pyroutes.register('repo_commit_data', '/%(repo_name)s/changeset-data/%(commit_id)s', ['repo_name', 'commit_id']);
|
||||||
pyroutes.register('edit_repo_issuetracker_delete', '/%(repo_name)s/settings/issue_trackers/delete', ['repo_name']);
|
pyroutes.register('repo_commit_download', '/%(repo_name)s/changeset-download/%(commit_id)s', ['repo_name', 'commit_id']);
|
||||||
pyroutes.register('edit_repo_issuetracker_update', '/%(repo_name)s/settings/issue_trackers/update', ['repo_name']);
|
pyroutes.register('repo_commit_parents', '/%(repo_name)s/changeset_parents/%(commit_id)s', ['repo_name', 'commit_id']);
|
||||||
pyroutes.register('edit_repo_vcs', '/%(repo_name)s/settings/vcs', ['repo_name']);
|
pyroutes.register('repo_commit_patch', '/%(repo_name)s/changeset-patch/%(commit_id)s', ['repo_name', 'commit_id']);
|
||||||
pyroutes.register('edit_repo_vcs_update', '/%(repo_name)s/settings/vcs/update', ['repo_name']);
|
pyroutes.register('repo_commit_raw', '/%(repo_name)s/changeset-diff/%(commit_id)s', ['repo_name', 'commit_id']);
|
||||||
pyroutes.register('edit_repo_vcs_svn_pattern_delete', '/%(repo_name)s/settings/vcs/svn_pattern/delete', ['repo_name']);
|
pyroutes.register('repo_commit_raw_deprecated', '/%(repo_name)s/raw-changeset/%(commit_id)s', ['repo_name', 'commit_id']);
|
||||||
pyroutes.register('repo_reviewers', '/%(repo_name)s/settings/review/rules', ['repo_name']);
|
pyroutes.register('repo_commits', '/%(repo_name)s/commits', ['repo_name']);
|
||||||
|
pyroutes.register('repo_commits_elements', '/%(repo_name)s/commits_elements', ['repo_name']);
|
||||||
|
pyroutes.register('repo_commits_elements_file', '/%(repo_name)s/commits_elements/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']);
|
||||||
|
pyroutes.register('repo_commits_file', '/%(repo_name)s/commits/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']);
|
||||||
|
pyroutes.register('repo_compare', '/%(repo_name)s/compare/%(source_ref_type)s@%(source_ref)s...%(target_ref_type)s@%(target_ref)s', ['repo_name', 'source_ref_type', 'source_ref', 'target_ref_type', 'target_ref']);
|
||||||
|
pyroutes.register('repo_compare_select', '/%(repo_name)s/compare', ['repo_name']);
|
||||||
|
pyroutes.register('repo_create', '/_admin/repos/create', []);
|
||||||
|
pyroutes.register('repo_creating', '/%(repo_name)s/repo_creating', ['repo_name']);
|
||||||
|
pyroutes.register('repo_creating_check', '/%(repo_name)s/repo_creating_check', ['repo_name']);
|
||||||
pyroutes.register('repo_default_reviewers_data', '/%(repo_name)s/settings/review/default-reviewers', ['repo_name']);
|
pyroutes.register('repo_default_reviewers_data', '/%(repo_name)s/settings/review/default-reviewers', ['repo_name']);
|
||||||
pyroutes.register('edit_repo_strip', '/%(repo_name)s/settings/strip', ['repo_name']);
|
pyroutes.register('repo_edit_toggle_locking', '/%(repo_name)s/settings/toggle_locking', ['repo_name']);
|
||||||
pyroutes.register('strip_check', '/%(repo_name)s/settings/strip_check', ['repo_name']);
|
pyroutes.register('repo_file_authors', '/%(repo_name)s/authors/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']);
|
||||||
pyroutes.register('strip_execute', '/%(repo_name)s/settings/strip_execute', ['repo_name']);
|
pyroutes.register('repo_file_download', '/%(repo_name)s/download/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']);
|
||||||
pyroutes.register('edit_repo_audit_logs', '/%(repo_name)s/settings/audit_logs', ['repo_name']);
|
pyroutes.register('repo_file_download:legacy', '/%(repo_name)s/rawfile/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']);
|
||||||
pyroutes.register('rss_feed_home', '/%(repo_name)s/feed-rss', ['repo_name']);
|
pyroutes.register('repo_file_history', '/%(repo_name)s/history/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']);
|
||||||
pyroutes.register('atom_feed_home', '/%(repo_name)s/feed-atom', ['repo_name']);
|
pyroutes.register('repo_file_raw', '/%(repo_name)s/raw/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']);
|
||||||
pyroutes.register('rss_feed_home_old', '/%(repo_name)s/feed/rss', ['repo_name']);
|
pyroutes.register('repo_files', '/%(repo_name)s/files/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']);
|
||||||
pyroutes.register('atom_feed_home_old', '/%(repo_name)s/feed/atom', ['repo_name']);
|
pyroutes.register('repo_files:annotated', '/%(repo_name)s/annotate/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']);
|
||||||
pyroutes.register('repo_summary', '/%(repo_name)s', ['repo_name']);
|
pyroutes.register('repo_files:annotated_previous', '/%(repo_name)s/annotate-previous/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']);
|
||||||
pyroutes.register('repo_summary_slash', '/%(repo_name)s/', ['repo_name']);
|
pyroutes.register('repo_files:default_commit', '/%(repo_name)s/files', ['repo_name']);
|
||||||
pyroutes.register('edit_repo_group', '/%(repo_group_name)s/_edit', ['repo_group_name']);
|
pyroutes.register('repo_files:default_path', '/%(repo_name)s/files/%(commit_id)s/', ['repo_name', 'commit_id']);
|
||||||
pyroutes.register('edit_repo_group_advanced', '/%(repo_group_name)s/_settings/advanced', ['repo_group_name']);
|
pyroutes.register('repo_files:rendered', '/%(repo_name)s/render/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']);
|
||||||
pyroutes.register('edit_repo_group_advanced_delete', '/%(repo_group_name)s/_settings/advanced/delete', ['repo_group_name']);
|
pyroutes.register('repo_files_add_file', '/%(repo_name)s/add_file/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']);
|
||||||
pyroutes.register('edit_repo_group_perms', '/%(repo_group_name)s/_settings/permissions', ['repo_group_name']);
|
pyroutes.register('repo_files_check_head', '/%(repo_name)s/check_head/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']);
|
||||||
pyroutes.register('edit_repo_group_perms_update', '/%(repo_group_name)s/_settings/permissions/update', ['repo_group_name']);
|
pyroutes.register('repo_files_create_file', '/%(repo_name)s/create_file/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']);
|
||||||
|
pyroutes.register('repo_files_delete_file', '/%(repo_name)s/delete_file/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']);
|
||||||
|
pyroutes.register('repo_files_diff', '/%(repo_name)s/diff/%(f_path)s', ['repo_name', 'f_path']);
|
||||||
|
pyroutes.register('repo_files_diff_2way_redirect', '/%(repo_name)s/diff-2way/%(f_path)s', ['repo_name', 'f_path']);
|
||||||
|
pyroutes.register('repo_files_edit_file', '/%(repo_name)s/edit_file/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']);
|
||||||
|
pyroutes.register('repo_files_nodelist', '/%(repo_name)s/nodelist/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']);
|
||||||
|
pyroutes.register('repo_files_remove_file', '/%(repo_name)s/remove_file/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']);
|
||||||
|
pyroutes.register('repo_files_update_file', '/%(repo_name)s/update_file/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']);
|
||||||
|
pyroutes.register('repo_files_upload_file', '/%(repo_name)s/upload_file/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']);
|
||||||
|
pyroutes.register('repo_fork_create', '/%(repo_name)s/fork/create', ['repo_name']);
|
||||||
|
pyroutes.register('repo_fork_new', '/%(repo_name)s/fork', ['repo_name']);
|
||||||
|
pyroutes.register('repo_forks_data', '/%(repo_name)s/forks/data', ['repo_name']);
|
||||||
|
pyroutes.register('repo_forks_show_all', '/%(repo_name)s/forks', ['repo_name']);
|
||||||
|
pyroutes.register('repo_group_create', '/_admin/repo_group/create', []);
|
||||||
pyroutes.register('repo_group_home', '/%(repo_group_name)s', ['repo_group_name']);
|
pyroutes.register('repo_group_home', '/%(repo_group_name)s', ['repo_group_name']);
|
||||||
pyroutes.register('repo_group_home_slash', '/%(repo_group_name)s/', ['repo_group_name']);
|
pyroutes.register('repo_group_home_slash', '/%(repo_group_name)s/', ['repo_group_name']);
|
||||||
pyroutes.register('user_group_members_data', '/_admin/user_groups/%(user_group_id)s/members', ['user_group_id']);
|
pyroutes.register('repo_group_integrations_create', '/%(repo_group_name)s/_settings/integrations/%(integration)s/new', ['repo_group_name', 'integration']);
|
||||||
pyroutes.register('edit_user_group_perms_summary', '/_admin/user_groups/%(user_group_id)s/edit/permissions_summary', ['user_group_id']);
|
pyroutes.register('repo_group_integrations_edit', '/%(repo_group_name)s/_settings/integrations/%(integration)s/%(integration_id)s', ['repo_group_name', 'integration', 'integration_id']);
|
||||||
pyroutes.register('edit_user_group_perms_summary_json', '/_admin/user_groups/%(user_group_id)s/edit/permissions_summary/json', ['user_group_id']);
|
pyroutes.register('repo_group_integrations_home', '/%(repo_group_name)s/_settings/integrations', ['repo_group_name']);
|
||||||
pyroutes.register('edit_user_group', '/_admin/user_groups/%(user_group_id)s/edit', ['user_group_id']);
|
pyroutes.register('repo_group_integrations_list', '/%(repo_group_name)s/_settings/integrations/%(integration)s', ['repo_group_name', 'integration']);
|
||||||
pyroutes.register('user_groups_update', '/_admin/user_groups/%(user_group_id)s/update', ['user_group_id']);
|
pyroutes.register('repo_group_integrations_new', '/%(repo_group_name)s/_settings/integrations/new', ['repo_group_name']);
|
||||||
pyroutes.register('edit_user_group_global_perms', '/_admin/user_groups/%(user_group_id)s/edit/global_permissions', ['user_group_id']);
|
pyroutes.register('repo_group_list_data', '/_repo_groups', []);
|
||||||
pyroutes.register('edit_user_group_global_perms_update', '/_admin/user_groups/%(user_group_id)s/edit/global_permissions/update', ['user_group_id']);
|
pyroutes.register('repo_group_new', '/_admin/repo_group/new', []);
|
||||||
pyroutes.register('edit_user_group_perms', '/_admin/user_groups/%(user_group_id)s/edit/permissions', ['user_group_id']);
|
pyroutes.register('repo_groups', '/_admin/repo_groups', []);
|
||||||
pyroutes.register('edit_user_group_perms_update', '/_admin/user_groups/%(user_group_id)s/edit/permissions/update', ['user_group_id']);
|
pyroutes.register('repo_groups_data', '/_admin/repo_groups_data', []);
|
||||||
pyroutes.register('edit_user_group_advanced', '/_admin/user_groups/%(user_group_id)s/edit/advanced', ['user_group_id']);
|
pyroutes.register('repo_integrations_create', '/%(repo_name)s/settings/integrations/%(integration)s/new', ['repo_name', 'integration']);
|
||||||
pyroutes.register('edit_user_group_advanced_sync', '/_admin/user_groups/%(user_group_id)s/edit/advanced/sync', ['user_group_id']);
|
pyroutes.register('repo_integrations_edit', '/%(repo_name)s/settings/integrations/%(integration)s/%(integration_id)s', ['repo_name', 'integration', 'integration_id']);
|
||||||
pyroutes.register('user_groups_delete', '/_admin/user_groups/%(user_group_id)s/delete', ['user_group_id']);
|
pyroutes.register('repo_integrations_home', '/%(repo_name)s/settings/integrations', ['repo_name']);
|
||||||
|
pyroutes.register('repo_integrations_list', '/%(repo_name)s/settings/integrations/%(integration)s', ['repo_name', 'integration']);
|
||||||
|
pyroutes.register('repo_integrations_new', '/%(repo_name)s/settings/integrations/new', ['repo_name']);
|
||||||
|
pyroutes.register('repo_list_data', '/_repos', []);
|
||||||
|
pyroutes.register('repo_new', '/_admin/repos/new', []);
|
||||||
|
pyroutes.register('repo_nodetree_full', '/%(repo_name)s/nodetree_full/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']);
|
||||||
|
pyroutes.register('repo_nodetree_full:default_path', '/%(repo_name)s/nodetree_full/%(commit_id)s/', ['repo_name', 'commit_id']);
|
||||||
|
pyroutes.register('repo_refs_changelog_data', '/%(repo_name)s/refs-data-changelog', ['repo_name']);
|
||||||
|
pyroutes.register('repo_refs_data', '/%(repo_name)s/refs-data', ['repo_name']);
|
||||||
|
pyroutes.register('repo_reviewers', '/%(repo_name)s/settings/review/rules', ['repo_name']);
|
||||||
|
pyroutes.register('repo_reviewers_review_rule_delete', '/%(repo_name)s/settings/review/rules/%(rule_id)s/delete', ['repo_name', 'rule_id']);
|
||||||
|
pyroutes.register('repo_reviewers_review_rule_edit', '/%(repo_name)s/settings/review/rules/%(rule_id)s', ['repo_name', 'rule_id']);
|
||||||
|
pyroutes.register('repo_reviewers_review_rule_new', '/%(repo_name)s/settings/review/rules/new', ['repo_name']);
|
||||||
|
pyroutes.register('repo_stats', '/%(repo_name)s/repo_stats/%(commit_id)s', ['repo_name', 'commit_id']);
|
||||||
|
pyroutes.register('repo_summary', '/%(repo_name)s', ['repo_name']);
|
||||||
|
pyroutes.register('repo_summary_commits', '/%(repo_name)s/summary-commits', ['repo_name']);
|
||||||
|
pyroutes.register('repo_summary_explicit', '/%(repo_name)s/summary', ['repo_name']);
|
||||||
|
pyroutes.register('repo_summary_slash', '/%(repo_name)s/', ['repo_name']);
|
||||||
|
pyroutes.register('repos', '/_admin/repos', []);
|
||||||
|
pyroutes.register('repos_data', '/_admin/repos_data', []);
|
||||||
|
pyroutes.register('reset_password', '/_admin/password_reset', []);
|
||||||
|
pyroutes.register('reset_password_confirmation', '/_admin/password_reset_confirmation', []);
|
||||||
|
pyroutes.register('robots', '/robots.txt', []);
|
||||||
|
pyroutes.register('rss_feed_home', '/%(repo_name)s/feed-rss', ['repo_name']);
|
||||||
|
pyroutes.register('rss_feed_home_old', '/%(repo_name)s/feed/rss', ['repo_name']);
|
||||||
pyroutes.register('search', '/_admin/search', []);
|
pyroutes.register('search', '/_admin/search', []);
|
||||||
pyroutes.register('search_repo', '/%(repo_name)s/_search', ['repo_name']);
|
pyroutes.register('search_repo', '/%(repo_name)s/_search', ['repo_name']);
|
||||||
pyroutes.register('search_repo_alt', '/%(repo_name)s/search', ['repo_name']);
|
pyroutes.register('search_repo_alt', '/%(repo_name)s/search', ['repo_name']);
|
||||||
pyroutes.register('search_repo_group', '/%(repo_group_name)s/_search', ['repo_group_name']);
|
pyroutes.register('search_repo_group', '/%(repo_group_name)s/_search', ['repo_group_name']);
|
||||||
pyroutes.register('user_profile', '/_profiles/%(username)s', ['username']);
|
pyroutes.register('store_user_session_value', '/_store_session_attr', []);
|
||||||
|
pyroutes.register('strip_check', '/%(repo_name)s/settings/strip_check', ['repo_name']);
|
||||||
|
pyroutes.register('strip_execute', '/%(repo_name)s/settings/strip_execute', ['repo_name']);
|
||||||
|
pyroutes.register('tags_home', '/%(repo_name)s/tags', ['repo_name']);
|
||||||
|
pyroutes.register('toggle_following', '/_admin/toggle_following', []);
|
||||||
|
pyroutes.register('upload_file', '/_file_store/upload', []);
|
||||||
|
pyroutes.register('user_autocomplete_data', '/_users', []);
|
||||||
|
pyroutes.register('user_create_personal_repo_group', '/_admin/users/%(user_id)s/create_repo_group', ['user_id']);
|
||||||
|
pyroutes.register('user_delete', '/_admin/users/%(user_id)s/delete', ['user_id']);
|
||||||
|
pyroutes.register('user_disable_force_password_reset', '/_admin/users/%(user_id)s/password_reset_disable', ['user_id']);
|
||||||
|
pyroutes.register('user_edit', '/_admin/users/%(user_id)s/edit', ['user_id']);
|
||||||
|
pyroutes.register('user_edit_advanced', '/_admin/users/%(user_id)s/edit/advanced', ['user_id']);
|
||||||
|
pyroutes.register('user_edit_global_perms', '/_admin/users/%(user_id)s/edit/global_permissions', ['user_id']);
|
||||||
|
pyroutes.register('user_edit_global_perms_update', '/_admin/users/%(user_id)s/edit/global_permissions/update', ['user_id']);
|
||||||
|
pyroutes.register('user_enable_force_password_reset', '/_admin/users/%(user_id)s/password_reset_enable', ['user_id']);
|
||||||
|
pyroutes.register('user_group_autocomplete_data', '/_user_groups', []);
|
||||||
|
pyroutes.register('user_group_members_data', '/_admin/user_groups/%(user_group_id)s/members', ['user_group_id']);
|
||||||
pyroutes.register('user_group_profile', '/_profile_user_group/%(user_group_name)s', ['user_group_name']);
|
pyroutes.register('user_group_profile', '/_profile_user_group/%(user_group_name)s', ['user_group_name']);
|
||||||
pyroutes.register('my_account_profile', '/_admin/my_account/profile', []);
|
pyroutes.register('user_groups', '/_admin/user_groups', []);
|
||||||
pyroutes.register('my_account_edit', '/_admin/my_account/edit', []);
|
pyroutes.register('user_groups_create', '/_admin/user_groups/create', []);
|
||||||
pyroutes.register('my_account_update', '/_admin/my_account/update', []);
|
pyroutes.register('user_groups_data', '/_admin/user_groups_data', []);
|
||||||
pyroutes.register('my_account_password', '/_admin/my_account/password', []);
|
pyroutes.register('user_groups_delete', '/_admin/user_groups/%(user_group_id)s/delete', ['user_group_id']);
|
||||||
pyroutes.register('my_account_password_update', '/_admin/my_account/password/update', []);
|
pyroutes.register('user_groups_new', '/_admin/user_groups/new', []);
|
||||||
pyroutes.register('my_account_auth_tokens_view', '/_admin/my_account/auth_tokens/view', []);
|
pyroutes.register('user_groups_update', '/_admin/user_groups/%(user_group_id)s/update', ['user_group_id']);
|
||||||
pyroutes.register('my_account_auth_tokens_delete', '/_admin/my_account/auth_tokens/delete', []);
|
pyroutes.register('user_notice_dismiss', '/_admin/users/%(user_id)s/notice_dismiss', ['user_id']);
|
||||||
pyroutes.register('my_account_ssh_keys', '/_admin/my_account/ssh_keys', []);
|
pyroutes.register('user_profile', '/_profiles/%(username)s', ['username']);
|
||||||
pyroutes.register('my_account_ssh_keys_generate', '/_admin/my_account/ssh_keys/generate', []);
|
pyroutes.register('user_update', '/_admin/users/%(user_id)s/update', ['user_id']);
|
||||||
pyroutes.register('my_account_ssh_keys_add', '/_admin/my_account/ssh_keys/new', []);
|
pyroutes.register('users', '/_admin/users', []);
|
||||||
pyroutes.register('my_account_ssh_keys_delete', '/_admin/my_account/ssh_keys/delete', []);
|
pyroutes.register('users_create', '/_admin/users/create', []);
|
||||||
pyroutes.register('my_account_user_group_membership', '/_admin/my_account/user_group_membership', []);
|
pyroutes.register('users_data', '/_admin/users_data', []);
|
||||||
pyroutes.register('my_account_emails', '/_admin/my_account/emails', []);
|
pyroutes.register('users_new', '/_admin/users/new', []);
|
||||||
pyroutes.register('my_account_emails_add', '/_admin/my_account/emails/new', []);
|
|
||||||
pyroutes.register('my_account_emails_delete', '/_admin/my_account/emails/delete', []);
|
|
||||||
pyroutes.register('my_account_repos', '/_admin/my_account/repos', []);
|
|
||||||
pyroutes.register('my_account_watched', '/_admin/my_account/watched', []);
|
|
||||||
pyroutes.register('my_account_bookmarks', '/_admin/my_account/bookmarks', []);
|
|
||||||
pyroutes.register('my_account_bookmarks_update', '/_admin/my_account/bookmarks/update', []);
|
|
||||||
pyroutes.register('my_account_goto_bookmark', '/_admin/my_account/bookmark/%(bookmark_id)s', ['bookmark_id']);
|
|
||||||
pyroutes.register('my_account_perms', '/_admin/my_account/perms', []);
|
|
||||||
pyroutes.register('my_account_notifications', '/_admin/my_account/notifications', []);
|
|
||||||
pyroutes.register('my_account_notifications_toggle_visibility', '/_admin/my_account/toggle_visibility', []);
|
|
||||||
pyroutes.register('my_account_pullrequests', '/_admin/my_account/pull_requests', []);
|
|
||||||
pyroutes.register('my_account_pullrequests_data', '/_admin/my_account/pull_requests/data', []);
|
|
||||||
pyroutes.register('notifications_show_all', '/_admin/notifications', []);
|
|
||||||
pyroutes.register('notifications_mark_all_read', '/_admin/notifications/mark_all_read', []);
|
|
||||||
pyroutes.register('notifications_show', '/_admin/notifications/%(notification_id)s', ['notification_id']);
|
|
||||||
pyroutes.register('notifications_update', '/_admin/notifications/%(notification_id)s/update', ['notification_id']);
|
|
||||||
pyroutes.register('notifications_delete', '/_admin/notifications/%(notification_id)s/delete', ['notification_id']);
|
|
||||||
pyroutes.register('my_account_notifications_test_channelstream', '/_admin/my_account/test_channelstream', []);
|
|
||||||
pyroutes.register('gists_show', '/_admin/gists', []);
|
|
||||||
pyroutes.register('gists_new', '/_admin/gists/new', []);
|
|
||||||
pyroutes.register('gists_create', '/_admin/gists/create', []);
|
|
||||||
pyroutes.register('gist_show', '/_admin/gists/%(gist_id)s', ['gist_id']);
|
|
||||||
pyroutes.register('gist_delete', '/_admin/gists/%(gist_id)s/delete', ['gist_id']);
|
|
||||||
pyroutes.register('gist_edit', '/_admin/gists/%(gist_id)s/edit', ['gist_id']);
|
|
||||||
pyroutes.register('gist_edit_check_revision', '/_admin/gists/%(gist_id)s/edit/check_revision', ['gist_id']);
|
|
||||||
pyroutes.register('gist_update', '/_admin/gists/%(gist_id)s/update', ['gist_id']);
|
|
||||||
pyroutes.register('gist_show_rev', '/_admin/gists/%(gist_id)s/%(revision)s', ['gist_id', 'revision']);
|
|
||||||
pyroutes.register('gist_show_formatted', '/_admin/gists/%(gist_id)s/%(revision)s/%(format)s', ['gist_id', 'revision', 'format']);
|
|
||||||
pyroutes.register('gist_show_formatted_path', '/_admin/gists/%(gist_id)s/%(revision)s/%(format)s/%(f_path)s', ['gist_id', 'revision', 'format', 'f_path']);
|
|
||||||
pyroutes.register('debug_style_home', '/_admin/debug_style', []);
|
|
||||||
pyroutes.register('debug_style_email', '/_admin/debug_style/email/%(email_id)s', ['email_id']);
|
|
||||||
pyroutes.register('debug_style_email_plain_rendered', '/_admin/debug_style/email-rendered/%(email_id)s', ['email_id']);
|
|
||||||
pyroutes.register('debug_style_template', '/_admin/debug_style/t/%(t_path)s', ['t_path']);
|
|
||||||
pyroutes.register('apiv2', '/_admin/api', []);
|
|
||||||
pyroutes.register('admin_settings_license', '/_admin/settings/license', []);
|
|
||||||
pyroutes.register('admin_settings_license_unlock', '/_admin/settings/license_unlock', []);
|
|
||||||
pyroutes.register('login', '/_admin/login', []);
|
|
||||||
pyroutes.register('register', '/_admin/register', []);
|
|
||||||
pyroutes.register('repo_reviewers_review_rule_new', '/%(repo_name)s/settings/review/rules/new', ['repo_name']);
|
|
||||||
pyroutes.register('repo_reviewers_review_rule_edit', '/%(repo_name)s/settings/review/rules/%(rule_id)s', ['repo_name', 'rule_id']);
|
|
||||||
pyroutes.register('repo_reviewers_review_rule_delete', '/%(repo_name)s/settings/review/rules/%(rule_id)s/delete', ['repo_name', 'rule_id']);
|
|
||||||
pyroutes.register('plugin_admin_chat', '/_admin/plugin_admin_chat/%(action)s', ['action']);
|
|
||||||
pyroutes.register('edit_user_auth_tokens', '/_admin/users/%(user_id)s/edit/auth_tokens', ['user_id']);
|
|
||||||
pyroutes.register('edit_user_auth_tokens_add', '/_admin/users/%(user_id)s/edit/auth_tokens/new', ['user_id']);
|
|
||||||
pyroutes.register('admin_settings_scheduler_show_tasks', '/_admin/settings/scheduler/_tasks', []);
|
|
||||||
pyroutes.register('admin_settings_scheduler_show_all', '/_admin/settings/scheduler', []);
|
|
||||||
pyroutes.register('admin_settings_scheduler_new', '/_admin/settings/scheduler/new', []);
|
|
||||||
pyroutes.register('admin_settings_scheduler_create', '/_admin/settings/scheduler/create', []);
|
|
||||||
pyroutes.register('admin_settings_scheduler_edit', '/_admin/settings/scheduler/%(schedule_id)s', ['schedule_id']);
|
|
||||||
pyroutes.register('admin_settings_scheduler_update', '/_admin/settings/scheduler/%(schedule_id)s/update', ['schedule_id']);
|
|
||||||
pyroutes.register('admin_settings_scheduler_delete', '/_admin/settings/scheduler/%(schedule_id)s/delete', ['schedule_id']);
|
|
||||||
pyroutes.register('admin_settings_scheduler_execute', '/_admin/settings/scheduler/%(schedule_id)s/execute', ['schedule_id']);
|
|
||||||
pyroutes.register('admin_settings_automation', '/_admin/settings/automation', []);
|
|
||||||
pyroutes.register('admin_settings_automation_update', '/_admin/settings/automation/%(entry_id)s/update', ['entry_id']);
|
|
||||||
pyroutes.register('admin_permissions_branch', '/_admin/permissions/branch', []);
|
|
||||||
pyroutes.register('admin_permissions_branch_update', '/_admin/permissions/branch/update', []);
|
|
||||||
pyroutes.register('my_account_auth_tokens', '/_admin/my_account/auth_tokens', []);
|
|
||||||
pyroutes.register('my_account_auth_tokens_add', '/_admin/my_account/auth_tokens/new', []);
|
|
||||||
pyroutes.register('my_account_external_identity', '/_admin/my_account/external-identity', []);
|
|
||||||
pyroutes.register('my_account_external_identity_delete', '/_admin/my_account/external-identity/delete', []);
|
|
||||||
pyroutes.register('pullrequest_draft_comments_submit', '/%(repo_name)s/pull-request/%(pull_request_id)s/draft_comments_submit', ['repo_name', 'pull_request_id']);
|
|
||||||
pyroutes.register('commit_draft_comments_submit', '/%(repo_name)s/changeset/%(commit_id)s/draft_comments_submit', ['repo_name', 'commit_id']);
|
|
||||||
pyroutes.register('repo_artifacts_list', '/%(repo_name)s/artifacts', ['repo_name']);
|
|
||||||
pyroutes.register('repo_artifacts_data', '/%(repo_name)s/artifacts_data', ['repo_name']);
|
|
||||||
pyroutes.register('repo_artifacts_new', '/%(repo_name)s/artifacts/new', ['repo_name']);
|
|
||||||
pyroutes.register('repo_artifacts_get', '/%(repo_name)s/artifacts/download/%(uid)s', ['repo_name', 'uid']);
|
|
||||||
pyroutes.register('repo_artifacts_store', '/%(repo_name)s/artifacts/store', ['repo_name']);
|
|
||||||
pyroutes.register('repo_artifacts_info', '/%(repo_name)s/artifacts/info/%(uid)s', ['repo_name', 'uid']);
|
|
||||||
pyroutes.register('repo_artifacts_delete', '/%(repo_name)s/artifacts/delete/%(uid)s', ['repo_name', 'uid']);
|
|
||||||
pyroutes.register('repo_artifacts_update', '/%(repo_name)s/artifacts/update/%(uid)s', ['repo_name', 'uid']);
|
|
||||||
pyroutes.register('repo_automation', '/%(repo_name)s/settings/automation', ['repo_name']);
|
|
||||||
pyroutes.register('repo_automation_update', '/%(repo_name)s/settings/automation/%(entry_id)s/update', ['repo_name', 'entry_id']);
|
|
||||||
pyroutes.register('edit_repo_remote_push', '/%(repo_name)s/settings/remote/push', ['repo_name']);
|
|
||||||
pyroutes.register('edit_repo_perms_branch', '/%(repo_name)s/settings/branch_permissions', ['repo_name']);
|
|
||||||
pyroutes.register('edit_repo_perms_branch_delete', '/%(repo_name)s/settings/branch_permissions/%(rule_id)s/delete', ['repo_name', 'rule_id']);
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -233,7 +233,7 @@ def write_usage_data(event):
|
||||||
|
|
||||||
# write every 6th hour
|
# write every 6th hour
|
||||||
if age_in_min and age_in_min < 60 * 6:
|
if age_in_min and age_in_min < 60 * 6:
|
||||||
log.debug('Usage file created %s minutes ago, skipping (threashold: %s)...',
|
log.debug('Usage file created %s minutes ago, skipping (threshold: %s minutes)...',
|
||||||
age_in_min, 60 * 6)
|
age_in_min, 60 * 6)
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue