Mercurial > kallithea
comparison rhodecode/templates/admin/repos/repo_edit_perms.html @ 3714:7e3d89d9d3a2 beta
- Manage User’s Groups: create, delete, rename, add/remove users inside.
by user group admin.
In this case, a user's group can be owned by several people thru an owner user's group.
Some refactoring of naming, permission handling logic.
- remove some code duplicity as well as inconsistent naming
author | Marcin Kuzminski <marcin@python-works.com> |
---|---|
date | Mon, 08 Apr 2013 22:47:35 +0200 |
parents | fa6ba6727475 |
children | 25dbbdae3ed9 |
comparison
equal
deleted
inserted
replaced
3713:e45f8cefd7d9 | 3714:7e3d89d9d3a2 |
---|---|
27 <td style="white-space: nowrap;"> | 27 <td style="white-space: nowrap;"> |
28 <img class="perm-gravatar" src="${h.gravatar_url(r2p.user.email,14)}"/>${r2p.user.username if r2p.user.username != 'default' else _('default')} | 28 <img class="perm-gravatar" src="${h.gravatar_url(r2p.user.email,14)}"/>${r2p.user.username if r2p.user.username != 'default' else _('default')} |
29 </td> | 29 </td> |
30 <td> | 30 <td> |
31 %if r2p.user.username !='default': | 31 %if r2p.user.username !='default': |
32 <span class="delete_icon action_button" onclick="ajaxActionUser(${r2p.user.user_id},'${'id%s'%id(r2p.user.username)}')"> | 32 <span class="delete_icon action_button" onclick="ajaxActionRevoke(${r2p.user.user_id}, 'user', '${'id%s'%id(r2p.user.username)}')"> |
33 ${_('revoke')} | 33 ${_('revoke')} |
34 </span> | 34 </span> |
35 %endif | 35 %endif |
36 </td> | 36 </td> |
37 </tr> | 37 </tr> |
52 %else: | 52 %else: |
53 ${g2p.users_group.users_group_name} | 53 ${g2p.users_group.users_group_name} |
54 %endif | 54 %endif |
55 </td> | 55 </td> |
56 <td> | 56 <td> |
57 <span class="delete_icon action_button" onclick="ajaxActionUserGroup(${g2p.users_group.users_group_id},'${'id%s'%id(g2p.users_group.users_group_name)}')"> | 57 <span class="delete_icon action_button" onclick="ajaxActionRevoke(${g2p.users_group.users_group_id}, 'user_group', '${'id%s'%id(g2p.users_group.users_group_name)}')"> |
58 ${_('revoke')} | 58 ${_('revoke')} |
59 </span> | 59 </span> |
60 </td> | 60 </td> |
61 </tr> | 61 </tr> |
62 %endfor | 62 %endfor |
84 </span> | 84 </span> |
85 </td> | 85 </td> |
86 </tr> | 86 </tr> |
87 </table> | 87 </table> |
88 <script type="text/javascript"> | 88 <script type="text/javascript"> |
89 function ajaxActionUser(user_id, field_id) { | 89 function ajaxActionRevoke(obj_id, obj_type, field_id) { |
90 var sUrl = "${h.url('delete_repo_user',repo_name=c.repo_name)}"; | |
91 var callback = { | 90 var callback = { |
92 success: function (o) { | 91 success: function (o) { |
93 var tr = YUD.get(String(field_id)); | 92 var tr = YUD.get(String(field_id)); |
94 tr.parentNode.removeChild(tr); | 93 tr.parentNode.removeChild(tr); |
95 }, | 94 }, |
96 failure: function (o) { | 95 failure: function (o) { |
97 alert("${_('Failed to remove user')}"); | 96 alert(_TM['Failed to remoke permission'] + ": " + o.status); |
98 }, | 97 }, |
99 }; | 98 }; |
100 var postData = '_method=delete&user_id=' + user_id; | 99 if (obj_type=='user'){ |
100 var sUrl = "${h.url('delete_repo_user',repo_name=c.repo_name)}"; | |
101 var postData = '_method=delete&user_id={0}&obj_type=user'.format(obj_id); | |
102 } | |
103 else if (obj_type=='user_group'){ | |
104 var sUrl = "${h.url('delete_repo_users_group',repo_name=c.repo_name)}"; | |
105 var postData = '_method=delete&users_group_id={0}&obj_type=user_group'.format(obj_id); | |
106 | |
107 } | |
108 | |
101 var request = YAHOO.util.Connect.asyncRequest('POST', sUrl, callback, postData); | 109 var request = YAHOO.util.Connect.asyncRequest('POST', sUrl, callback, postData); |
102 }; | 110 }; |
103 | 111 |
104 function ajaxActionUserGroup(users_group_id,field_id){ | |
105 var sUrl = "${h.url('delete_repo_users_group',repo_name=c.repo_name)}"; | |
106 var callback = { | |
107 success:function(o){ | |
108 var tr = YUD.get(String(field_id)); | |
109 tr.parentNode.removeChild(tr); | |
110 }, | |
111 failure:function(o){ | |
112 alert("${_('Failed to remove user group')}"); | |
113 }, | |
114 }; | |
115 var postData = '_method=delete&users_group_id='+users_group_id; | |
116 var request = YAHOO.util.Connect.asyncRequest('POST', sUrl, callback, postData); | |
117 }; | |
118 | 112 |
119 YUE.onDOMReady(function () { | 113 YUE.onDOMReady(function () { |
120 if (!YUD.hasClass('perm_new_member_name', 'error')) { | 114 if (!YUD.hasClass('perm_new_member_name', 'error')) { |
121 YUD.setStyle('add_perm_input', 'display', 'none'); | 115 YUD.setStyle('add_perm_input', 'display', 'none'); |
122 } | 116 } |