Show More
@@ -0,0 +1,48 b'' | |||||
|
1 | # -*- coding: utf-8 -*- | |||
|
2 | ||||
|
3 | # Copyright (C) 2011-2019 RhodeCode GmbH | |||
|
4 | # | |||
|
5 | # This program is free software: you can redistribute it and/or modify | |||
|
6 | # it under the terms of the GNU Affero General Public License, version 3 | |||
|
7 | # (only), as published by the Free Software Foundation. | |||
|
8 | # | |||
|
9 | # This program is distributed in the hope that it will be useful, | |||
|
10 | # but WITHOUT ANY WARRANTY; without even the implied warranty of | |||
|
11 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |||
|
12 | # GNU General Public License for more details. | |||
|
13 | # | |||
|
14 | # You should have received a copy of the GNU Affero General Public License | |||
|
15 | # along with this program. If not, see <http://www.gnu.org/licenses/>. | |||
|
16 | # | |||
|
17 | # This program is dual-licensed. If you wish to learn more about the | |||
|
18 | # RhodeCode Enterprise Edition, including its added features, Support services, | |||
|
19 | # and proprietary license terms, please see https://rhodecode.com/licenses/ | |||
|
20 | ||||
|
21 | import logging | |||
|
22 | ||||
|
23 | from pyramid.view import view_config | |||
|
24 | ||||
|
25 | from rhodecode.apps._base import RepoAppView | |||
|
26 | from rhodecode.lib.auth import ( | |||
|
27 | LoginRequired, HasRepoPermissionAnyDecorator) | |||
|
28 | ||||
|
29 | log = logging.getLogger(__name__) | |||
|
30 | ||||
|
31 | ||||
|
32 | class RepoArtifactsView(RepoAppView): | |||
|
33 | ||||
|
34 | def load_default_context(self): | |||
|
35 | c = self._get_local_tmpl_context(include_app_defaults=True) | |||
|
36 | c.rhodecode_repo = self.rhodecode_vcs_repo | |||
|
37 | return c | |||
|
38 | ||||
|
39 | @LoginRequired() | |||
|
40 | @HasRepoPermissionAnyDecorator( | |||
|
41 | 'repository.read', 'repository.write', 'repository.admin') | |||
|
42 | @view_config( | |||
|
43 | route_name='repo_artifacts_list', request_method='GET', | |||
|
44 | renderer='rhodecode:templates/artifacts/artifact_list.mako') | |||
|
45 | def repo_artifacts(self): | |||
|
46 | c = self.load_default_context() | |||
|
47 | c.active = 'artifacts' | |||
|
48 | return self._get_template_context(c) |
@@ -0,0 +1,28 b'' | |||||
|
1 | ## -*- coding: utf-8 -*- | |||
|
2 | <%inherit file="/base/base.mako"/> | |||
|
3 | ||||
|
4 | <%def name="title()"> | |||
|
5 | ${_('{} Artifacts').format(c.repo_name)} | |||
|
6 | %if c.rhodecode_name: | |||
|
7 | · ${h.branding(c.rhodecode_name)} | |||
|
8 | %endif | |||
|
9 | </%def> | |||
|
10 | ||||
|
11 | <%def name="breadcrumbs_links()"></%def> | |||
|
12 | ||||
|
13 | <%def name="menu_bar_nav()"> | |||
|
14 | ${self.menu_items(active='repositories')} | |||
|
15 | </%def> | |||
|
16 | ||||
|
17 | <%def name="menu_bar_subnav()"> | |||
|
18 | ${self.repo_menu(active='artifacts')} | |||
|
19 | </%def> | |||
|
20 | ||||
|
21 | <%def name="main()"> | |||
|
22 | <div class="box"> | |||
|
23 | ||||
|
24 | <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> | |||
|
25 | <img style="width: 100%; height: 100%" src="${h.asset('images/ee_features/repo_artifacts.png')}"/> | |||
|
26 | </div> | |||
|
27 | ||||
|
28 | </%def> |
@@ -312,6 +312,11 b' def includeme(config):' | |||||
312 | pattern='/{repo_name:.*?[^/]}/pull-request/{pull_request_id:\d+}/comment/{comment_id}/delete', |
|
312 | pattern='/{repo_name:.*?[^/]}/pull-request/{pull_request_id:\d+}/comment/{comment_id}/delete', | |
313 | repo_route=True, repo_accepted_types=['hg', 'git']) |
|
313 | repo_route=True, repo_accepted_types=['hg', 'git']) | |
314 |
|
314 | |||
|
315 | # Artifacts, (EE feature) | |||
|
316 | config.add_route( | |||
|
317 | name='repo_artifacts_list', | |||
|
318 | pattern='/{repo_name:.*?[^/]}/artifacts', repo_route=True) | |||
|
319 | ||||
315 | # Settings |
|
320 | # Settings | |
316 | config.add_route( |
|
321 | config.add_route( | |
317 | name='edit_repo', |
|
322 | name='edit_repo', |
@@ -301,6 +301,8 b'' | |||||
301 | </li> |
|
301 | </li> | |
302 | %endif |
|
302 | %endif | |
303 |
|
|
303 | ||
|
304 | <li class="${is_active('artifacts')}"><a class="menulink" href="${h.route_path('repo_artifacts_list',repo_name=c.repo_name)}"><div class="menulabel">${_('Artifacts')}</div></a></li> | |||
|
305 | ||||
304 | %if h.HasRepoPermissionAll('repository.admin')(c.repo_name): |
|
306 | %if h.HasRepoPermissionAll('repository.admin')(c.repo_name): | |
305 | <li class="${is_active('settings')}"><a class="menulink" href="${h.route_path('edit_repo',repo_name=c.repo_name)}"><div class="menulabel">${_('Repository Settings')}</div></a></li> |
|
307 | <li class="${is_active('settings')}"><a class="menulink" href="${h.route_path('edit_repo',repo_name=c.repo_name)}"><div class="menulabel">${_('Repository Settings')}</div></a></li> | |
306 | %endif |
|
308 | %endif |
General Comments 0
You need to be logged in to leave comments.
Login now