Skip to content

Commit c39113f

Browse files
author
ninjadev999
committed
Merge pull request #117 from goldenstar999/backend
updated admin part
2 parents c3720da + 05d4b1a commit c39113f

File tree

69 files changed

+2579
-437
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

69 files changed

+2579
-437
lines changed

backend/.idea/workspace.xml

Lines changed: 64 additions & 31 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
11
from rest_framework import serializers
22
from drf_yasg.utils import swagger_serializer_method
33

4-
class CastingRequestSearchSerializer(serializers.Serializer):
5-
talent_id = serializers.IntegerField(required=False)
6-
74

85
class CastingRequestSetStatusSerializer(serializers.Serializer):
96
status = serializers.CharField(max_length=20, required=True)
10-
status_updated_date = serializers.DateTimeField(required=True)
7+
status_updated_date = serializers.DateTimeField(required=True)
8+
9+
10+
class CastingRequestSearchSerializer(serializers.Serializer):
11+
status = serializers.ListField(serializers.CharField(required=False), required=False)
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
from rest_framework import serializers
2+
3+
4+
class CastingRequestTalentSearchSerializer(serializers.Serializer):
5+
talent_id = serializers.IntegerField(required=False)
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
from django.urls import re_path
2+
from agency import casting_request_talent_views
3+
4+
urlpatterns = [
5+
re_path(r'^search', casting_request_talent_views.CastingRequestTalentSearch.as_view()),
6+
]
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
from authentication.models import User
2+
from casting_request_talent.models import CastingRequestTalent
3+
from casting_request_talent.details_by_talent_serializers import CastingRequestTalentDetailByTalentSerializer
4+
from agency.casting_request_talent_serializers import CastingRequestTalentSearchSerializer
5+
from django.http import Http404
6+
from rest_framework.views import APIView
7+
from rest_framework.response import Response
8+
from rest_framework import status
9+
from drf_yasg.utils import swagger_auto_schema
10+
11+
12+
class CastingRequestTalentSearch(APIView):
13+
"""
14+
Retrieve all casting requests of talent.
15+
"""
16+
@swagger_auto_schema(request_body=CastingRequestTalentSearchSerializer, responses={200: CastingRequestTalentDetailByTalentSerializer(many=True)})
17+
def post(self, request, format=None):
18+
user = User.objects.get(pk=request.user.pk)
19+
casting_request_talents = CastingRequestTalent.objects.filter(talent=request.data['talent_id'])
20+
serializer = CastingRequestTalentDetailByTalentSerializer(casting_request_talents, many=True)
21+
return Response(serializer.data)
22+

backend/agency/casting_request_urls.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,5 +6,4 @@
66
re_path(r'^search', casting_request_views.CastingRequestSearch.as_view()),
77
re_path(r'^(?P<pk>[0-9]+)/', casting_request_views.CastingRequestDetail.as_view()),
88
re_path(r'^set_status/(?P<pk>[0-9]+)/', casting_request_views.CastingRequestSetStatus.as_view()),
9-
109
]

backend/agency/casting_request_views.py

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
from casting_request.serializers import CastingRequestSerializer, CastingRequestCreateSerializer
44
from casting_request.detail_serializers import CastingRequestDetailSerializer
55
from casting_request_talent.models import CastingRequestTalent
6-
from casting_request_talent.details_by_talent_serializers import CastingRequestTalentDetailByTalentSerializer
76
from agency.casting_request_serializers import CastingRequestSearchSerializer, CastingRequestSetStatusSerializer
87
from user_note.models import UserNoteManager
98
from django.http import Http404
@@ -24,17 +23,23 @@ def get(self, request, format=None):
2423
serializer = CastingRequestSerializer(casting_requests, many=True)
2524
return Response(serializer.data)
2625

26+
2727
class CastingRequestSearch(APIView):
2828
"""
29-
Retrieve all casting requests of talent.
29+
Retrieve all casting requests matching to search conditioin.
3030
"""
31-
@swagger_auto_schema(request_body=CastingRequestSearchSerializer, responses={200: CastingRequestTalentDetailByTalentSerializer(many=True)})
31+
@swagger_auto_schema(request_body=CastingRequestSearchSerializer, responses={200: CastingRequestDetailSerializer(many=True)})
3232
def post(self, request, format=None):
3333
user = User.objects.get(pk=request.user.pk)
34-
casting_request_talents = CastingRequestTalent.objects.filter(talent=request.data['talent_id'])
35-
serializer = CastingRequestTalentDetailByTalentSerializer(casting_request_talents, many=True)
34+
if 'status' in request.data:
35+
casting_requests = CastingRequest.objects.filter(status__in=request.data['status'])
36+
else :
37+
casting_requests = CastingRequest.objects.all()
38+
39+
serializer = CastingRequestDetailSerializer(casting_requests, many=True)
3640
return Response(serializer.data)
3741

42+
3843
class CastingRequestDetail(APIView):
3944
"""
4045
Retrieve, update or delete a casting request
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
2+
from rest_framework import serializers
3+
4+
5+
class AgencyOverviewSerializer(serializers.Serializer):
6+
new_profiles = serializers.IntegerField(required=False)
7+
edit_profiles = serializers.IntegerField(required=False)
8+
casting_requests = serializers.IntegerField(required=False)
9+
dance_combo_loackouts = serializers.IntegerField(required=False)
10+
medical_disclousure = serializers.IntegerField(required=False)

backend/agency/overview/urls.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
from django.urls import re_path
2+
from agency.overview import views
3+
4+
urlpatterns = [
5+
re_path(r'^overview', views.AgencyOverview.as_view()),
6+
]

backend/agency/overview/views.py

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
from authentication.models import User
2+
from casting_request.models import CastingRequest
3+
from talent.models import Talent
4+
from agency.overview.serializers import AgencyOverviewSerializer
5+
from django.http import Http404
6+
from rest_framework.views import APIView
7+
from rest_framework.response import Response
8+
from rest_framework import status
9+
from drf_yasg.utils import swagger_auto_schema
10+
11+
12+
class AgencyOverview(APIView):
13+
"""
14+
Retrieve overview info
15+
"""
16+
@swagger_auto_schema(responses={200: AgencyOverviewSerializer(many=False)})
17+
def get(self, request, format=None):
18+
user = User.objects.get(pk=request.user.pk)
19+
new_profiles = Talent.objects.filter(approved=False).count()
20+
edit_profiles = Talent.objects.filter(approved=True).count()
21+
casting_requests = CastingRequest.objects.filter(status__in=['Requested', 'Reviewing']).count()
22+
dance_combo_lockouts = Talent.objects.filter(locked_dance_combination=True).count()
23+
medical_disclousures = 0
24+
data = {
25+
"new_profiles": new_profiles,
26+
"edit_profiles": edit_profiles,
27+
"casting_requests": casting_requests,
28+
"dance_combo_lockouts": dance_combo_lockouts,
29+
"medical_disclousures": medical_disclousures
30+
}
31+
# serializer = AgencyOverviewSerializer(data, many=False)
32+
return Response(data)
33+

backend/blocked_profile/views.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
from blocked_profile.serializers import BlockedProfileSerializer
55
from blocked_profile.detail_serializers import BlockedProfileDetailSerializer
66
from blocked_profile.create_serializers import BlockedProfileCreateSerializer
7+
from user_note.models import UserNote, UserNoteManager
78
from django.http import Http404
89
from rest_framework.views import APIView
910
from rest_framework.response import Response
@@ -53,6 +54,10 @@ def put(self, request, pk, format=None):
5354
@swagger_auto_schema(responses={200: 'OK'})
5455
def delete(self, request, pk, format=None):
5556
blocked_profile = self.get_object(pk)
57+
58+
note = '{client} REMOVED BLOCK.'.format(client=blocked_profile.client.user.email)
59+
UserNoteManager.block_logger(None, blocked_profile.client.user, blocked_profile.talent.user, note, blocked_profile)
60+
5661
blocked_profile.delete()
5762
return Response({'id': int(pk)}, status=status.HTTP_200_OK)
5863

@@ -69,6 +74,10 @@ def post(self, request, format=None):
6974
if serializer.is_valid():
7075
new_blocked_profile = BlockedProfile(client_id=client.id, **serializer.validated_data)
7176
new_blocked_profile.save()
77+
78+
note = '{client} BLOCKED FOR {duration}.'.format(client=client.user.email, duration=new_blocked_profile.description)
79+
UserNoteManager.block_logger(None, client.user, new_blocked_profile.talent.user, note, new_blocked_profile)
80+
7281
new_serializer = BlockedProfileDetailSerializer(new_blocked_profile, many=False)
7382
return Response(new_serializer.data, status=status.HTTP_201_CREATED)
7483

0 commit comments

Comments
 (0)