repo-reviewers: expose a default placeholder on CE edition.
- shows the menu consistent - adds preview of prominent EE feature
This commit is contained in:
parent
ec67f1c7db
commit
e1c2f6b6b6
6 changed files with 72 additions and 17 deletions
|
|
@ -31,6 +31,11 @@ def includeme(config):
|
|||
name='edit_repo_caches',
|
||||
pattern='/{repo_name:.*?[^/]}/settings/caches', repo_route=True)
|
||||
|
||||
# Repo Review Rules
|
||||
config.add_route(
|
||||
name='repo_reviewers',
|
||||
pattern='/{repo_name:.*?[^/]}/settings/review/rules', repo_route=True)
|
||||
|
||||
# Maintenance
|
||||
config.add_route(
|
||||
name='repo_maintenance',
|
||||
|
|
|
|||
51
rhodecode/apps/repository/views/repo_review_rules.py
Normal file
51
rhodecode/apps/repository/views/repo_review_rules.py
Normal file
|
|
@ -0,0 +1,51 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
|
||||
# Copyright (C) 2016-2017 RhodeCode GmbH
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License, version 3
|
||||
# (only), as published by the Free Software Foundation.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
# This program is dual-licensed. If you wish to learn more about the
|
||||
# RhodeCode Enterprise Edition, including its added features, Support services,
|
||||
# and proprietary license terms, please see https://rhodecode.com/licenses/
|
||||
|
||||
import logging
|
||||
|
||||
from pyramid.view import view_config
|
||||
|
||||
from rhodecode.apps._base import RepoAppView
|
||||
from rhodecode.lib.auth import LoginRequired, HasRepoPermissionAnyDecorator
|
||||
|
||||
log = logging.getLogger(__name__)
|
||||
|
||||
|
||||
class RepoReviewRulesView(RepoAppView):
|
||||
def load_default_context(self):
|
||||
c = self._get_local_tmpl_context()
|
||||
|
||||
# TODO(marcink): remove repo_info and use c.rhodecode_db_repo instead
|
||||
c.repo_info = self.db_repo
|
||||
|
||||
self._register_global_c(c)
|
||||
return c
|
||||
|
||||
@LoginRequired()
|
||||
@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):
|
||||
c = self.load_default_context()
|
||||
c.active = 'reviewers'
|
||||
|
||||
return self._get_template_context(c)
|
||||
|
||||
BIN
rhodecode/public/images/ee_features/default_reviewers.png
Normal file
BIN
rhodecode/public/images/ee_features/default_reviewers.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 119 KiB |
|
|
@ -99,6 +99,7 @@ function registerRCRoutes() {
|
|||
pyroutes.register('goto_switcher_data', '/_goto_data', []);
|
||||
pyroutes.register('edit_repo', '/%(repo_name)s/settings', ['repo_name']);
|
||||
pyroutes.register('edit_repo_caches', '/%(repo_name)s/settings/caches', ['repo_name']);
|
||||
pyroutes.register('repo_reviewers', '/%(repo_name)s/settings/review/rules', ['repo_name']);
|
||||
pyroutes.register('repo_maintenance', '/%(repo_name)s/maintenance', ['repo_name']);
|
||||
pyroutes.register('repo_maintenance_execute', '/%(repo_name)s/maintenance/execute', ['repo_name']);
|
||||
pyroutes.register('strip', '/%(repo_name)s/strip', ['repo_name']);
|
||||
|
|
|
|||
|
|
@ -36,7 +36,6 @@
|
|||
</div>
|
||||
|
||||
<div class="sidebar-col-wrapper scw-small">
|
||||
##main
|
||||
<div class="sidebar">
|
||||
<ul class="nav nav-pills nav-stacked">
|
||||
<li class="${'active' if c.active=='settings' else ''}">
|
||||
|
|
@ -71,28 +70,18 @@
|
|||
<li class="${'active' if c.active=='integrations' else ''}">
|
||||
<a href="${h.route_path('repo_integrations_home', repo_name=c.repo_name)}">${_('Integrations')}</a>
|
||||
</li>
|
||||
%if c.repo_info.repo_type != 'svn':
|
||||
<li class="${'active' if c.active=='reviewers' else ''}">
|
||||
<a href="${h.route_path('repo_reviewers', repo_name=c.repo_name)}">${_('Reviewer Rules')}</a>
|
||||
</li>
|
||||
%endif
|
||||
<li class="${'active' if c.active=='maintenance' else ''}">
|
||||
<a href="${h.route_path('repo_maintenance', repo_name=c.repo_name)}">${_('Maintenance')}</a>
|
||||
</li>
|
||||
<li class="${'active' if c.active=='strip' else ''}">
|
||||
<a href="${h.route_path('strip', repo_name=c.repo_name)}">${_('Strip')}</a>
|
||||
</li>
|
||||
## TODO: dan: replace repo navigation with navlist registry like with
|
||||
## admin menu. First must find way to allow runtime configuration
|
||||
## it to account for the c.repo_info.repo_type != 'svn' call above
|
||||
<%
|
||||
reviewer_settings = False
|
||||
try:
|
||||
import rc_reviewers
|
||||
reviewer_settings = True
|
||||
except ImportError:
|
||||
pass
|
||||
%>
|
||||
%if reviewer_settings:
|
||||
<li class="${'active' if c.active=='reviewers' else ''}">
|
||||
<a href="${h.route_path('repo_reviewers_home', repo_name=c.repo_name)}">${_('Reviewers')}</a>
|
||||
</li>
|
||||
%endif
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
|
|
|
|||
9
rhodecode/templates/admin/repos/repo_edit_reviewers.mako
Normal file
9
rhodecode/templates/admin/repos/repo_edit_reviewers.mako
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
<div class="panel panel-default">
|
||||
<div class="panel-heading">
|
||||
<h3 class="panel-title">${_('Default Reviewer Rules')}</h3>
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
<h4>${_('This feature is available in RhodeCode EE edition only. Contact {sales_email} to obtain a trial license.').format(sales_email='<a href="mailto:sales@rhodecode.com">sales@rhodecode.com</a>')|n}</h4>
|
||||
<img style="width: 100%; height: 100%" src="${h.asset('images/ee_features/default_reviewers.png')}"/>
|
||||
</div>
|
||||
</div>
|
||||
Loading…
Add table
Add a link
Reference in a new issue