##// END OF EJS Templates
user edit: fix labels
Mads Kiilerich -
r3409:3c8d8725 beta
parent child Browse files
Show More
@@ -1,340 +1,340 b''
1 ## -*- coding: utf-8 -*-
1 ## -*- coding: utf-8 -*-
2 <%inherit file="/base/base.html"/>
2 <%inherit file="/base/base.html"/>
3
3
4 <%def name="title()">
4 <%def name="title()">
5 ${_('Edit user')} ${c.user.username} - ${c.rhodecode_name}
5 ${_('Edit user')} ${c.user.username} - ${c.rhodecode_name}
6 </%def>
6 </%def>
7
7
8 <%def name="breadcrumbs_links()">
8 <%def name="breadcrumbs_links()">
9 ${h.link_to(_('Admin'),h.url('admin_home'))}
9 ${h.link_to(_('Admin'),h.url('admin_home'))}
10 &raquo;
10 &raquo;
11 ${h.link_to(_('Users'),h.url('users'))}
11 ${h.link_to(_('Users'),h.url('users'))}
12 &raquo;
12 &raquo;
13 ${_('edit')} "${c.user.username}"
13 ${_('edit')} "${c.user.username}"
14 </%def>
14 </%def>
15
15
16 <%def name="page_nav()">
16 <%def name="page_nav()">
17 ${self.menu('admin')}
17 ${self.menu('admin')}
18 </%def>
18 </%def>
19
19
20 <%def name="main()">
20 <%def name="main()">
21 <div class="box box-left">
21 <div class="box box-left">
22 <!-- box / title -->
22 <!-- box / title -->
23 <div class="title">
23 <div class="title">
24 ${self.breadcrumbs()}
24 ${self.breadcrumbs()}
25 </div>
25 </div>
26 <!-- end box / title -->
26 <!-- end box / title -->
27 ${h.form(url('update_user', id=c.user.user_id),method='put')}
27 ${h.form(url('update_user', id=c.user.user_id),method='put')}
28 <div class="form">
28 <div class="form">
29 <div class="field">
29 <div class="field">
30 <div class="gravatar_box">
30 <div class="gravatar_box">
31 <div class="gravatar"><img alt="gravatar" src="${h.gravatar_url(c.user.email)}"/></div>
31 <div class="gravatar"><img alt="gravatar" src="${h.gravatar_url(c.user.email)}"/></div>
32 <p>
32 <p>
33 %if c.use_gravatar:
33 %if c.use_gravatar:
34 <strong>${_('Change your avatar at')} <a href="http://gravatar.com">gravatar.com</a></strong>
34 <strong>${_('Change your avatar at')} <a href="http://gravatar.com">gravatar.com</a></strong>
35 <br/>${_('Using')} ${c.user.email}
35 <br/>${_('Using')} ${c.user.email}
36 %else:
36 %else:
37 <br/>${c.user.email}
37 <br/>${c.user.email}
38 %endif
38 %endif
39 </div>
39 </div>
40 </div>
40 </div>
41 <div class="field">
41 <div class="field">
42 <div class="label">
42 <div class="label">
43 <label>${_('API key')}</label> ${c.user.api_key}
43 <label>${_('API key')}:</label> ${c.user.api_key}
44 </div>
44 </div>
45 </div>
45 </div>
46 <div class="field">
46 <div class="field">
47 <div class="label">
47 <div class="label">
48 <label>${_('Your IP')}</label> ${c.perm_user.ip_addr or "?"}
48 <label>${_('Current IP')}:</label> ${c.perm_user.ip_addr or "?"}
49 </div>
49 </div>
50 </div>
50 </div>
51 <div class="fields">
51 <div class="fields">
52 <div class="field">
52 <div class="field">
53 <div class="label">
53 <div class="label">
54 <label for="username">${_('Username')}:</label>
54 <label for="username">${_('Username')}:</label>
55 </div>
55 </div>
56 <div class="input">
56 <div class="input">
57 %if c.ldap_dn:
57 %if c.ldap_dn:
58 ${h.text('username',class_='medium disabled', readonly="readonly")}
58 ${h.text('username',class_='medium disabled', readonly="readonly")}
59 %else:
59 %else:
60 ${h.text('username',class_='medium')}
60 ${h.text('username',class_='medium')}
61 %endif:
61 %endif:
62 </div>
62 </div>
63 </div>
63 </div>
64
64
65 <div class="field">
65 <div class="field">
66 <div class="label">
66 <div class="label">
67 <label for="ldap_dn">${_('LDAP DN')}:</label>
67 <label for="ldap_dn">${_('LDAP DN')}:</label>
68 </div>
68 </div>
69 <div class="input">
69 <div class="input">
70 ${h.text('ldap_dn',class_='medium disabled',readonly="readonly")}
70 ${h.text('ldap_dn',class_='medium disabled',readonly="readonly")}
71 </div>
71 </div>
72 </div>
72 </div>
73
73
74 <div class="field">
74 <div class="field">
75 <div class="label">
75 <div class="label">
76 <label for="new_password">${_('New password')}:</label>
76 <label for="new_password">${_('New password')}:</label>
77 </div>
77 </div>
78 <div class="input">
78 <div class="input">
79 ${h.password('new_password',class_='medium',autocomplete="off")}
79 ${h.password('new_password',class_='medium',autocomplete="off")}
80 </div>
80 </div>
81 </div>
81 </div>
82
82
83 <div class="field">
83 <div class="field">
84 <div class="label">
84 <div class="label">
85 <label for="password_confirmation">${_('New password confirmation')}:</label>
85 <label for="password_confirmation">${_('New password confirmation')}:</label>
86 </div>
86 </div>
87 <div class="input">
87 <div class="input">
88 ${h.password('password_confirmation',class_="medium",autocomplete="off")}
88 ${h.password('password_confirmation',class_="medium",autocomplete="off")}
89 </div>
89 </div>
90 </div>
90 </div>
91
91
92 <div class="field">
92 <div class="field">
93 <div class="label">
93 <div class="label">
94 <label for="firstname">${_('First Name')}:</label>
94 <label for="firstname">${_('First Name')}:</label>
95 </div>
95 </div>
96 <div class="input">
96 <div class="input">
97 ${h.text('firstname',class_='medium')}
97 ${h.text('firstname',class_='medium')}
98 </div>
98 </div>
99 </div>
99 </div>
100
100
101 <div class="field">
101 <div class="field">
102 <div class="label">
102 <div class="label">
103 <label for="lastname">${_('Last Name')}:</label>
103 <label for="lastname">${_('Last Name')}:</label>
104 </div>
104 </div>
105 <div class="input">
105 <div class="input">
106 ${h.text('lastname',class_='medium')}
106 ${h.text('lastname',class_='medium')}
107 </div>
107 </div>
108 </div>
108 </div>
109
109
110 <div class="field">
110 <div class="field">
111 <div class="label">
111 <div class="label">
112 <label for="email">${_('Email')}:</label>
112 <label for="email">${_('Email')}:</label>
113 </div>
113 </div>
114 <div class="input">
114 <div class="input">
115 ${h.text('email',class_='medium')}
115 ${h.text('email',class_='medium')}
116 </div>
116 </div>
117 </div>
117 </div>
118
118
119 <div class="field">
119 <div class="field">
120 <div class="label label-checkbox">
120 <div class="label label-checkbox">
121 <label for="active">${_('Active')}:</label>
121 <label for="active">${_('Active')}:</label>
122 </div>
122 </div>
123 <div class="checkboxes">
123 <div class="checkboxes">
124 ${h.checkbox('active',value=True)}
124 ${h.checkbox('active',value=True)}
125 </div>
125 </div>
126 </div>
126 </div>
127
127
128 <div class="field">
128 <div class="field">
129 <div class="label label-checkbox">
129 <div class="label label-checkbox">
130 <label for="admin">${_('Admin')}:</label>
130 <label for="admin">${_('Admin')}:</label>
131 </div>
131 </div>
132 <div class="checkboxes">
132 <div class="checkboxes">
133 ${h.checkbox('admin',value=True)}
133 ${h.checkbox('admin',value=True)}
134 </div>
134 </div>
135 </div>
135 </div>
136 <div class="buttons">
136 <div class="buttons">
137 ${h.submit('save',_('Save'),class_="ui-btn large")}
137 ${h.submit('save',_('Save'),class_="ui-btn large")}
138 ${h.reset('reset',_('Reset'),class_="ui-btn large")}
138 ${h.reset('reset',_('Reset'),class_="ui-btn large")}
139 </div>
139 </div>
140 </div>
140 </div>
141 </div>
141 </div>
142 ${h.end_form()}
142 ${h.end_form()}
143 </div>
143 </div>
144 <div style="min-height:780px" class="box box-right">
144 <div style="min-height:780px" class="box box-right">
145 <!-- box / title -->
145 <!-- box / title -->
146 <div class="title">
146 <div class="title">
147 <h5>${_('Permissions')}</h5>
147 <h5>${_('Permissions')}</h5>
148 </div>
148 </div>
149 ${h.form(url('user_perm', id=c.user.user_id),method='put')}
149 ${h.form(url('user_perm', id=c.user.user_id),method='put')}
150 <div class="form">
150 <div class="form">
151 <!-- fields -->
151 <!-- fields -->
152 <div class="fields">
152 <div class="fields">
153 <div class="field">
153 <div class="field">
154 <div class="label label-checkbox">
154 <div class="label label-checkbox">
155 <label for="inherit_permissions">${_('Inherit default permissions')}:</label>
155 <label for="inherit_permissions">${_('Inherit default permissions')}:</label>
156 </div>
156 </div>
157 <div class="checkboxes">
157 <div class="checkboxes">
158 ${h.checkbox('inherit_default_permissions',value=True)}
158 ${h.checkbox('inherit_default_permissions',value=True)}
159 </div>
159 </div>
160 <span class="help-block">${h.literal(_('Select to inherit permissions from %s settings. '
160 <span class="help-block">${h.literal(_('Select to inherit permissions from %s settings. '
161 'With this selected below options does not have any action') % h.link_to('default', url('edit_permission', id='default')))}</span>
161 'With this selected below options does not have any action') % h.link_to('default', url('edit_permission', id='default')))}</span>
162 </div>
162 </div>
163 <div id="inherit_overlay" style="${'opacity:0.3' if c.user.inherit_default_permissions else ''}" >
163 <div id="inherit_overlay" style="${'opacity:0.3' if c.user.inherit_default_permissions else ''}" >
164 <div class="field">
164 <div class="field">
165 <div class="label label-checkbox">
165 <div class="label label-checkbox">
166 <label for="create_repo_perm">${_('Create repositories')}:</label>
166 <label for="create_repo_perm">${_('Create repositories')}:</label>
167 </div>
167 </div>
168 <div class="checkboxes">
168 <div class="checkboxes">
169 ${h.checkbox('create_repo_perm',value=True)}
169 ${h.checkbox('create_repo_perm',value=True)}
170 </div>
170 </div>
171 </div>
171 </div>
172 <div class="field">
172 <div class="field">
173 <div class="label label-checkbox">
173 <div class="label label-checkbox">
174 <label for="fork_repo_perm">${_('Fork repositories')}:</label>
174 <label for="fork_repo_perm">${_('Fork repositories')}:</label>
175 </div>
175 </div>
176 <div class="checkboxes">
176 <div class="checkboxes">
177 ${h.checkbox('fork_repo_perm',value=True)}
177 ${h.checkbox('fork_repo_perm',value=True)}
178 </div>
178 </div>
179 </div>
179 </div>
180 </div>
180 </div>
181 <div class="buttons">
181 <div class="buttons">
182 ${h.submit('save',_('Save'),class_="ui-btn large")}
182 ${h.submit('save',_('Save'),class_="ui-btn large")}
183 ${h.reset('reset',_('Reset'),class_="ui-btn large")}
183 ${h.reset('reset',_('Reset'),class_="ui-btn large")}
184 </div>
184 </div>
185 </div>
185 </div>
186 </div>
186 </div>
187 ${h.end_form()}
187 ${h.end_form()}
188
188
189 ## permissions overview
189 ## permissions overview
190 <div id="perms" class="table">
190 <div id="perms" class="table">
191 %for section in sorted(c.perm_user.permissions.keys()):
191 %for section in sorted(c.perm_user.permissions.keys()):
192 <div class="perms_section_head">${section.replace("_"," ").capitalize()}</div>
192 <div class="perms_section_head">${section.replace("_"," ").capitalize()}</div>
193 %if not c.perm_user.permissions[section]:
193 %if not c.perm_user.permissions[section]:
194 <span class="empty_data">${_('Nothing here yet')}</span>
194 <span class="empty_data">${_('Nothing here yet')}</span>
195 %else:
195 %else:
196 <div id='tbl_list_wrap_${section}' class="yui-skin-sam">
196 <div id='tbl_list_wrap_${section}' class="yui-skin-sam">
197 <table id="tbl_list_${section}">
197 <table id="tbl_list_${section}">
198 <thead>
198 <thead>
199 <tr>
199 <tr>
200 <th class="left">${_('Name')}</th>
200 <th class="left">${_('Name')}</th>
201 <th class="left">${_('Permission')}</th>
201 <th class="left">${_('Permission')}</th>
202 <th class="left">${_('Edit Permission')}</th>
202 <th class="left">${_('Edit Permission')}</th>
203 </thead>
203 </thead>
204 <tbody>
204 <tbody>
205 %for k in c.perm_user.permissions[section]:
205 %for k in c.perm_user.permissions[section]:
206 <%
206 <%
207 if section != 'global':
207 if section != 'global':
208 section_perm = c.perm_user.permissions[section].get(k)
208 section_perm = c.perm_user.permissions[section].get(k)
209 _perm = section_perm.split('.')[-1]
209 _perm = section_perm.split('.')[-1]
210 else:
210 else:
211 _perm = section_perm = None
211 _perm = section_perm = None
212 %>
212 %>
213 <tr>
213 <tr>
214 <td>
214 <td>
215 %if section == 'repositories':
215 %if section == 'repositories':
216 <a href="${h.url('summary_home',repo_name=k)}">${k}</a>
216 <a href="${h.url('summary_home',repo_name=k)}">${k}</a>
217 %elif section == 'repositories_groups':
217 %elif section == 'repositories_groups':
218 <a href="${h.url('repos_group_home',group_name=k)}">${k}</a>
218 <a href="${h.url('repos_group_home',group_name=k)}">${k}</a>
219 %else:
219 %else:
220 ${h.get_permission_name(k)}
220 ${h.get_permission_name(k)}
221 %endif
221 %endif
222 </td>
222 </td>
223 <td>
223 <td>
224 %if section == 'global':
224 %if section == 'global':
225 ${h.bool2icon(k.split('.')[-1] != 'none')}
225 ${h.bool2icon(k.split('.')[-1] != 'none')}
226 %else:
226 %else:
227 <span class="perm_tag ${_perm}">${section_perm}</span>
227 <span class="perm_tag ${_perm}">${section_perm}</span>
228 %endif
228 %endif
229 </td>
229 </td>
230 <td>
230 <td>
231 %if section == 'repositories':
231 %if section == 'repositories':
232 <a href="${h.url('edit_repo',repo_name=k,anchor='permissions_manage')}">${_('edit')}</a>
232 <a href="${h.url('edit_repo',repo_name=k,anchor='permissions_manage')}">${_('edit')}</a>
233 %elif section == 'repositories_groups':
233 %elif section == 'repositories_groups':
234 <a href="${h.url('edit_repos_group',group_name=k,anchor='permissions_manage')}">${_('edit')}</a>
234 <a href="${h.url('edit_repos_group',group_name=k,anchor='permissions_manage')}">${_('edit')}</a>
235 %else:
235 %else:
236 --
236 --
237 %endif
237 %endif
238 </td>
238 </td>
239 </tr>
239 </tr>
240 %endfor
240 %endfor
241 </tbody>
241 </tbody>
242 </table>
242 </table>
243 </div>
243 </div>
244 %endif
244 %endif
245 %endfor
245 %endfor
246 </div>
246 </div>
247 </div>
247 </div>
248 <div class="box box-left" style="clear:left">
248 <div class="box box-left" style="clear:left">
249 <!-- box / title -->
249 <!-- box / title -->
250 <div class="title">
250 <div class="title">
251 <h5>${_('Email addresses')}</h5>
251 <h5>${_('Email addresses')}</h5>
252 </div>
252 </div>
253
253
254 <div class="emails_wrap">
254 <div class="emails_wrap">
255 <table class="noborder">
255 <table class="noborder">
256 %for em in c.user_email_map:
256 %for em in c.user_email_map:
257 <tr>
257 <tr>
258 <td><div class="gravatar"><img alt="gravatar" src="${h.gravatar_url(em.user.email,16)}"/> </div></td>
258 <td><div class="gravatar"><img alt="gravatar" src="${h.gravatar_url(em.user.email,16)}"/> </div></td>
259 <td><div class="email">${em.email}</div></td>
259 <td><div class="email">${em.email}</div></td>
260 <td>
260 <td>
261 ${h.form(url('user_emails_delete', id=c.user.user_id),method='delete')}
261 ${h.form(url('user_emails_delete', id=c.user.user_id),method='delete')}
262 ${h.hidden('del_email',em.email_id)}
262 ${h.hidden('del_email',em.email_id)}
263 ${h.submit('remove_',_('delete'),id="remove_email_%s" % em.email_id,
263 ${h.submit('remove_',_('delete'),id="remove_email_%s" % em.email_id,
264 class_="delete_icon action_button", onclick="return confirm('"+_('Confirm to delete this email: %s') % em.email+"');")}
264 class_="delete_icon action_button", onclick="return confirm('"+_('Confirm to delete this email: %s') % em.email+"');")}
265 ${h.end_form()}
265 ${h.end_form()}
266 </td>
266 </td>
267 </tr>
267 </tr>
268 %endfor
268 %endfor
269 </table>
269 </table>
270 </div>
270 </div>
271
271
272 ${h.form(url('user_emails', id=c.user.user_id),method='put')}
272 ${h.form(url('user_emails', id=c.user.user_id),method='put')}
273 <div class="form">
273 <div class="form">
274 <!-- fields -->
274 <!-- fields -->
275 <div class="fields">
275 <div class="fields">
276 <div class="field">
276 <div class="field">
277 <div class="label">
277 <div class="label">
278 <label for="new_email">${_('New email address')}:</label>
278 <label for="new_email">${_('New email address')}:</label>
279 </div>
279 </div>
280 <div class="input">
280 <div class="input">
281 ${h.text('new_email', class_='medium')}
281 ${h.text('new_email', class_='medium')}
282 </div>
282 </div>
283 </div>
283 </div>
284 <div class="buttons">
284 <div class="buttons">
285 ${h.submit('save',_('Add'),class_="ui-btn large")}
285 ${h.submit('save',_('Add'),class_="ui-btn large")}
286 ${h.reset('reset',_('Reset'),class_="ui-btn large")}
286 ${h.reset('reset',_('Reset'),class_="ui-btn large")}
287 </div>
287 </div>
288 </div>
288 </div>
289 </div>
289 </div>
290 ${h.end_form()}
290 ${h.end_form()}
291 </div>
291 </div>
292 <div class="box box-left" style="clear:left">
292 <div class="box box-left" style="clear:left">
293 <!-- box / title -->
293 <!-- box / title -->
294 <div class="title">
294 <div class="title">
295 <h5>${_('Allowed IP addresses')}</h5>
295 <h5>${_('Allowed IP addresses')}</h5>
296 </div>
296 </div>
297
297
298 <div class="ips_wrap">
298 <div class="ips_wrap">
299 <table class="noborder">
299 <table class="noborder">
300 %if c.user_ip_map:
300 %if c.user_ip_map:
301 %for ip in c.user_ip_map:
301 %for ip in c.user_ip_map:
302 <tr>
302 <tr>
303 <td><div class="ip">${ip.ip_addr}</div></td>
303 <td><div class="ip">${ip.ip_addr}</div></td>
304 <td><div class="ip">${h.ip_range(ip.ip_addr)}</div></td>
304 <td><div class="ip">${h.ip_range(ip.ip_addr)}</div></td>
305 <td>
305 <td>
306 ${h.form(url('user_ips_delete', id=c.user.user_id),method='delete')}
306 ${h.form(url('user_ips_delete', id=c.user.user_id),method='delete')}
307 ${h.hidden('del_ip',ip.ip_id)}
307 ${h.hidden('del_ip',ip.ip_id)}
308 ${h.submit('remove_',_('delete'),id="remove_ip_%s" % ip.ip_id,
308 ${h.submit('remove_',_('delete'),id="remove_ip_%s" % ip.ip_id,
309 class_="delete_icon action_button", onclick="return confirm('"+_('Confirm to delete this ip: %s') % ip.ip_addr+"');")}
309 class_="delete_icon action_button", onclick="return confirm('"+_('Confirm to delete this ip: %s') % ip.ip_addr+"');")}
310 ${h.end_form()}
310 ${h.end_form()}
311 </td>
311 </td>
312 </tr>
312 </tr>
313 %endfor
313 %endfor
314 %else:
314 %else:
315 <tr><td><div class="ip">${_('All IP addresses are allowed')}</div></td></tr>
315 <tr><td><div class="ip">${_('All IP addresses are allowed')}</div></td></tr>
316 %endif
316 %endif
317 </table>
317 </table>
318 </div>
318 </div>
319
319
320 ${h.form(url('user_ips', id=c.user.user_id),method='put')}
320 ${h.form(url('user_ips', id=c.user.user_id),method='put')}
321 <div class="form">
321 <div class="form">
322 <!-- fields -->
322 <!-- fields -->
323 <div class="fields">
323 <div class="fields">
324 <div class="field">
324 <div class="field">
325 <div class="label">
325 <div class="label">
326 <label for="new_ip">${_('New ip address')}:</label>
326 <label for="new_ip">${_('New ip address')}:</label>
327 </div>
327 </div>
328 <div class="input">
328 <div class="input">
329 ${h.text('new_ip', class_='medium')}
329 ${h.text('new_ip', class_='medium')}
330 </div>
330 </div>
331 </div>
331 </div>
332 <div class="buttons">
332 <div class="buttons">
333 ${h.submit('save',_('Add'),class_="ui-btn large")}
333 ${h.submit('save',_('Add'),class_="ui-btn large")}
334 ${h.reset('reset',_('Reset'),class_="ui-btn large")}
334 ${h.reset('reset',_('Reset'),class_="ui-btn large")}
335 </div>
335 </div>
336 </div>
336 </div>
337 </div>
337 </div>
338 ${h.end_form()}
338 ${h.end_form()}
339 </div>
339 </div>
340 </%def>
340 </%def>
General Comments 0
You need to be logged in to leave comments. Login now