##// END OF EJS Templates
repo-groups: make panel titles more consistent
marcink -
r3590:0be41339 new-ui
parent child Browse files
Show More
@@ -1,222 +1,222 b''
1 1 ## -*- coding: utf-8 -*-
2 2 <%inherit file="base.mako"/>
3 3
4 4 <%def name="breadcrumbs_links()">
5 5 %if c.repo:
6 6 ${h.link_to('Settings',h.route_path('edit_repo', repo_name=c.repo.repo_name))}
7 7 %elif c.repo_group:
8 8 ${h.link_to(_('Admin'),h.route_path('admin_home'))}
9 9 &raquo;
10 10 ${h.link_to(_('Repository Groups'),h.route_path('repo_groups'))}
11 11 &raquo;
12 12 ${h.link_to(c.repo_group.group_name,h.route_path('edit_repo_group', repo_group_name=c.repo_group.group_name))}
13 13 %else:
14 14 ${h.link_to(_('Admin'),h.route_path('admin_home'))}
15 15 &raquo;
16 16 ${h.link_to(_('Settings'),h.route_path('admin_settings'))}
17 17 %endif
18 18 %if c.current_IntegrationType:
19 19 &raquo;
20 20 %if c.repo:
21 21 ${h.link_to(_('Integrations'),
22 22 request.route_path(route_name='repo_integrations_home',
23 23 repo_name=c.repo.repo_name))}
24 24 %elif c.repo_group:
25 25 ${h.link_to(_('Integrations'),
26 26 request.route_path(route_name='repo_group_integrations_home',
27 27 repo_group_name=c.repo_group.group_name))}
28 28 %else:
29 29 ${h.link_to(_('Integrations'),
30 30 request.route_path(route_name='global_integrations_home'))}
31 31 %endif
32 32 &raquo;
33 33 ${c.current_IntegrationType.display_name}
34 34 %else:
35 35 &raquo;
36 36 ${_('Integrations')}
37 37 %endif
38 38 </%def>
39 39
40 40 <div class="panel panel-default">
41 41 <div class="panel-heading">
42 42 <h3 class="panel-title">
43 43 %if c.repo:
44 44 ${_('Current Integrations for Repository: {repo_name}').format(repo_name=c.repo.repo_name)}
45 45 %elif c.repo_group:
46 ${_('Current Integrations for repository group: {repo_group_name}').format(repo_group_name=c.repo_group.group_name)}
46 ${_('Repository Group Integrations: {}').format(c.repo_group.group_name)}</h3>
47 47 %else:
48 48 ${_('Current Integrations')}
49 49 %endif
50 50 </h3>
51 51 </div>
52 52 <div class="panel-body">
53 53
54 54 <%
55 55 integration_type = c.current_IntegrationType and c.current_IntegrationType.display_name or ''
56 56
57 57 if c.repo:
58 58 create_url = h.route_path('repo_integrations_new', repo_name=c.repo.repo_name)
59 59 elif c.repo_group:
60 60 create_url = h.route_path('repo_group_integrations_new', repo_group_name=c.repo_group.group_name)
61 61 else:
62 62 create_url = h.route_path('global_integrations_new')
63 63 %>
64 64 <p class="pull-right">
65 65 <a href="${create_url}" class="btn btn-small btn-success">${_(u'Create new integration')}</a>
66 66 </p>
67 67
68 68 <table class="rctable integrations">
69 69 <thead>
70 70 <tr>
71 71 <th><a href="?sort=enabled:${c.rev_sort_dir}">${_('Enabled')}</a></th>
72 72 <th><a href="?sort=name:${c.rev_sort_dir}">${_('Name')}</a></th>
73 73 <th colspan="2"><a href="?sort=integration_type:${c.rev_sort_dir}">${_('Type')}</a></th>
74 74 <th><a href="?sort=scope:${c.rev_sort_dir}">${_('Scope')}</a></th>
75 75 <th>${_('Actions')}</th>
76 76 <th></th>
77 77 </tr>
78 78 </thead>
79 79 <tbody>
80 80 %if not c.integrations_list:
81 81 <tr>
82 82 <td colspan="7">
83 83
84 84 %if c.repo:
85 85 ${_('No {type} integrations for repo {repo} exist yet.').format(type=integration_type, repo=c.repo.repo_name)}
86 86 %elif c.repo_group:
87 87 ${_('No {type} integrations for repogroup {repogroup} exist yet.').format(type=integration_type, repogroup=c.repo_group.group_name)}
88 88 %else:
89 89 ${_('No {type} integrations exist yet.').format(type=integration_type)}
90 90 %endif
91 91
92 92 %if c.current_IntegrationType:
93 93 <%
94 94 if c.repo:
95 95 create_url = h.route_path('repo_integrations_create', repo_name=c.repo.repo_name, integration=c.current_IntegrationType.key)
96 96 elif c.repo_group:
97 97 create_url = h.route_path('repo_group_integrations_create', repo_group_name=c.repo_group.group_name, integration=c.current_IntegrationType.key)
98 98 else:
99 99 create_url = h.route_path('global_integrations_create', integration=c.current_IntegrationType.key)
100 100 %>
101 101 %endif
102 102
103 103 <a href="${create_url}">${_(u'Create one')}</a>
104 104 </td>
105 105 </tr>
106 106 %endif
107 107 %for IntegrationType, integration in c.integrations_list:
108 108 <tr id="integration_${integration.integration_id}">
109 109 <td class="td-enabled">
110 110 %if integration.enabled:
111 111 <div class="flag_status approved pull-left"></div>
112 112 %else:
113 113 <div class="flag_status rejected pull-left"></div>
114 114 %endif
115 115 </td>
116 116 <td class="td-description">
117 117 ${integration.name}
118 118 </td>
119 119 <td class="td-icon">
120 120 %if integration.integration_type in c.available_integrations:
121 121 <div class="integration-icon">
122 122 ${c.available_integrations[integration.integration_type].icon()|n}
123 123 </div>
124 124 %else:
125 125 ?
126 126 %endif
127 127 </td>
128 128 <td class="td-type">
129 129 ${integration.integration_type}
130 130 </td>
131 131 <td class="td-scope">
132 132 %if integration.repo:
133 133 <a href="${h.route_path('repo_summary', repo_name=integration.repo.repo_name)}">
134 134 ${_('repo')}:${integration.repo.repo_name}
135 135 </a>
136 136 %elif integration.repo_group:
137 137 <a href="${h.route_path('repo_group_home', repo_group_name=integration.repo_group.group_name)}">
138 138 ${_('repogroup')}:${integration.repo_group.group_name}
139 139 %if integration.child_repos_only:
140 140 ${_('child repos only')}
141 141 %else:
142 142 ${_('cascade to all')}
143 143 %endif
144 144 </a>
145 145 %else:
146 146 %if integration.child_repos_only:
147 147 ${_('top level repos only')}
148 148 %else:
149 149 ${_('global')}
150 150 %endif
151 151 </td>
152 152 %endif
153 153 <td class="td-action">
154 154 %if not IntegrationType:
155 155 ${_('unknown integration')}
156 156 %else:
157 157 <%
158 158 if c.repo:
159 159 edit_url = request.route_path('repo_integrations_edit',
160 160 repo_name=c.repo.repo_name,
161 161 integration=integration.integration_type,
162 162 integration_id=integration.integration_id)
163 163 elif c.repo_group:
164 164 edit_url = request.route_path('repo_group_integrations_edit',
165 165 repo_group_name=c.repo_group.group_name,
166 166 integration=integration.integration_type,
167 167 integration_id=integration.integration_id)
168 168 else:
169 169 edit_url = request.route_path('global_integrations_edit',
170 170 integration=integration.integration_type,
171 171 integration_id=integration.integration_id)
172 172 %>
173 173 <div class="grid_edit">
174 174 <a href="${edit_url}">${_('Edit')}</a>
175 175 </div>
176 176 <div class="grid_delete">
177 177 <a href="${edit_url}"
178 178 class="btn btn-link btn-danger delete_integration_entry"
179 179 data-desc="${integration.name}"
180 180 data-uid="${integration.integration_id}">
181 181 ${_('Delete')}
182 182 </a>
183 183 </div>
184 184 %endif
185 185 </td>
186 186 </tr>
187 187 %endfor
188 188 <tr id="last-row"></tr>
189 189 </tbody>
190 190 </table>
191 191 <div class="integrations-paginator">
192 192 <div class="pagination-wh pagination-left">
193 193 ${c.integrations_list.pager('$link_previous ~2~ $link_next')}
194 194 </div>
195 195 </div>
196 196 </div>
197 197 </div>
198 198 <script type="text/javascript">
199 199 var delete_integration = function(entry) {
200 200 if (confirm("Confirm to remove this integration: "+$(entry).data('desc'))) {
201 201 var request = $.ajax({
202 202 type: "POST",
203 203 url: $(entry).attr('href'),
204 204 data: {
205 205 'delete': 'delete',
206 206 'csrf_token': CSRF_TOKEN
207 207 },
208 208 success: function(){
209 209 location.reload();
210 210 },
211 211 error: function(data, textStatus, errorThrown){
212 212 alert("Error while deleting entry.\nError code {0} ({1}). URL: {2}".format(data.status,data.statusText,$(entry)[0].url));
213 213 }
214 214 });
215 215 };
216 216 };
217 217
218 218 $('.delete_integration_entry').on('click', function(e){
219 219 e.preventDefault();
220 220 delete_integration(this);
221 221 });
222 222 </script> No newline at end of file
@@ -1,65 +1,65 b''
1 1 <%namespace name="base" file="/base/base.mako"/>
2 2
3 3 <%
4 4 elems = [
5 5 (_('Repository Group ID'), c.repo_group.group_id, '', ''),
6 6 (_('Owner'), lambda:base.gravatar_with_user(c.repo_group.user.email), '', ''),
7 7 (_('Created on'), h.format_date(c.repo_group.created_on), '', ''),
8 8 (_('Is Personal Group'), c.repo_group.personal or False, '', ''),
9 9
10 10 (_('Total repositories'), c.repo_group.repositories_recursive_count, '', ''),
11 11 (_('Top level repositories'), c.repo_group.repositories.count(), '', c.repo_group.repositories.all()),
12 12
13 13 (_('Children groups'), c.repo_group.children.count(), '', c.repo_group.children.all()),
14 14 ]
15 15 %>
16 16
17 17 <div class="panel panel-default">
18 18 <div class="panel-heading">
19 <h3 class="panel-title">${_('Repository Group: %s') % c.repo_group.group_name}</h3>
19 <h3 class="panel-title">${_('Repository Group Advanced: {}').format(c.repo_group.name)}</h3>
20 20 </div>
21 21 <div class="panel-body">
22 22 ${base.dt_info_panel(elems)}
23 23 </div>
24 24
25 25 </div>
26 26
27 27 <div class="panel panel-danger">
28 28 <div class="panel-heading">
29 29 <h3 class="panel-title">${_('Delete repository group')}</h3>
30 30 </div>
31 31 <div class="panel-body">
32 32 ${h.secure_form(h.route_path('edit_repo_group_advanced_delete', repo_group_name=c.repo_group.group_name), request=request)}
33 33 <table class="display">
34 34
35 35 <tr>
36 36 <td>
37 37 ${_ungettext('This repository group includes %s children repository group.', 'This repository group includes %s children repository groups.', c.repo_group.children.count()) % c.repo_group.children.count()}
38 38 </td>
39 39 <td>
40 40 </td>
41 41 <td>
42 42 </td>
43 43 </tr>
44 44 <tr>
45 45 <td>
46 46 ${_ungettext('This repository group includes %s repository.', 'This repository group includes %s repositories.', c.repo_group.repositories_recursive_count) % c.repo_group.repositories_recursive_count}
47 47 </td>
48 48 <td>
49 49 </td>
50 50 <td>
51 51 </td>
52 52 </tr>
53 53
54 54 </table>
55 55 <div style="margin: 0 0 20px 0" class="fake-space"></div>
56 56
57 57 <button class="btn btn-small btn-danger" type="submit"
58 58 onclick="return confirm('${_('Confirm to delete this group: %s') % (c.repo_group.group_name)}');">
59 59 ${_('Delete this repository group')}
60 60 </button>
61 61 ${h.end_form()}
62 62 </div>
63 63 </div>
64 64
65 65
@@ -1,219 +1,219 b''
1 1 <%namespace name="base" file="/base/base.mako"/>
2 2
3 3 <div class="panel panel-default">
4 4 <div class="panel-heading">
5 <h3 class="panel-title">${_('Repository Group Permissions')}</h3>
5 <h3 class="panel-title">${_('Repository Group Permissions: {}').format(c.repo_group.name)}</h3>
6 6 </div>
7 7 <div class="panel-body">
8 8 ${h.secure_form(h.route_path('edit_repo_group_perms_update', repo_group_name=c.repo_group.group_name), request=request)}
9 9 <table id="permissions_manage" class="rctable permissions">
10 10 <tr>
11 11 <th class="td-radio">${_('None')}</th>
12 12 <th class="td-radio">${_('Read')}</th>
13 13 <th class="td-radio">${_('Write')}</th>
14 14 <th class="td-radio">${_('Admin')}</th>
15 15 <th class="td-owner">${_('User/User Group')}</th>
16 16 <th class="td-action"></th>
17 17 <th class="td-action"></th>
18 18 </tr>
19 19 ## USERS
20 20 %for _user in c.repo_group.permissions():
21 21 ## super admin/owner row
22 22 %if getattr(_user, 'admin_row', None) or getattr(_user, 'owner_row', None):
23 23 <tr class="perm_admin_row">
24 24 <td class="td-radio">${h.radio('admin_perm_%s' % _user.user_id,'repository.none', disabled="disabled")}</td>
25 25 <td class="td-radio">${h.radio('admin_perm_%s' % _user.user_id,'repository.read', disabled="disabled")}</td>
26 26 <td class="td-radio">${h.radio('admin_perm_%s' % _user.user_id,'repository.write', disabled="disabled")}</td>
27 27 <td class="td-radio">${h.radio('admin_perm_%s' % _user.user_id,'repository.admin', 'repository.admin', disabled="disabled")}</td>
28 28 <td class="td-user">
29 29 ${base.gravatar(_user.email, 16)}
30 30 ${h.link_to_user(_user.username)}
31 31 %if getattr(_user, 'admin_row', None):
32 32 (${_('super admin')})
33 33 %endif
34 34 %if getattr(_user, 'owner_row', None):
35 35 (${_('owner')})
36 36 %endif
37 37 </td>
38 38 <td></td>
39 39 <td class="quick_repo_menu">
40 40 % if c.rhodecode_user.is_admin:
41 41 <i class="icon-more"></i>
42 42 <div class="menu_items_container" style="display: none;">
43 43 <ul class="menu_items">
44 44 <li>
45 45 ${h.link_to('show permissions', h.route_path('edit_user_perms_summary', user_id=_user.user_id, _anchor='repositories-groups-permissions'))}
46 46 </li>
47 47 </ul>
48 48 </div>
49 49 % endif
50 50 </td>
51 51 </tr>
52 52 %else:
53 53 <tr>
54 54 ##forbid revoking permission from yourself, except if you're an super admin
55 55 %if c.rhodecode_user.user_id != _user.user_id or c.rhodecode_user.is_admin:
56 56 <td class="td-radio">${h.radio('u_perm_%s' % _user.user_id,'group.none', checked=_user.permission=='group.none')}</td>
57 57 <td class="td-radio">${h.radio('u_perm_%s' % _user.user_id,'group.read', checked=_user.permission=='group.read')}</td>
58 58 <td class="td-radio">${h.radio('u_perm_%s' % _user.user_id,'group.write', checked=_user.permission=='group.write')}</td>
59 59 <td class="td-radio">${h.radio('u_perm_%s' % _user.user_id,'group.admin', checked=_user.permission=='group.admin')}</td>
60 60 <td class="td-user">
61 61 ${base.gravatar(_user.email, 16)}
62 62 <span class="user">
63 63 % if _user.username == h.DEFAULT_USER:
64 64 ${h.DEFAULT_USER} <span class="user-perm-help-text"> - ${_('permission for all other users')}</span>
65 65 % else:
66 66 ${h.link_to_user(_user.username)}
67 67 %if getattr(_user, 'duplicate_perm', None):
68 68 (${_('inactive duplicate')})
69 69 %endif
70 70 % endif
71 71 </span>
72 72 </td>
73 73 <td class="td-action">
74 74 %if _user.username != h.DEFAULT_USER:
75 75 <span class="btn btn-link btn-danger revoke_perm"
76 76 member="${_user.user_id}" member_type="user">
77 77 ${_('Remove')}
78 78 </span>
79 79 %endif
80 80 </td>
81 81 <td class="quick_repo_menu">
82 82 % if c.rhodecode_user.is_admin:
83 83 <i class="icon-more"></i>
84 84 <div class="menu_items_container" style="display: none;">
85 85 <ul class="menu_items">
86 86 <li>
87 87 % if _user.username == h.DEFAULT_USER:
88 88 ${h.link_to('show permissions', h.route_path('admin_permissions_overview', _anchor='repositories-groups-permissions'))}
89 89 % else:
90 90 ${h.link_to('show permissions', h.route_path('edit_user_perms_summary', user_id=_user.user_id, _anchor='repositories-groups-permissions'))}
91 91 % endif
92 92 </li>
93 93 </ul>
94 94 </div>
95 95 % endif
96 96 </td>
97 97 %else:
98 98 ## special case for currently logged-in user permissions, we make sure he cannot take his own permissions
99 99 <td class="td-radio">${h.radio('u_perm_%s' % _user.user_id,'group.none', disabled="disabled")}</td>
100 100 <td class="td-radio">${h.radio('u_perm_%s' % _user.user_id,'group.read', disabled="disabled")}</td>
101 101 <td class="td-radio">${h.radio('u_perm_%s' % _user.user_id,'group.write', disabled="disabled")}</td>
102 102 <td class="td-radio">${h.radio('u_perm_%s' % _user.user_id,'group.admin', disabled="disabled")}</td>
103 103 <td class="td-user">
104 104 ${base.gravatar(_user.email, 16)}
105 105 <span class="user">
106 106 % if _user.username == h.DEFAULT_USER:
107 107 ${h.DEFAULT_USER} <span class="user-perm-help-text"> - ${_('permission for all other users')}</span>
108 108 % else:
109 109 ${h.link_to_user(_user.username)}
110 110 %if getattr(_user, 'duplicate_perm', None):
111 111 (${_('inactive duplicate')})
112 112 %endif
113 113 % endif
114 114 <span class="user-perm-help-text">(${_('delegated admin')})</span>
115 115 </span>
116 116 </td>
117 117 <td></td>
118 118 <td class="quick_repo_menu">
119 119 % if c.rhodecode_user.is_admin:
120 120 <i class="icon-more"></i>
121 121 <div class="menu_items_container" style="display: none;">
122 122 <ul class="menu_items">
123 123 <li>
124 124 ${h.link_to('show permissions', h.route_path('edit_user_perms_summary', user_id=_user.user_id, _anchor='repositories-groups-permissions'))}
125 125 </li>
126 126 </ul>
127 127 </div>
128 128 % endif
129 129 </td>
130 130 %endif
131 131 </tr>
132 132 %endif
133 133 %endfor
134 134
135 135 ## USER GROUPS
136 136 %for _user_group in c.repo_group.permission_user_groups(with_members=True):
137 137 <tr id="id${id(_user_group.users_group_name)}">
138 138 <td class="td-radio">${h.radio('g_perm_%s' % _user_group.users_group_id,'group.none', checked=_user_group.permission=='group.none')}</td>
139 139 <td class="td-radio">${h.radio('g_perm_%s' % _user_group.users_group_id,'group.read', checked=_user_group.permission=='group.read')}</td>
140 140 <td class="td-radio">${h.radio('g_perm_%s' % _user_group.users_group_id,'group.write', checked=_user_group.permission=='group.write')}</td>
141 141 <td class="td-radio">${h.radio('g_perm_%s' % _user_group.users_group_id,'group.admin', checked=_user_group.permission=='group.admin')}</td>
142 142 <td class="td-componentname">
143 143 <i class="icon-user-group"></i>
144 144 %if c.is_super_admin:
145 145 <a href="${h.route_path('edit_user_group',user_group_id=_user_group.users_group_id)}">
146 146 ${_user_group.users_group_name}
147 147 </a>
148 148 %else:
149 149 ${h.link_to_group(_user_group.users_group_name)}
150 150 %endif
151 151 (${_('members')}: ${len(_user_group.members)})
152 152 </td>
153 153 <td class="td-action">
154 154 <span class="btn btn-link btn-danger revoke_perm"
155 155 member="${_user_group.users_group_id}" member_type="user_group">
156 156 ${_('Remove')}
157 157 </span>
158 158 </td>
159 159 <td class="quick_repo_menu">
160 160 % if c.rhodecode_user.is_admin:
161 161 <i class="icon-more"></i>
162 162 <div class="menu_items_container" style="display: none;">
163 163 <ul class="menu_items">
164 164 <li>
165 165 ${h.link_to('show permissions', h.route_path('edit_user_group_perms_summary', user_group_id=_user_group.users_group_id, _anchor='repositories-groups-permissions'))}
166 166 </li>
167 167 </ul>
168 168 </div>
169 169 % endif
170 170 </td>
171 171 </tr>
172 172 %endfor
173 173
174 174 <tr class="new_members" id="add_perm_input"></tr>
175 175 <tr>
176 176 <td></td>
177 177 <td></td>
178 178 <td></td>
179 179 <td></td>
180 180 <td></td>
181 181 <td>
182 182 <span id="add_perm" class="link">
183 183 ${_('Add user/user group')}
184 184 </span>
185 185 </td>
186 186 <td></td>
187 187 </tr>
188 188 </table>
189 189
190 190 <div class="fields">
191 191 <div class="field">
192 192 <div class="label label-radio">
193 193 ${_('Apply to children')}:
194 194 </div>
195 195 <div class="radios">
196 196 ${h.radio('recursive', 'none', label=_('None'), checked="checked")}
197 197 ${h.radio('recursive', 'groups', label=_('Repository Groups'))}
198 198 ${h.radio('recursive', 'repos', label=_('Repositories'))}
199 199 ${h.radio('recursive', 'all', label=_('Both'))}
200 200 <span class="help-block">${_('Set or revoke permissions to selected types of children of this group, including non-private repositories and other groups if chosen.')}</span>
201 201 </div>
202 202 </div>
203 203 </div>
204 204 <div class="buttons">
205 205 ${h.submit('save',_('Save'),class_="btn btn-primary")}
206 206 ${h.reset('reset',_('Reset'),class_="btn btn-danger")}
207 207 </div>
208 208 ${h.end_form()}
209 209 </div>
210 210 </div>
211 211 <script type="text/javascript">
212 212 $('#add_perm').on('click', function(e){
213 213 addNewPermInput($(this), 'group');
214 214 });
215 215 $('.revoke_perm').on('click', function(e){
216 216 markRevokePermInput($(this), 'group');
217 217 });
218 218 quick_repo_menu();
219 219 </script>
@@ -1,95 +1,95 b''
1 1 ## -*- coding: utf-8 -*-
2 2 <%namespace name="base" file="/base/base.mako"/>
3 3
4 4 <div class="panel panel-default">
5 5 <div class="panel-heading">
6 <h3 class="panel-title">${_('Settings for Repository Group: %s') % c.repo_group.name}</h3>
6 <h3 class="panel-title">${_('Repository Group Settings: {}').format(c.repo_group.name)}</h3>
7 7 </div>
8 8 <div class="panel-body">
9 9 ${h.secure_form(h.route_path('edit_repo_group', repo_group_name=c.repo_group.group_name), request=request)}
10 10 <div class="form">
11 11 <!-- fields -->
12 12 <div class="fields">
13 13 <div class="field">
14 14 <div class="label">
15 15 <label for="group_name">${_('Group name')}:</label>
16 16 </div>
17 17 <div class="input">
18 18 ${c.form['repo_group_name'].render(css_class='medium', oid='group_name')|n}
19 19 ${c.form.render_error(request, c.form['repo_group_name'])|n}
20 20 </div>
21 21 </div>
22 22
23 23 <div class="field">
24 24 <div class="label">
25 25 <label for="repo_group">${_('Repository group')}:</label>
26 26 </div>
27 27 <div class="select">
28 28 ${c.form['repo_group'].render(css_class='medium', oid='repo_group')|n}
29 29 ${c.form.render_error(request, c.form['repo_group'])|n}
30 30
31 31 <p class="help-block">${_('Optional select a parent group to move this repository group into.')}</p>
32 32 </div>
33 33 </div>
34 34
35 35 <div class="field badged-field">
36 36 <div class="label">
37 37 <label for="repo_group_owner">${_('Owner')}:</label>
38 38 </div>
39 39 <div class="input">
40 40 <div class="badge-input-container">
41 41 <div class="user-badge">
42 42 ${base.gravatar_with_user(c.repo_group.user.email, show_disabled=not c.repo_group.user.active)}
43 43 </div>
44 44 <div class="badge-input-wrap">
45 45 ${c.form['repo_group_owner'].render(css_class='medium', oid='repo_group_owner')|n}
46 46 </div>
47 47 </div>
48 48 ${c.form.render_error(request, c.form['repo_group_owner'])|n}
49 49 <p class="help-block">${_('Change owner of this repository group.')}</p>
50 50 </div>
51 51 </div>
52 52
53 53 <div class="field">
54 54 <div class="label label-textarea">
55 55 <label for="repo_group_description">${_('Description')}:</label>
56 56 </div>
57 57 <div class="textarea text-area editor">
58 58 ${c.form['repo_group_description'].render(css_class='medium', oid='repo_group_description')|n}
59 59 ${c.form.render_error(request, c.form['repo_group_description'])|n}
60 60
61 61 <% metatags_url = h.literal('''<a href="#metatagsShow" onclick="$('#meta-tags-desc').toggle();return false">meta-tags</a>''') %>
62 62 <span class="help-block">${_('Plain text format with support of {metatags}').format(metatags=metatags_url)|n}</span>
63 63 <span id="meta-tags-desc" style="display: none">
64 64 <%namespace name="dt" file="/data_table/_dt_elements.mako"/>
65 65 ${dt.metatags_help()}
66 66 </span>
67 67 </div>
68 68 </div>
69 69
70 70 <div class="field">
71 71 <div class="label label-checkbox">
72 72 <label for="repo_group_enable_locking">${_('Enable Repository Locking')}:</label>
73 73 </div>
74 74 <div class="checkboxes">
75 75 ${c.form['repo_group_enable_locking'].render(css_class='medium', oid='repo_group_enable_locking')|n}
76 76 ${c.form.render_error(request, c.form['repo_group_enable_locking'])|n}
77 77
78 78 <span class="help-block">${_('Repository locking will be enabled on all subgroups and repositories inside this repository group. Pulling from a repository locks it, and it is unlocked by pushing back by the same user.')}</span>
79 79 </div>
80 80 </div>
81 81
82 82 <div class="buttons">
83 83 ${h.submit('save',_('Save'),class_="btn")}
84 84 ${h.reset('reset',_('Reset'),class_="btn")}
85 85 </div>
86 86 </div>
87 87 </div>
88 88 ${h.end_form()}
89 89 </div>
90 90 </div>
91 91 <script>
92 92 $(document).ready(function(){
93 93 UsersAutoComplete('repo_group_owner', '${c.rhodecode_user.user_id}');
94 94 })
95 95 </script>
General Comments 0
You need to be logged in to leave comments. Login now