From 6db163734a0a5055f3e5cb796e0cb532f77ceb85 Mon Sep 17 00:00:00 2001 From: Hironsan Date: Tue, 2 Mar 2021 16:55:15 +0900 Subject: [PATCH] Allow any user to create a project --- app/api/views/project.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/app/api/views/project.py b/app/api/views/project.py index da5a1b62..6b51c879 100644 --- a/app/api/views/project.py +++ b/app/api/views/project.py @@ -3,7 +3,7 @@ from rest_framework import generics, status from rest_framework.permissions import IsAuthenticated from rest_framework.response import Response -from ..models import Project +from ..models import Project, RoleMapping, Role from ..permissions import IsInProjectReadOnlyOrAdmin from ..serializers import ProjectPolymorphicSerializer, ProjectSerializer @@ -11,13 +11,15 @@ from ..serializers import ProjectPolymorphicSerializer, ProjectSerializer class ProjectList(generics.ListCreateAPIView): serializer_class = ProjectPolymorphicSerializer pagination_class = None - permission_classes = [IsAuthenticated] + permission_classes = [IsAuthenticated, ] def get_queryset(self): return self.request.user.projects def perform_create(self, serializer): - serializer.save(users=[self.request.user]) + project = serializer.save(users=[self.request.user]) + admin_role = Role.objects.get(name=settings.ROLE_PROJECT_ADMIN) + RoleMapping(role=admin_role, user=self.request.user, project=project).save() def delete(self, request, *args, **kwargs): delete_ids = request.data['ids']