mirror of
https://github.com/haiwen/seahub.git
synced 2025-09-22 03:47:09 +00:00
[sysadmin] Enable delete an org
This commit is contained in:
@@ -22,7 +22,7 @@
|
||||
<td>{{ org.ctime|tsstr_sec }} <br/>
|
||||
<span class="{% if org.is_expired %}error{% endif %}">{% if org.expiration %}{{ org.expiration|date:'Y-m-d H:i:s' }}{% else %}--{% endif %}</span>
|
||||
</td>
|
||||
<td><a href="#" data-url="{{ SITE_ROOT}}org/remove/{{ org.org_id }}/" data-target="{{ org.org_name }}" class="remove-btn op vh">{% trans "Delete" %}</a></td>
|
||||
<td><a href="#" data-url="{% url "sys_org_remove" org.org_id %}" data-target="{{ org.org_name }}" class="remove-btn op vh">{% trans "Delete" %}</a></td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</table>
|
||||
|
@@ -223,6 +223,7 @@ urlpatterns = patterns(
|
||||
url(r'^sys/orgadmin/search/$', sys_org_search, name='sys_org_search'),
|
||||
url(r'^sys/orgadmin/(?P<org_id>\d+)/set_quota/$', sys_org_set_quota, name='sys_org_set_quota'),
|
||||
url(r'^sys/orgadmin/(?P<org_id>\d+)/rename/$', sys_org_rename, name='sys_org_rename'),
|
||||
url(r'^sys/orgadmin/(?P<org_id>\d+)/remove/$', sys_org_remove, name='sys_org_remove'),
|
||||
url(r'^sys/orgadmin/(?P<org_id>\d+)/set_member_quota/$', sys_org_set_member_quota, name='sys_org_set_member_quota'),
|
||||
url(r'^sys/orgadmin/(?P<org_id>\d+)/user/$', sys_org_info_user, name='sys_org_info_user'),
|
||||
url(r'^sys/orgadmin/(?P<org_id>\d+)/group/$', sys_org_info_group, name='sys_org_info_group'),
|
||||
|
@@ -1300,6 +1300,35 @@ def sys_org_rename(request, org_id):
|
||||
|
||||
return HttpResponseRedirect(next)
|
||||
|
||||
@login_required
|
||||
@require_POST
|
||||
@sys_staff_required
|
||||
def sys_org_remove(request, org_id):
|
||||
"""Remove an org and all members/repos/groups.
|
||||
|
||||
Arguments:
|
||||
- `request`:
|
||||
- `org_id`:
|
||||
"""
|
||||
org_id = int(org_id)
|
||||
org = ccnet_threaded_rpc.get_org_by_id(org_id)
|
||||
users = ccnet_threaded_rpc.get_org_emailusers(org.url_prefix, -1, -1)
|
||||
for u in users:
|
||||
ccnet_threaded_rpc.remove_org_user(org_id, u.email)
|
||||
|
||||
groups = ccnet_threaded_rpc.get_org_groups(org.org_id, -1, -1)
|
||||
for g in groups:
|
||||
ccnet_threaded_rpc.remove_org_group(org_id, g.gid)
|
||||
|
||||
# remove org repos
|
||||
seafserv_threaded_rpc.remove_org_repo_by_org_id(org_id)
|
||||
|
||||
# remove org
|
||||
ccnet_threaded_rpc.remove_org(org_id)
|
||||
|
||||
messages.success(request, _(u'Successfully deleted.'))
|
||||
return HttpResponseRedirect(reverse('sys_org_admin'))
|
||||
|
||||
@login_required_ajax
|
||||
@sys_staff_required
|
||||
def sys_org_set_member_quota(request, org_id):
|
||||
|
Reference in New Issue
Block a user