|
1 | 1 | from datetime import datetime |
2 | 2 |
|
3 | 3 | import jwt |
| 4 | +from django.apps import apps |
4 | 5 | from django.conf import settings |
5 | 6 | from django.contrib.auth import get_user_model |
6 | 7 | from django.contrib.sites.shortcuts import get_current_site |
|
23 | 24 |
|
24 | 25 | from core.permissions import IsOwnerOrReadOnly |
25 | 26 | from core.utils import Email |
| 27 | +from projects.serializers import ProjectListSerializer |
26 | 28 | from users.helpers import VERBOSE_ROLE_TYPES, VERBOSE_USER_TYPES |
27 | 29 | from users.models import UserAchievement |
28 | 30 | from users.permissions import IsAchievementOwnerOrReadOnly |
|
35 | 37 | UserListSerializer, |
36 | 38 | VerifyEmailSerializer, |
37 | 39 | ) |
| 40 | + |
38 | 41 | from .filters import UserFilter |
39 | 42 |
|
40 | 43 | User = get_user_model() |
| 44 | +Project = apps.get_model("projects", "Project") |
41 | 45 |
|
42 | 46 |
|
43 | 47 | class UserList(ListCreateAPIView): |
@@ -309,3 +313,16 @@ class AchievementDetail(RetrieveUpdateDestroyAPIView): |
309 | 313 | queryset = UserAchievement.objects.get_achievements_for_detail_view() |
310 | 314 | serializer_class = AchievementDetailSerializer |
311 | 315 | permission_classes = [IsAchievementOwnerOrReadOnly] |
| 316 | + |
| 317 | + |
| 318 | +class UserDraftsList(APIView): |
| 319 | + permission_classes = [IsAuthenticated] |
| 320 | + |
| 321 | + def get(self, request): |
| 322 | + serializer = ProjectListSerializer( |
| 323 | + Project.objects.get_projects_for_user_drafts_view().filter( |
| 324 | + leader=self.request.user |
| 325 | + ), |
| 326 | + many=True, |
| 327 | + ) |
| 328 | + return Response(serializer.data, status=status.HTTP_200_OK) |
0 commit comments