delete groups
Whoops, forgot to add this functionality earlier. - allow owner to delete a group - change all group lists to closed curation with group=False when group deleted
This commit is contained in:
parent
85784f07d2
commit
2a31bf2f0c
5 changed files with 30 additions and 11 deletions
|
@ -45,6 +45,7 @@ from .group import (
|
|||
Group,
|
||||
UserGroups,
|
||||
FindUsers,
|
||||
delete_group,
|
||||
invite_member,
|
||||
remove_member,
|
||||
accept_membership,
|
||||
|
|
|
@ -79,7 +79,7 @@ class UserGroups(View):
|
|||
"""create a user group"""
|
||||
form = forms.GroupForm(request.POST)
|
||||
if not form.is_valid():
|
||||
return redirect(request.user.local_path + "groups")
|
||||
return redirect(request.user.local_path + "/groups")
|
||||
group = form.save()
|
||||
# add the creator as a group member
|
||||
models.GroupMember.objects.create(group=group, user=request.user)
|
||||
|
@ -134,6 +134,22 @@ class FindUsers(View):
|
|||
return TemplateResponse(request, "groups/find_users.html", data)
|
||||
|
||||
|
||||
@require_POST
|
||||
@login_required
|
||||
def delete_group(request, group_id):
|
||||
"""delete a group"""
|
||||
group = get_object_or_404(models.Group, id=group_id)
|
||||
|
||||
# only the owner can delete a group
|
||||
group.raise_not_deletable(request.user)
|
||||
|
||||
# deal with any group lists
|
||||
models.List.objects.filter(group=group).update(curation="closed", group=None)
|
||||
|
||||
group.delete()
|
||||
return redirect(request.user.local_path + "/groups")
|
||||
|
||||
|
||||
@require_POST
|
||||
@login_required
|
||||
def invite_member(request):
|
||||
|
@ -268,3 +284,4 @@ def reject_membership(request):
|
|||
pass
|
||||
|
||||
return redirect(request.user.local_path)
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue