Files @ ad49bbd8f984
Branch filter:

Location: kallithea/rhodecode/templates/admin/repos/repo_edit_permissions.html

Bradley M. Kuhn
changelog - should refer to Mercurial repository logs instead
${h.form(url('edit_repo_perms_update', repo_name=c.repo_name), method='put')}
<div class="form">
   <div class="fields">
        <div class="field">
            ${h.hidden('repo_private')}
            <table id="permissions_manage" class="noborder">
                <tr>
                    <td>${_('none')}</td>
                    <td>${_('read')}</td>
                    <td>${_('write')}</td>
                    <td>${_('admin')}</td>
                    <td>${_('user/user group')}</td>
                    <td></td>
                </tr>
                ## USERS
                %for r2p in c.repo_info.repo_to_perm:
                    %if r2p.user.username =='default' and c.repo_info.private:
                        <tr>
                            <td colspan="4">
                                <span class="private_repo_msg">
                                ${_('private repository')}
                                </span>
                            </td>
                            <td class="private_repo_msg"><i class="icon-user"></i> ${_('default')}</td>
                        </tr>
                    %else:
                    <tr id="id${id(r2p.user.username)}">
                        <td>${h.radio('u_perm_%s' % r2p.user.username,'repository.none')}</td>
                        <td>${h.radio('u_perm_%s' % r2p.user.username,'repository.read')}</td>
                        <td>${h.radio('u_perm_%s' % r2p.user.username,'repository.write')}</td>
                        <td>${h.radio('u_perm_%s' % r2p.user.username,'repository.admin')}</td>
                        <td style="white-space: nowrap;">
                            <img class="perm-gravatar" src="${h.gravatar_url(r2p.user.email,14)}"/>
                            %if h.HasPermissionAny('hg.admin')() and r2p.user.username != 'default':
                             <a href="${h.url('edit_user',id=r2p.user.user_id)}">${r2p.user.username}</a>
                            %else:
                             ${r2p.user.username if r2p.user.username != 'default' else _('default')}
                            %endif
                        </td>
                        <td>
                          %if r2p.user.username !='default':
                            <span style="color:#da4f49" class="action_button" onclick="ajaxActionRevoke(${r2p.user.user_id}, 'user', '${'id%s'%id(r2p.user.username)}', '${r2p.user.username}')">
                            <i class="icon-remove"></i> ${_('revoke')}
                            </span>
                          %endif
                        </td>
                    </tr>
                    %endif
                %endfor

                ## USER GROUPS
                %for g2p in c.repo_info.users_group_to_perm:
                    <tr id="id${id(g2p.users_group.users_group_name)}">
                        <td>${h.radio('g_perm_%s' % g2p.users_group.users_group_name,'repository.none')}</td>
                        <td>${h.radio('g_perm_%s' % g2p.users_group.users_group_name,'repository.read')}</td>
                        <td>${h.radio('g_perm_%s' % g2p.users_group.users_group_name,'repository.write')}</td>
                        <td>${h.radio('g_perm_%s' % g2p.users_group.users_group_name,'repository.admin')}</td>
                        <td style="white-space: nowrap;">
                            <img class="perm-gravatar" src="${h.url('/images/icons/group.png')}"/>
                            %if h.HasPermissionAny('hg.admin')():
                             <a href="${h.url('edit_users_group',id=g2p.users_group.users_group_id)}">${g2p.users_group.users_group_name}</a>
                            %else:
                             ${g2p.users_group.users_group_name}
                            %endif
                        </td>
                        <td>
                            <span style="color:#da4f49" class="action_button" onclick="ajaxActionRevoke(${g2p.users_group.users_group_id}, 'user_group', '${'id%s'%id(g2p.users_group.users_group_name)}', '${g2p.users_group.users_group_name}')">
                            <i class="icon-remove"></i> ${_('revoke')}
                            </span>
                        </td>
                    </tr>
                %endfor

                <%
                _tmpl = h.literal("""' \
                    <td><input type="radio" value="repository.none" name="perm_new_member_{0}" id="perm_new_member_{0}"></td> \
                    <td><input type="radio" value="repository.read" checked="checked" name="perm_new_member_{0}" id="perm_new_member_{0}"></td> \
                    <td><input type="radio" value="repository.write" name="perm_new_member_{0}" id="perm_new_member_{0}"></td> \
                    <td><input type="radio" value="repository.admin" name="perm_new_member_{0}" id="perm_new_member_{0}"></td> \
                    <td class="ac"> \
                        <div class="perm_ac" id="perm_ac_{0}"> \
                            <input class="yui-ac-input" id="perm_new_member_name_{0}" name="perm_new_member_name_{0}" value="" type="text"> \
                            <input id="perm_new_member_type_{0}" name="perm_new_member_type_{0}" value="" type="hidden">  \
                            <div id="perm_container_{0}"></div> \
                        </div> \
                    </td> \
                    <td></td>'""")
                %>
                ## ADD HERE DYNAMICALLY NEW INPUTS FROM THE '_tmpl'
                <tr class="new_members last_new_member" id="add_perm_input"></tr>
                <tr>
                    <td colspan="6">
                        <span id="add_perm" style="cursor: pointer;">
                            <i class="icon-plus"></i> ${_('Add new')}
                        </span>
                    </td>
                </tr>
            </table>
        </div>
        <div class="buttons">
          ${h.submit('save',_('Save'),class_="btn")}
          ${h.reset('reset',_('Reset'),class_="btn")}
        </div>
   </div>
</div>
${h.end_form()}

<script type="text/javascript">
    function ajaxActionRevoke(obj_id, obj_type, field_id, obj_name) {
        url = "${h.url('edit_repo_perms_revoke',repo_name=c.repo_name)}";
        var revoke_msg = _TM['Confirm to revoke permission for {0}: {1} ?'].format(obj_type.replace('_', ' '), obj_name);
        if (confirm(revoke_msg)){
            ajaxActionRevokePermission(url, obj_id, obj_type, field_id);
        }
    };

    YUE.onDOMReady(function () {
        if (!YUD.hasClass('perm_new_member_name', 'error')) {
            YUD.setStyle('add_perm_input', 'display', 'none');
        }
        YAHOO.util.Event.addListener('add_perm', 'click', function () {
            addPermAction(${_tmpl}, ${c.users_array|n}, ${c.user_groups_array|n});
        });
    });
</script>