feat(access): when modifying a team ad/remove user from linked group
!1
This commit is contained in:
@ -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']}"
|
||||
|
||||
|
Reference in New Issue
Block a user