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:
Hugh Rundle
2021-10-16 17:35:36 +11:00
parent 85784f07d2
commit 2a31bf2f0c
5 changed files with 30 additions and 11 deletions

View File

@ -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)