dismiss from team members method

This commit is contained in:
Kuroshini 2020-02-04 19:40:30 +03:00
parent a302e1181c
commit eb8ee67f06
2 changed files with 16 additions and 1 deletions

View File

@ -80,5 +80,8 @@ urlpatterns = [
path('available_statuses/', views.StatusesListView.as_view(), name='statuses-list'),
path('employee_establishment_positions/<int:pk>/', views.EmployeeEstablishmentPositionsView.as_view(),
name='employee-establishment-positions'),
path('team/<int:establishment_id>', views.TeamMemberListView.as_view(), name='establishment-team-members-list')
path('team/<int:establishment_id>', views.TeamMemberListView.as_view(), name='establishment-team-members-list'),
path('team/<int:establishment_id>/<int:user_id>', views.TeamMemberDeleteView.as_view(),
name='establishment-team-member-delete'),
]

View File

@ -926,3 +926,15 @@ class TeamMemberListView(generics.ListAPIView):
establishment = get_object_or_404(klass=models.Establishment, pk=self.kwargs['establishment_id'])
return super().get_queryset().filter(roles__role=Role.ESTABLISHMENT_ADMINISTRATOR,
userrole__establishment=establishment, userrole__state=UserRole.VALIDATED)
class TeamMemberDeleteView(generics.DestroyAPIView):
"""Delete user from team"""
permission_classes = get_permission_classes(
IsEstablishmentManager,
IsEstablishmentAdministrator
)
def get_object(self):
return UserRole.objects.get(role__role=Role.ESTABLISHMENT_ADMINISTRATOR, user_id=self.kwargs['user_id'],
establishment_id=self.kwargs['establishment_id'])