feat(access): when modifying a team ad/remove user from linked group

!1
This commit is contained in:
2024-05-13 22:13:45 +09:30
parent a0f4940a09
commit 070ba47de2

View File

@ -1,4 +1,5 @@
from django.contrib.auth.mixins import PermissionRequiredMixin, LoginRequiredMixin
from django.contrib.auth.models import User, Group
from django.views import generic
from access.mixin import OrganizationPermission
@ -20,7 +21,13 @@ class Add(PermissionRequiredMixin, OrganizationPermission, generic.CreateView):
def form_valid(self, form):
form.instance.team = Team.objects.get(pk=self.kwargs['pk'])
team = Team.objects.get(pk=self.kwargs['pk'])
form.instance.team = team
group = Group.objects.get(pk=team.group_ptr_id)
user = User.objects.get(pk=self.request.POST['user'][0])
user.groups.add(group)
return super().form_valid(form)
@ -45,6 +52,20 @@ class Delete(PermissionRequiredMixin, OrganizationPermission, generic.DeleteView
template_name = 'form.html.j2'
def form_valid(self, form):
team = Team.objects.get(pk=self.kwargs['team_id'])
teamuser = TeamUsers.objects.get(pk=self.kwargs['pk'])
group = Group.objects.get(pk=team.group_ptr_id)
user = User.objects.get(pk=teamuser.user_id)
user.groups.remove(group)
return super().form_valid(form)
def get_success_url(self, **kwargs):
return f"/organization/{self.kwargs['organization_id']}/team/{self.kwargs['team_id']}"