Files @ b19b1723ff10
Branch filter:

Location: kallithea/rhodecode/templates/admin/repos_groups/repos_group_edit_perms.html

Mads Kiilerich
pullrequest: pullrequest from changelog view

It seems like it didn't work ... perhaps because I broke it. But now we clean
it up and make it work:

Use rev_end as the revision to merge. We don't know where to merge ... but
start_rev cannot be used for that.

This might to some extent have been working before ... but we prefer to clean
it up and start over again when the normal merge workflow is fully working.
<table id="permissions_manage" class="noborder">
    <tr>
        <td>${_('none')}</td>
        <td>${_('read')}</td>
        <td>${_('write')}</td>
        <td>${_('admin')}</td>
        <td>${_('member')}</td>
        <td></td>
    </tr>
    ## USERS
    %for r2p in c.repos_group.repo_group_to_perm:
        ##forbid revoking permission from yourself
        <tr id="id${id(r2p.user.username)}">
            %if c.rhodecode_user.user_id != r2p.user.user_id or c.rhodecode_user.is_admin:
            <td>${h.radio('u_perm_%s' % r2p.user.username,'group.none')}</td>
            <td>${h.radio('u_perm_%s' % r2p.user.username,'group.read')}</td>
            <td>${h.radio('u_perm_%s' % r2p.user.username,'group.write')}</td>
            <td>${h.radio('u_perm_%s' % r2p.user.username,'group.admin')}</td>
            <td style="white-space: nowrap;">
                <img class="perm-gravatar" src="${h.gravatar_url(r2p.user.email,14)}"/>${r2p.user.username if r2p.user.username != 'default' else _('default')}
            </td>
            <td>
              %if r2p.user.username !='default':
                <span class="delete_icon action_button" onclick="ajaxActionUser(${r2p.user.user_id},'${'id%s'%id(r2p.user.username)}')">
                ${_('revoke')}
                </span>
              %endif
            </td>
            %else:
            <td>${h.radio('u_perm_%s' % r2p.user.username,'group.none', disabled="disabled")}</td>
            <td>${h.radio('u_perm_%s' % r2p.user.username,'group.read', disabled="disabled")}</td>
            <td>${h.radio('u_perm_%s' % r2p.user.username,'group.write', disabled="disabled")}</td>
            <td>${h.radio('u_perm_%s' % r2p.user.username,'group.admin', disabled="disabled")}</td>
            <td style="white-space: nowrap;">
                <img class="perm-gravatar" src="${h.gravatar_url(r2p.user.email,14)}"/>${r2p.user.username if r2p.user.username != 'default' else _('default')}
            </td>
            <td>
            </td>
            %endif
        </tr>
    %endfor

    ## USER GROUPS
    %for g2p in c.repos_group.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,'group.none')}</td>
            <td>${h.radio('g_perm_%s' % g2p.users_group.users_group_name,'group.read')}</td>
            <td>${h.radio('g_perm_%s' % g2p.users_group.users_group_name,'group.write')}</td>
            <td>${h.radio('g_perm_%s' % g2p.users_group.users_group_name,'group.admin')}</td>
            <td style="white-space: nowrap;">
                <img class="perm-gravatar" src="${h.url('/images/icons/group.png')}"/>${g2p.users_group.users_group_name}
            </td>
            <td>
                <span class="delete_icon action_button" onclick="ajaxActionUserGroup(${g2p.users_group.users_group_id},'${'id%s'%id(g2p.users_group.users_group_name)}')">
                ${_('revoke')}
                </span>
            </td>
        </tr>
    %endfor
<%
    _tmpl = h.literal("""' \
        <td><input type="radio" value="group.none" name="perm_new_member_{0}" id="perm_new_member_{0}"></td> \
        <td><input type="radio" value="group.read" name="perm_new_member_{0}" id="perm_new_member_{0}"></td> \
        <td><input type="radio" value="group.write" name="perm_new_member_{0}" id="perm_new_member_{0}"></td> \
        <td><input type="radio" value="group.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" class="add_icon" style="cursor: pointer;">
            ${_('Add another member')}
            </span>
        </td>
    </tr>
    <tr>
        <td colspan="6">
           ${h.checkbox('recursive',value="True", label=_('apply to children'))}
           <span class="help-block">${_('Set or revoke permission to all children of that group, including non-private repositories and other groups')}</span>
        </td>
    </tr>
</table>
<script type="text/javascript">
function ajaxActionUser(user_id, field_id) {
    var sUrl = "${h.url('delete_repos_group_user_perm',group_name=c.repos_group.group_name)}";
    var callback = {
        success: function (o) {
            var tr = YUD.get(String(field_id));
            tr.parentNode.removeChild(tr);
        },
        failure: function (o) {
            alert("${_('Failed to remove user')}");
        },
    };
    var recursive = YUD.get('recursive').checked;
    var postData = '_method=delete&recursive={0}&user_id={1}'.format(recursive,user_id);
    var request = YAHOO.util.Connect.asyncRequest('POST', sUrl, callback, postData);
};

function ajaxActionUserGroup(users_group_id,field_id){
    var sUrl = "${h.url('delete_repos_group_users_group_perm',group_name=c.repos_group.group_name)}";
    var callback = {
        success:function(o){
            var tr = YUD.get(String(field_id));
            tr.parentNode.removeChild(tr);
        },
        failure:function(o){
            alert("${_('Failed to remove user group')}");
        },
    };
    var recursive = YUD.get('recursive').checked;
    var postData = '_method=delete&recursive={0}&users_group_id={1}'.format(recursive,users_group_id);
    var request = YAHOO.util.Connect.asyncRequest('POST', sUrl, callback, postData);
};

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.users_groups_array|n});
    });
});

</script>