diff --git a/rhodecode/admin/__init__.py b/rhodecode/apps/admin/__init__.py rename from rhodecode/admin/__init__.py rename to rhodecode/apps/admin/__init__.py --- a/rhodecode/admin/__init__.py +++ b/rhodecode/apps/admin/__init__.py @@ -19,7 +19,7 @@ # and proprietary license terms, please see https://rhodecode.com/licenses/ -from rhodecode.admin.navigation import NavigationRegistry +from rhodecode.apps.admin.navigation import NavigationRegistry from rhodecode.config.routing import ADMIN_PREFIX from rhodecode.lib.utils2 import str2bool diff --git a/rhodecode/admin/interfaces.py b/rhodecode/apps/admin/interfaces.py rename from rhodecode/admin/interfaces.py rename to rhodecode/apps/admin/interfaces.py diff --git a/rhodecode/admin/navigation.py b/rhodecode/apps/admin/navigation.py rename from rhodecode/admin/navigation.py rename to rhodecode/apps/admin/navigation.py --- a/rhodecode/admin/navigation.py +++ b/rhodecode/apps/admin/navigation.py @@ -25,7 +25,7 @@ import collections from pylons import url from zope.interface import implementer -from rhodecode.admin.interfaces import IAdminNavigationRegistry +from rhodecode.apps.admin.interfaces import IAdminNavigationRegistry from rhodecode.lib.utils import get_registry from rhodecode.translation import _ diff --git a/rhodecode/admin/views/__init__.py b/rhodecode/apps/admin/views/__init__.py rename from rhodecode/admin/views/__init__.py rename to rhodecode/apps/admin/views/__init__.py diff --git a/rhodecode/admin/views/base.py b/rhodecode/apps/admin/views/base.py rename from rhodecode/admin/views/base.py rename to rhodecode/apps/admin/views/base.py diff --git a/rhodecode/admin/views/open_source_licenses.py b/rhodecode/apps/admin/views/open_source_licenses.py rename from rhodecode/admin/views/open_source_licenses.py rename to rhodecode/apps/admin/views/open_source_licenses.py --- a/rhodecode/admin/views/open_source_licenses.py +++ b/rhodecode/apps/admin/views/open_source_licenses.py @@ -24,8 +24,8 @@ import logging from pylons import tmpl_context as c from pyramid.view import view_config -from rhodecode.admin.views.base import AdminSettingsView -from rhodecode.admin.navigation import navigation_list +from rhodecode.apps.admin.views.base import AdminSettingsView +from rhodecode.apps.admin.navigation import navigation_list from rhodecode.lib.auth import (LoginRequired, HasPermissionAllDecorator) from rhodecode.lib.utils import read_opensource_licenses diff --git a/rhodecode/admin/views/sessions.py b/rhodecode/apps/admin/views/sessions.py rename from rhodecode/admin/views/sessions.py rename to rhodecode/apps/admin/views/sessions.py --- a/rhodecode/admin/views/sessions.py +++ b/rhodecode/apps/admin/views/sessions.py @@ -26,7 +26,8 @@ from pyramid.httpexceptions import HTTPF from rhodecode.translation import _ -from rhodecode.admin.views.base import AdminSettingsView +from rhodecode.apps.admin.views.base import AdminSettingsView +from rhodecode.apps.admin.navigation import navigation_list from rhodecode.lib.auth import ( LoginRequired, HasPermissionAllDecorator, CSRFRequired) from rhodecode.lib.utils2 import safe_int @@ -34,9 +35,6 @@ from rhodecode.lib import system_info from rhodecode.lib import user_sessions -from rhodecode.admin.navigation import navigation_list - - log = logging.getLogger(__name__) diff --git a/rhodecode/admin/views/svn_config.py b/rhodecode/apps/admin/views/svn_config.py rename from rhodecode/admin/views/svn_config.py rename to rhodecode/apps/admin/views/svn_config.py --- a/rhodecode/admin/views/svn_config.py +++ b/rhodecode/apps/admin/views/svn_config.py @@ -24,7 +24,7 @@ from pyramid.view import view_config from rhodecode.svn_support.utils import generate_mod_dav_svn_config -from rhodecode.admin.views.base import AdminSettingsView +from rhodecode.apps.admin.views.base import AdminSettingsView from rhodecode.lib.auth import ( LoginRequired, HasPermissionAllDecorator, CSRFRequired) diff --git a/rhodecode/admin/views/system_info.py b/rhodecode/apps/admin/views/system_info.py rename from rhodecode/admin/views/system_info.py rename to rhodecode/apps/admin/views/system_info.py --- a/rhodecode/admin/views/system_info.py +++ b/rhodecode/apps/admin/views/system_info.py @@ -26,14 +26,13 @@ from pylons import tmpl_context as c from pyramid.view import view_config import rhodecode +from rhodecode.apps.admin.views.base import AdminSettingsView +from rhodecode.apps.admin.navigation import navigation_list from rhodecode.lib import helpers as h from rhodecode.lib.auth import (LoginRequired, HasPermissionAllDecorator) from rhodecode.lib.utils2 import str2bool from rhodecode.lib import system_info from rhodecode.lib.ext_json import json - -from rhodecode.admin.views.base import AdminSettingsView -from rhodecode.admin.navigation import navigation_list from rhodecode.model.settings import SettingsModel log = logging.getLogger(__name__) diff --git a/rhodecode/config/middleware.py b/rhodecode/config/middleware.py --- a/rhodecode/config/middleware.py +++ b/rhodecode/config/middleware.py @@ -277,18 +277,20 @@ def includeme(config): # Includes which are required. The application would fail without them. config.include('pyramid_mako') config.include('pyramid_beaker') + config.include('rhodecode.channelstream') - config.include('rhodecode.admin') config.include('rhodecode.authentication') config.include('rhodecode.integrations') # apps + config.include('rhodecode.apps.admin') config.include('rhodecode.apps.login') config.include('rhodecode.apps.user_profile') config.include('rhodecode.tweens') config.include('rhodecode.api') config.include('rhodecode.svn_support') + config.add_route( 'rhodecode_support', 'https://rhodecode.com/help/', static=True) diff --git a/rhodecode/controllers/admin/settings.py b/rhodecode/controllers/admin/settings.py --- a/rhodecode/controllers/admin/settings.py +++ b/rhodecode/controllers/admin/settings.py @@ -36,7 +36,7 @@ from pyramid.threadlocal import get_curr from webob.exc import HTTPBadRequest import rhodecode -from rhodecode.admin.navigation import navigation_list +from rhodecode.apps.admin.navigation import navigation_list from rhodecode.lib import auth from rhodecode.lib import helpers as h from rhodecode.lib.auth import LoginRequired, HasPermissionAllDecorator diff --git a/rhodecode/integrations/views.py b/rhodecode/integrations/views.py --- a/rhodecode/integrations/views.py +++ b/rhodecode/integrations/views.py @@ -29,6 +29,7 @@ from pyramid.httpexceptions import HTTPF from pyramid.renderers import render from pyramid.response import Response +from rhodecode.apps.admin.navigation import navigation_list from rhodecode.lib import auth from rhodecode.lib.auth import LoginRequired, HasPermissionAllDecorator from rhodecode.lib.utils2 import safe_int @@ -36,7 +37,6 @@ from rhodecode.lib.helpers import Page from rhodecode.model.db import Repository, RepoGroup, Session, Integration from rhodecode.model.scm import ScmModel from rhodecode.model.integration import IntegrationModel -from rhodecode.admin.navigation import navigation_list from rhodecode.translation import _ from rhodecode.integrations import integration_type_registry from rhodecode.model.validation_schema.schemas.integration_schema import ( @@ -75,11 +75,10 @@ class IntegrationSettingsViewBase(object repo_name = request.matchdict['repo_name'] self.repo = Repository.get_by_repo_name(repo_name) - if 'repo_group_name' in request.matchdict: # in group settings context + if 'repo_group_name' in request.matchdict: # in group settings context repo_group_name = request.matchdict['repo_group_name'] self.repo_group = RepoGroup.get_by_group_name(repo_group_name) - if 'integration' in request.matchdict: # integration type context integration_type = request.matchdict['integration'] self.IntegrationType = integration_type_registry[integration_type] @@ -380,12 +379,12 @@ class GlobalIntegrationsView(Integration class RepoIntegrationsView(IntegrationSettingsViewBase): def perm_check(self, user): - return auth.HasRepoPermissionAll('repository.admin' - )(repo_name=self.repo.repo_name, user=user) + return auth.HasRepoPermissionAll('repository.admin')( + repo_name=self.repo.repo_name, user=user) class RepoGroupIntegrationsView(IntegrationSettingsViewBase): def perm_check(self, user): - return auth.HasRepoGroupPermissionAll('group.admin' - )(group_name=self.repo_group.group_name, user=user) + return auth.HasRepoGroupPermissionAll('group.admin')( + group_name=self.repo_group.group_name, user=user) diff --git a/rhodecode/tests/functional/test_admin_settings.py b/rhodecode/tests/functional/test_admin_settings.py --- a/rhodecode/tests/functional/test_admin_settings.py +++ b/rhodecode/tests/functional/test_admin_settings.py @@ -32,7 +32,7 @@ from rhodecode.tests.utils import Assert UPDATE_DATA_QUALNAME = ( - 'rhodecode.admin.views.system_info.AdminSystemInfoSettingsView.get_update_data') + 'rhodecode.apps.admin.views.system_info.AdminSystemInfoSettingsView.get_update_data') @pytest.mark.usefixtures('autologin_user', 'app') @@ -425,7 +425,7 @@ class TestOpenSourceLicenses(object): } } read_licenses_patch = mock.patch( - 'rhodecode.admin.views.open_source_licenses.read_opensource_licenses', + 'rhodecode.apps.admin.views.open_source_licenses.read_opensource_licenses', return_value=sample_licenses) with read_licenses_patch: response = self.app.get(self._get_url(), status=200)