user_edit.html
264 lines
| 9.4 KiB
| text/html
|
HtmlLexer
r547 | ## -*- coding: utf-8 -*- | |||
<%inherit file="/base/base.html"/> | ||||
<%def name="title()"> | ||||
r619 | ${_('Edit user')} ${c.user.username} - ${c.rhodecode_name} | |||
r547 | </%def> | |||
<%def name="breadcrumbs_links()"> | ||||
r1888 | ${h.link_to(_('Admin'),h.url('admin_home'))} | |||
» | ||||
${h.link_to(_('Users'),h.url('users'))} | ||||
r547 | » | |||
${_('edit')} "${c.user.username}" | ||||
</%def> | ||||
<%def name="page_nav()"> | ||||
${self.menu('admin')} | ||||
</%def> | ||||
<%def name="main()"> | ||||
r889 | <div class="box box-left"> | |||
r547 | <!-- box / title --> | |||
<div class="title"> | ||||
r1888 | ${self.breadcrumbs()} | |||
r547 | </div> | |||
<!-- end box / title --> | ||||
r1266 | ${h.form(url('update_user', id=c.user.user_id),method='put')} | |||
r547 | <div class="form"> | |||
r1116 | <div class="field"> | |||
<div class="gravatar_box"> | ||||
<div class="gravatar"><img alt="gravatar" src="${h.gravatar_url(c.user.email)}"/></div> | ||||
r1629 | <p> | |||
%if c.use_gravatar: | ||||
<strong>${_('Change your avatar at')} <a href="http://gravatar.com">gravatar.com</a></strong> | ||||
<br/>${_('Using')} ${c.user.email} | ||||
%else: | ||||
<br/>${c.user.email} | ||||
r1888 | %endif | |||
r1116 | </div> | |||
</div> | ||||
<div class="field"> | ||||
<div class="label"> | ||||
<label>${_('API key')}</label> ${c.user.api_key} | ||||
</div> | ||||
</div> | ||||
r1888 | ||||
r547 | <div class="fields"> | |||
<div class="field"> | ||||
<div class="label"> | ||||
<label for="username">${_('Username')}:</label> | ||||
</div> | ||||
<div class="input"> | ||||
r889 | ${h.text('username',class_='medium')} | |||
r547 | </div> | |||
</div> | ||||
r1888 | ||||
r547 | <div class="field"> | |||
<div class="label"> | ||||
|
r991 | <label for="ldap_dn">${_('LDAP DN')}:</label> | ||
</div> | ||||
<div class="input"> | ||||
r1906 | ${h.text('ldap_dn',class_='medium disabled',readonly="readonly")} | |||
|
r991 | </div> | ||
</div> | ||||
r1888 | ||||
|
r991 | <div class="field"> | ||
<div class="label"> | ||||
r547 | <label for="new_password">${_('New password')}:</label> | |||
</div> | ||||
<div class="input"> | ||||
r1366 | ${h.password('new_password',class_='medium',autocomplete="off")} | |||
r547 | </div> | |||
</div> | ||||
r1888 | ||||
r1597 | <div class="field"> | |||
<div class="label"> | ||||
<label for="password_confirmation">${_('New password confirmation')}:</label> | ||||
</div> | ||||
<div class="input"> | ||||
${h.password('password_confirmation',class_="medium",autocomplete="off")} | ||||
</div> | ||||
</div> | ||||
r1888 | ||||
r547 | <div class="field"> | |||
<div class="label"> | ||||
r2544 | <label for="firstname">${_('First Name')}:</label> | |||
r547 | </div> | |||
<div class="input"> | ||||
r2544 | ${h.text('firstname',class_='medium')} | |||
r547 | </div> | |||
</div> | ||||
r1888 | ||||
r547 | <div class="field"> | |||
<div class="label"> | ||||
r697 | <label for="lastname">${_('Last Name')}:</label> | |||
r547 | </div> | |||
<div class="input"> | ||||
r889 | ${h.text('lastname',class_='medium')} | |||
r547 | </div> | |||
</div> | ||||
r1888 | ||||
r547 | <div class="field"> | |||
<div class="label"> | ||||
<label for="email">${_('Email')}:</label> | ||||
</div> | ||||
<div class="input"> | ||||
r889 | ${h.text('email',class_='medium')} | |||
r547 | </div> | |||
</div> | ||||
r1888 | ||||
r547 | <div class="field"> | |||
<div class="label label-checkbox"> | ||||
<label for="active">${_('Active')}:</label> | ||||
</div> | ||||
<div class="checkboxes"> | ||||
${h.checkbox('active',value=True)} | ||||
</div> | ||||
</div> | ||||
r1888 | ||||
r547 | <div class="field"> | |||
<div class="label label-checkbox"> | ||||
<label for="admin">${_('Admin')}:</label> | ||||
</div> | ||||
<div class="checkboxes"> | ||||
${h.checkbox('admin',value=True)} | ||||
</div> | ||||
r1888 | </div> | |||
r547 | <div class="buttons"> | |||
r2607 | ${h.submit('save',_('Save'),class_="ui-btn large")} | |||
${h.reset('reset',_('Reset'),class_="ui-btn large")} | ||||
r1888 | </div> | |||
</div> | ||||
r547 | </div> | |||
${h.end_form()} | ||||
r889 | </div> | |||
r2636 | <div style="min-height:780px" class="box box-right"> | |||
r889 | <!-- box / title --> | |||
<div class="title"> | ||||
r1888 | <h5>${_('Permissions')}</h5> | |||
r889 | </div> | |||
r1266 | ${h.form(url('user_perm', id=c.user.user_id),method='put')} | |||
r1116 | <div class="form"> | |||
<!-- fields --> | ||||
<div class="fields"> | ||||
<div class="field"> | ||||
<div class="label label-checkbox"> | ||||
|
r1575 | <label for="create_repo_perm">${_('Create repositories')}:</label> | ||
r1116 | </div> | |||
<div class="checkboxes"> | ||||
r1266 | ${h.checkbox('create_repo_perm',value=True)} | |||
r1116 | </div> | |||
</div> | ||||
<div class="buttons"> | ||||
r2607 | ${h.submit('save',_('Save'),class_="ui-btn large")} | |||
${h.reset('reset',_('Reset'),class_="ui-btn large")} | ||||
r1888 | </div> | |||
</div> | ||||
r1116 | </div> | |||
r1888 | ${h.end_form()} | |||
r2435 | ||||
## permissions overview | ||||
<div id="perms" class="table"> | ||||
%for section in sorted(c.perm_user.permissions.keys()): | ||||
<div class="perms_section_head">${section.replace("_"," ").capitalize()}</div> | ||||
r2636 | %if not c.perm_user.permissions[section]: | |||
<span style="color:#B9B9B9">${_('Nothing here yet')}</span> | ||||
%else: | ||||
r2435 | <div id='tbl_list_wrap_${section}' class="yui-skin-sam"> | |||
<table id="tbl_list_${section}"> | ||||
<thead> | ||||
<tr> | ||||
<th class="left">${_('Name')}</th> | ||||
<th class="left">${_('Permission')}</th> | ||||
r2631 | <th class="left">${_('Edit Permission')}</th> | |||
r2435 | </thead> | |||
<tbody> | ||||
%for k in c.perm_user.permissions[section]: | ||||
<% | ||||
if section != 'global': | ||||
section_perm = c.perm_user.permissions[section].get(k) | ||||
_perm = section_perm.split('.')[-1] | ||||
else: | ||||
_perm = section_perm = None | ||||
%> | ||||
<tr> | ||||
<td> | ||||
%if section == 'repositories': | ||||
<a href="${h.url('summary_home',repo_name=k)}">${k}</a> | ||||
%elif section == 'repositories_groups': | ||||
<a href="${h.url('repos_group_home',group_name=k)}">${k}</a> | ||||
%else: | ||||
r2532 | ${h.get_permission_name(k)} | |||
r2435 | %endif | |||
</td> | ||||
<td> | ||||
%if section == 'global': | ||||
r2532 | ${h.bool2icon(k.split('.')[-1] != 'none')} | |||
r2435 | %else: | |||
r2532 | <span class="perm_tag ${_perm}">${section_perm}</span> | |||
r2435 | %endif | |||
r2631 | </td> | |||
<td> | ||||
%if section == 'repositories': | ||||
<a href="${h.url('edit_repo',repo_name=k,anchor='permissions_manage')}">${_('edit')}</a> | ||||
%elif section == 'repositories_groups': | ||||
<a href="${h.url('edit_repos_group',id=k,anchor='permissions_manage')}">${_('edit')}</a> | ||||
%else: | ||||
-- | ||||
r2673 | %endif | |||
r2631 | </td> | |||
r2435 | </tr> | |||
%endfor | ||||
</tbody> | ||||
</table> | ||||
</div> | ||||
r2636 | %endif | |||
r2435 | %endfor | |||
r2453 | </div> | |||
r889 | </div> | |||
r2532 | <div class="box box-left"> | |||
r2330 | <!-- box / title --> | |||
<div class="title"> | ||||
<h5>${_('Email addresses')}</h5> | ||||
</div> | ||||
r2478 | ||||
r2330 | <div class="emails_wrap"> | |||
<table class="noborder"> | ||||
%for em in c.user_email_map: | ||||
<tr> | ||||
<td><div class="gravatar"><img alt="gravatar" src="${h.gravatar_url(em.user.email,16)}"/> </div></td> | ||||
<td><div class="email">${em.email}</div></td> | ||||
<td> | ||||
${h.form(url('user_emails_delete', id=c.user.user_id),method='delete')} | ||||
${h.hidden('del_email',em.email_id)} | ||||
${h.submit('remove_',_('delete'),id="remove_email_%s" % em.email_id, | ||||
class_="delete_icon action_button", onclick="return confirm('"+_('Confirm to delete this email: %s') % em.email+"');")} | ||||
r2478 | ${h.end_form()} | |||
r2330 | </td> | |||
</tr> | ||||
%endfor | ||||
</table> | ||||
</div> | ||||
r2478 | ||||
r2330 | ${h.form(url('user_emails', id=c.user.user_id),method='put')} | |||
<div class="form"> | ||||
<!-- fields --> | ||||
<div class="fields"> | ||||
<div class="field"> | ||||
<div class="label"> | ||||
<label for="email">${_('New email address')}:</label> | ||||
</div> | ||||
<div class="input"> | ||||
${h.text('new_email', class_='medium')} | ||||
</div> | ||||
r2478 | </div> | |||
r2330 | <div class="buttons"> | |||
r2607 | ${h.submit('save',_('Add'),class_="ui-btn large")} | |||
${h.reset('reset',_('Reset'),class_="ui-btn large")} | ||||
r2330 | </div> | |||
</div> | ||||
</div> | ||||
${h.end_form()} | ||||
</div> | ||||
|
r991 | </%def> | ||