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 | 312 | pattern='/{repo_name:.*?[^/]}/pull-request/{pull_request_id:\d+}/comment/{comment_id}/delete', |
|
313 | 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 | 320 | # Settings |
|
316 | 321 | config.add_route( |
|
317 | 322 | name='edit_repo', |
@@ -301,6 +301,8 b'' | |||
|
301 | 301 | </li> |
|
302 | 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 | 306 | %if h.HasRepoPermissionAll('repository.admin')(c.repo_name): |
|
305 | 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 | 308 | %endif |
General Comments 0
You need to be logged in to leave comments.
Login now