view rhodecode/templates/admin/users_groups/users_group_edit.html @ 3624:4dddb7ee8865 beta

user group: sort lists of current and available members by username It was hard to navigate lists with 200 users in "random" (user_id?) order.
author Mads Kiilerich <madski@unity3d.com>
date Thu, 28 Mar 2013 01:10:45 +0100
parents ce9a226e0867
children ec6354949623
line wrap: on
line source

## -*- coding: utf-8 -*-
<%inherit file="/base/base.html"/>

<%def name="title()">
    ${_('Edit user group')} ${c.users_group.users_group_name} &middot; ${c.rhodecode_name}
</%def>

<%def name="breadcrumbs_links()">
    ${h.link_to(_('Admin'),h.url('admin_home'))}
    &raquo;
    ${h.link_to(_('UserGroups'),h.url('users_groups'))}
    &raquo;
    ${_('edit')} "${c.users_group.users_group_name}"
</%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('users_group', id=c.users_group.users_group_id),method='put', id='edit_users_group')}
    <div class="form">
        <!-- fields -->
            <div class="fields">
                 <div class="field">
                    <div class="label">
                        <label for="users_group_name">${_('Group name')}:</label>
                    </div>
                    <div class="input">
                        ${h.text('users_group_name',class_='small')}
                    </div>
                 </div>

                 <div class="field">
                    <div class="label label-checkbox">
                        <label for="users_group_active">${_('Active')}:</label>
                    </div>
                    <div class="checkboxes">
                        ${h.checkbox('users_group_active',value=True)}
                    </div>
                 </div>
                <div class="field">
                    <div class="label">
                        <label for="users_group_active">${_('Members')}:</label>
                    </div>
                    <div class="select">
                        <table>
                                <tr>
                                    <td>
                                        <div>
                                            <div style="float:left">
                                                <div class="text" style="padding: 0px 0px 6px;">${_('Chosen group members')}</div>
                                                ${h.select('users_group_members',[x[0] for x in c.group_members],c.group_members,multiple=True,size=8,style="min-width:210px")}
                                               <div id="remove_all_elements" style="cursor:pointer;text-align:center">
                                                   ${_('Remove all elements')}
                                                   <img alt="remove" style="vertical-align:text-bottom" src="${h.url('/images/icons/arrow_right.png')}"/>
                                               </div>
                                            </div>
                                            <div style="float:left;width:20px;padding-top:50px">
                                                <img alt="add" id="add_element"
                                                    style="padding:2px;cursor:pointer"
                                                    src="${h.url('/images/icons/arrow_left.png')}"/>
                                                <br />
                                                <img alt="remove" id="remove_element"
                                                    style="padding:2px;cursor:pointer"
                                                    src="${h.url('/images/icons/arrow_right.png')}"/>
                                            </div>
                                            <div style="float:left">
                                                 <div class="text" style="padding: 0px 0px 6px;">${_('Available members')}</div>
                                                 ${h.select('available_members',[],c.available_members,multiple=True,size=8,style="min-width:210px")}
                                                 <div id="add_all_elements" style="cursor:pointer;text-align:center">
                                                       <img alt="add" style="vertical-align:text-bottom" src="${h.url('/images/icons/arrow_left.png')}"/>
                                                        ${_('Add all elements')}
                                                 </div>
                                            </div>
                                        </div>
                                    </td>
                                </tr>
                        </table>
                    </div>

                </div>
                <div class="buttons">
                  ${h.submit('Save',_('save'),class_="ui-btn large")}
                </div>
            </div>
    </div>
${h.end_form()}
</div>

<div class="box box-right">
    <!-- box / title -->
    <div class="title">
        <h5>${_('Permissions')}</h5>
    </div>
    ${h.form(url('users_group_perm', id=c.users_group.users_group_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.users_group.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()}
</div>

<div class="box box-right">
    <!-- box / title -->
    <div class="title">
        <h5>${_('Group members')}</h5>
    </div>

    <div class="group_members_wrap">
    % if c.group_members_obj:
      <ul class="group_members">
      %for user in c.group_members_obj:
        <li>
          <div class="group_member">
            <div class="gravatar"><img alt="gravatar" src="${h.gravatar_url(user.email,24)}"/> </div>
            <div>${h.link_to(user.username, h.url('edit_user',id=user.user_id))}</div>
            <div>${user.full_name}</div>
          </div>
        </li>
      %endfor
      </ul>
      %else:
        <span class="empty_data">${_('No members yet')}</span>
      %endif
    </div>
</div>

<div class="box box-left">
    <!-- box / title -->
    <div class="title">
        <h5>${_('Permissions defined for this group')}</h5>
    </div>
 ## permissions overview
    <div id="perms" class="table">
       %for section in sorted(c.users_group.permissions.keys()):
          <div class="perms_section_head">${section.replace("_"," ").capitalize()}</div>
          %if not c.users_group.permissions:
              <span class="empty_data">${_('No permissions set yet')}</span>
          %else:
          <div id='tbl_list_wrap_${section}' class="yui-skin-sam">
           <table id="tbl_list_repository">
            <thead>
                <tr>
                <th class="left">${_('Name')}</th>
                <th class="left">${_('Permission')}</th>
                <th class="left">${_('Edit Permission')}</th>
            </thead>
            <tbody>
            %for k in sorted(c.users_group.permissions[section], key=lambda s: s.lower):
                 <%
                     section_perm = c.users_group.permissions[section].get(k)
                     _perm = section_perm.split('.')[-1]
                 %>
                <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>
                        %endif
                    </td>
                    <td>
                         <span class="perm_tag ${_perm}">${section_perm}</span>
                    </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>


<script type="text/javascript">
  MultiSelectWidget('users_group_members','available_members','edit_users_group');
</script>
</%def>