mirror of
https://github.com/haiwen/seahub.git
synced 2025-09-22 11:57:34 +00:00
[sysadmin] Enable delete an org
This commit is contained in:
@@ -22,7 +22,7 @@
|
|||||||
<td>{{ org.ctime|tsstr_sec }} <br/>
|
<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>
|
<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>
|
||||||
<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>
|
</tr>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</table>
|
</table>
|
||||||
|
@@ -223,6 +223,7 @@ urlpatterns = patterns(
|
|||||||
url(r'^sys/orgadmin/search/$', sys_org_search, name='sys_org_search'),
|
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+)/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+)/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+)/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+)/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'),
|
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)
|
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
|
@login_required_ajax
|
||||||
@sys_staff_required
|
@sys_staff_required
|
||||||
def sys_org_set_member_quota(request, org_id):
|
def sys_org_set_member_quota(request, org_id):
|
||||||
|
Reference in New Issue
Block a user