##// END OF EJS Templates
Pass in old groups data to CanWriteToGroup validator for later skipping group checks....
Pass in old groups data to CanWriteToGroup validator for later skipping group checks. This will be a part of refactoring done to do user permissions changes without messing with main repo form data

File last commit:

r3455:d5ae996e beta
r3525:0cef54d3 default
Show More
user_edit.html
340 lines | 12.5 KiB | text/html | HtmlLexer
## -*- coding: utf-8 -*-
<%inherit file="/base/base.html"/>
<%def name="title()">
${_('Edit user')} ${c.user.username} - ${c.rhodecode_name}
</%def>
<%def name="breadcrumbs_links()">
${h.link_to(_('Admin'),h.url('admin_home'))}
&raquo;
${h.link_to(_('Users'),h.url('users'))}
&raquo;
${_('edit')} "${c.user.username}"
</%def>
<%def name="page_nav()">
${self.menu('admin')}
</%def>
<%def name="main()">
<div class="box box-left">
<!-- box / title -->
<div class="title">
${self.breadcrumbs()}
</div>
<!-- end box / title -->
${h.form(url('update_user', id=c.user.user_id),method='put')}
<div class="form">
<div class="field">
<div class="gravatar_box">
<div class="gravatar"><img alt="gravatar" src="${h.gravatar_url(c.user.email)}"/></div>
<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}
%endif
</div>
</div>
<div class="field">
<div class="label">
<label>${_('API key')}</label> ${c.user.api_key}
</div>
</div>
<div class="field">
<div class="label">
<label>${_('Your IP')}</label> ${c.perm_user.ip_addr or "?"}
</div>
</div>
<div class="fields">
<div class="field">
<div class="label">
<label for="username">${_('Username')}:</label>
</div>
<div class="input">
%if c.ldap_dn:
${h.text('username',class_='medium disabled', readonly="readonly")}
%else:
${h.text('username',class_='medium')}
%endif:
</div>
</div>
<div class="field">
<div class="label">
<label for="ldap_dn">${_('LDAP DN')}:</label>
</div>
<div class="input">
${h.text('ldap_dn',class_='medium disabled',readonly="readonly")}
</div>
</div>
<div class="field">
<div class="label">
<label for="new_password">${_('New password')}:</label>
</div>
<div class="input">
${h.password('new_password',class_='medium',autocomplete="off")}
</div>
</div>
<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>
<div class="field">
<div class="label">
<label for="firstname">${_('First Name')}:</label>
</div>
<div class="input">
${h.text('firstname',class_='medium')}
</div>
</div>
<div class="field">
<div class="label">
<label for="lastname">${_('Last Name')}:</label>
</div>
<div class="input">
${h.text('lastname',class_='medium')}
</div>
</div>
<div class="field">
<div class="label">
<label for="email">${_('Email')}:</label>
</div>
<div class="input">
${h.text('email',class_='medium')}
</div>
</div>
<div class="field">
<div class="label label-checkbox">
<label for="active">${_('Active')}:</label>
</div>
<div class="checkboxes">
${h.checkbox('active',value=True)}
</div>
</div>
<div class="field">
<div class="label label-checkbox">
<label for="admin">${_('Admin')}:</label>
</div>
<div class="checkboxes">
${h.checkbox('admin',value=True)}
</div>
</div>
<div class="buttons">
${h.submit('save',_('Save'),class_="ui-btn large")}
${h.reset('reset',_('Reset'),class_="ui-btn large")}
</div>
</div>
</div>
${h.end_form()}
</div>
<div style="min-height:780px" class="box box-right">
<!-- box / title -->
<div class="title">
<h5>${_('Permissions')}</h5>
</div>
${h.form(url('user_perm', id=c.user.user_id),method='put')}
<div class="form">
<!-- fields -->
<div class="fields">
<div class="field">
<div class="label label-checkbox">
<label for="inherit_permissions">${_('Inherit default permissions')}:</label>
</div>
<div class="checkboxes">
${h.checkbox('inherit_default_permissions',value=True)}
</div>
<span class="help-block">${h.literal(_('Select to inherit permissions from %s settings. '
'With this selected below options does not have any action') % h.link_to('default', url('edit_permission', id='default')))}</span>
</div>
<div id="inherit_overlay" style="${'opacity:0.3' if c.user.inherit_default_permissions else ''}" >
<div class="field">
<div class="label label-checkbox">
<label for="create_repo_perm">${_('Create repositories')}:</label>
</div>
<div class="checkboxes">
${h.checkbox('create_repo_perm',value=True)}
</div>
</div>
<div class="field">
<div class="label label-checkbox">
<label for="fork_repo_perm">${_('Fork repositories')}:</label>
</div>
<div class="checkboxes">
${h.checkbox('fork_repo_perm',value=True)}
</div>
</div>
</div>
<div class="buttons">
${h.submit('save',_('Save'),class_="ui-btn large")}
${h.reset('reset',_('Reset'),class_="ui-btn large")}
</div>
</div>
</div>
${h.end_form()}
## 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>
%if not c.perm_user.permissions[section]:
<span class="empty_data">${_('Nothing here yet')}</span>
%else:
<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>
<th class="left">${_('Edit Permission')}</th>
</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:
${h.get_permission_name(k)}
%endif
</td>
<td>
%if section == 'global':
${h.bool2icon(k.split('.')[-1] != 'none')}
%else:
<span class="perm_tag ${_perm}">${section_perm}</span>
%endif
</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:
--
%endif
</td>
</tr>
%endfor
</tbody>
</table>
</div>
%endif
%endfor
</div>
</div>
<div class="box box-left">
<!-- box / title -->
<div class="title">
<h5>${_('Email addresses')}</h5>
</div>
<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+"');")}
${h.end_form()}
</td>
</tr>
%endfor
</table>
</div>
${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="new_email">${_('New email address')}:</label>
</div>
<div class="input">
${h.text('new_email', class_='medium')}
</div>
</div>
<div class="buttons">
${h.submit('save',_('Add'),class_="ui-btn large")}
${h.reset('reset',_('Reset'),class_="ui-btn large")}
</div>
</div>
</div>
${h.end_form()}
</div>
<div class="box box-left" style="clear:left">
<!-- box / title -->
<div class="title">
<h5>${_('Allowed IP addresses')}</h5>
</div>
<div class="ips_wrap">
<table class="noborder">
%if c.user_ip_map:
%for ip in c.user_ip_map:
<tr>
<td><div class="ip">${ip.ip_addr}</div></td>
<td><div class="ip">${h.ip_range(ip.ip_addr)}</div></td>
<td>
${h.form(url('user_ips_delete', id=c.user.user_id),method='delete')}
${h.hidden('del_ip',ip.ip_id)}
${h.submit('remove_',_('delete'),id="remove_ip_%s" % ip.ip_id,
class_="delete_icon action_button", onclick="return confirm('"+_('Confirm to delete this ip: %s') % ip.ip_addr+"');")}
${h.end_form()}
</td>
</tr>
%endfor
%else:
<tr><td><div class="ip">${_('All IP addresses are allowed')}</div></td></tr>
%endif
</table>
</div>
${h.form(url('user_ips', id=c.user.user_id),method='put')}
<div class="form">
<!-- fields -->
<div class="fields">
<div class="field">
<div class="label">
<label for="new_ip">${_('New ip address')}:</label>
</div>
<div class="input">
${h.text('new_ip', class_='medium')}
</div>
</div>
<div class="buttons">
${h.submit('save',_('Add'),class_="ui-btn large")}
${h.reset('reset',_('Reset'),class_="ui-btn large")}
</div>
</div>
</div>
${h.end_form()}
</div>
</%def>