Files @ 0ad025ee005e
Branch filter:

Location: kallithea/rhodecode/templates/admin/users/user_edit.html

Marcin Kuzminski
better detection of deleting groups with subgroups inside.
Added less strict checks on delete group routing so we can delete zombie groups
(those that are not in filesystem but in DB)
## -*- 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>
        ##show current ip just if we show ourself
        %if c.rhodecode_user.username == c.user.username:
        <div class="field">
            <div class="label">
                <label>${_('Current IP')}:</label> ${c.perm_user.ip_addr or "?"}
            </div>
        </div>
        %endif
        <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',group_name=k,anchor='permissions_manage')}">${_('edit')}</a>
                            %else:
                                --
                            %endif
                        </td>
                    </tr>
                %endfor
                </tbody>
               </table>
              </div>
              %endif
           %endfor
    </div>
</div>
<div class="box box-left" style="clear: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>