* added scopes on integrations, scopes are:
- repo only
- repogroup children only
- root repos only
- global (any repo)
* integrations schemas now have separate section for the
settings (eg. slack) and options (eg. scope/enabled)
* added descriptions to integration types
* added icons to integration types
* added 'create new' integration page
* added scope of integration to integrations list
* added breadcrumbs for each repo/repogroup/global integrations pages
* added sorting to integrations list
* added pagination to integrations list
* added icons to integrations list
* added type filter to integrations list
* added message to integrations list if none we found
* added extra permissions check on integrations views
* db migration from 56 => 57 - adds child_repos_only field
* added tests for integrations triggered on events
* added tests for integrations schemas
* added tests for integrations views for repo/repogroup/admin
69 lines
2.3 KiB
HTML
69 lines
2.3 KiB
HTML
## -*- coding: utf-8 -*-
|
|
<%inherit file="base.html"/>
|
|
|
|
<%def name="breadcrumbs_links()">
|
|
%if c.repo:
|
|
${h.link_to('Settings',h.url('edit_repo', repo_name=c.repo.repo_name))}
|
|
»
|
|
${h.link_to(_('Integrations'),request.route_url(route_name='repo_integrations_home', repo_name=c.repo.repo_name))}
|
|
»
|
|
${h.link_to(current_IntegrationType.display_name,
|
|
request.route_url(route_name='repo_integrations_list',
|
|
repo_name=c.repo.repo_name,
|
|
integration=current_IntegrationType.key))}
|
|
%elif c.repo_group:
|
|
${h.link_to(_('Admin'),h.url('admin_home'))}
|
|
»
|
|
${h.link_to(_('Repository Groups'),h.url('repo_groups'))}
|
|
»
|
|
${h.link_to(c.repo_group.group_name,h.url('edit_repo_group', group_name=c.repo_group.group_name))}
|
|
»
|
|
${h.link_to(_('Integrations'),request.route_url(route_name='repo_group_integrations_home', repo_group_name=c.repo_group.group_name))}
|
|
»
|
|
${h.link_to(current_IntegrationType.display_name,
|
|
request.route_url(route_name='repo_group_integrations_list',
|
|
repo_group_name=c.repo_group.group_name,
|
|
integration=current_IntegrationType.key))}
|
|
%else:
|
|
${h.link_to(_('Admin'),h.url('admin_home'))}
|
|
»
|
|
${h.link_to(_('Settings'),h.url('admin_settings'))}
|
|
»
|
|
${h.link_to(_('Integrations'),request.route_url(route_name='global_integrations_home'))}
|
|
»
|
|
${h.link_to(current_IntegrationType.display_name,
|
|
request.route_url(route_name='global_integrations_list',
|
|
integration=current_IntegrationType.key))}
|
|
%endif
|
|
|
|
%if integration:
|
|
»
|
|
${integration.name}
|
|
%elif current_IntegrationType:
|
|
»
|
|
${current_IntegrationType.display_name}
|
|
%endif
|
|
</%def>
|
|
|
|
<style>
|
|
.control-inputs.item-options, .control-inputs.item-settings {
|
|
float: left;
|
|
width: 100%;
|
|
}
|
|
</style>
|
|
<div class="panel panel-default">
|
|
<div class="panel-heading">
|
|
<h2 class="panel-title">
|
|
%if integration:
|
|
${current_IntegrationType.display_name} - ${integration.name}
|
|
%else:
|
|
${_('Create New %(integration_type)s Integration') % {
|
|
'integration_type': current_IntegrationType.display_name
|
|
}}
|
|
%endif
|
|
</h2>
|
|
</div>
|
|
<div class="panel-body">
|
|
${form.render() | n}
|
|
</div>
|
|
</div>
|