Skip to content

Commit c1eb2ed

Browse files
author
ninjadev999
committed
added logging function and updated admin part
1 parent 68fa043 commit c1eb2ed

File tree

21 files changed

+703
-146
lines changed

21 files changed

+703
-146
lines changed

backend/.idea/workspace.xml

Lines changed: 53 additions & 16 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

backend/agency/casting_request_views.py

Lines changed: 48 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
from casting_request_talent.models import CastingRequestTalent
66
from casting_request_talent.details_by_talent_serializers import CastingRequestTalentDetailByTalentSerializer
77
from agency.casting_request_serializers import CastingRequestSearchSerializer, CastingRequestSetStatusSerializer
8+
from user_note.models import UserNoteManager
89
from django.http import Http404
910
from rest_framework.views import APIView
1011
from rest_framework.response import Response
@@ -57,13 +58,32 @@ def put(self, request, pk, format=None):
5758
serializer = CastingRequestSerializer(casting_request, data=request.data)
5859
if serializer.is_valid():
5960
serializer.save()
61+
62+
agency = request.user
63+
client_user = casting_request.client.user
64+
UserNoteManager.casting_request_logger(
65+
agency, agency, client_user,
66+
'updated casting reqeust.',
67+
casting_request
68+
)
69+
6070
return Response(serializer.data)
6171
return Response({'error': serializer.errors}, status=status.HTTP_400_BAD_REQUEST)
6272

6373
@swagger_auto_schema(responses={200: 'OK'})
6474
def delete(self, request, pk, format=None):
6575
casting_request = self.get_object(pk)
76+
77+
agency = request.user
78+
client_user = casting_request.client.user
79+
UserNoteManager.casting_request_logger(
80+
agency, agency, client_user,
81+
'deteled casting reqeust.',
82+
casting_request
83+
)
84+
6685
casting_request.delete()
86+
6787
return Response(status=status.HTTP_204_NO_CONTENT)
6888

6989

@@ -82,12 +102,39 @@ def get_object(self, pk):
82102
def put(self, request, pk, format=None):
83103
casting_request = self.get_object(pk)
84104

85-
CastingRequestSerializer
86105
serializer = CastingRequestSetStatusSerializer(casting_request, data=request.data)
87106
if serializer.is_valid():
88107
casting_request.status = request.data['status']
89108
casting_request.status_updated_date = request.data['status_updated_date']
90109
casting_request.save()
110+
111+
agency_user = request.user
112+
if agency_user:
113+
client_user = casting_request.client.user
114+
status = casting_request.status
115+
if status == 'Requested':
116+
note = '{client_user} requested.'.format(client_user=client_user.first_name)
117+
elif status == 'Reviewing':
118+
note = 'Reviewing'
119+
elif status == 'In Progress':
120+
note = 'Contracted to confirm request.'
121+
elif status == 'Accepted.':
122+
note = 'Accepted'
123+
elif status == 'Declined.':
124+
note = 'Declined'
125+
elif status == 'Canceled.':
126+
note = '{client_user} canceled.'.format(client_user=client_user)
127+
elif status == 'Completed':
128+
note = 'Completed.'
129+
130+
UserNoteManager.casting_request_logger(agency_user.first_name, client_user, client_user, note, casting_request)
131+
132+
casting_request_talents = CastingRequestTalent.objects.filter(casting_request=casting_request)
133+
if len(casting_request_talents) > 0:
134+
for casting_request_talent in casting_request_talents:
135+
talent_user = casting_request_talent.talent.user
136+
UserNoteManager.casting_request_talent_logger(agency_user.first_name, client_user, talent_user, note, casting_request_talent)
137+
91138
new_serializer = CastingRequestDetailSerializer(casting_request)
92139
return Response(new_serializer.data)
93140
# serializer.save()

backend/authentication/urls.py

Lines changed: 1 addition & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,12 @@
11
from django.conf.urls import include, url
22

3-
from rest_framework_jwt.views import obtain_jwt_token
4-
from rest_framework_jwt.views import obtain_jwt_token
53
from rest_framework_jwt.views import refresh_jwt_token
64
from rest_framework_jwt.views import verify_jwt_token
7-
8-
from rest_framework import status
9-
from rest_framework.views import APIView
10-
from rest_framework.authtoken.views import ObtainAuthToken
11-
from rest_framework.authtoken.models import Token
12-
from rest_framework.response import Response
13-
from rest_framework.permissions import AllowAny
145
from rest_framework.routers import DefaultRouter
156
from .serializers import RegistrationSerializer
16-
from user_note.models import UserNoteManager
177
from .models import User
18-
from .views import RegistrationAPIView, RegisterViewSet
19-
from rest_framework_jwt.settings import api_settings
20-
from drf_yasg.utils import swagger_auto_schema
21-
from django.core.exceptions import ObjectDoesNotExist
22-
8+
from .views import RegistrationAPIView, RegisterViewSet, CustomAuthToken, Logout
239

24-
jwt_payload_handler = api_settings.JWT_PAYLOAD_HANDLER
25-
jwt_encode_handler = api_settings.JWT_ENCODE_HANDLER
2610

2711
router = DefaultRouter()
2812
router.register(r'^', RegisterViewSet)
@@ -31,33 +15,6 @@
3115
'post': 'create'
3216
})
3317

34-
35-
class CustomAuthToken(ObtainAuthToken):
36-
def post(self, request, *args, **kwargs):
37-
serializer = self.serializer_class(
38-
data=request.data,
39-
context={'request': request}
40-
)
41-
serializer.is_valid(raise_exception=True)
42-
user = serializer.validated_data['user']
43-
payload = jwt_payload_handler(user)
44-
payload['type'] = user.type
45-
token = jwt_encode_handler(payload)
46-
UserNoteManager.login_logger(None, user, user, 'logged in')
47-
return Response({'token': token})
48-
49-
class Logout(APIView):
50-
def post(self, request, *args, **kwargs):
51-
# simply delete the token to force a login
52-
user = request.user
53-
UserNoteManager.logout_logger(None, user, user, 'logged out')
54-
try:
55-
user.auth_token.delete()
56-
except (AttributeError, ObjectDoesNotExist):
57-
pass
58-
59-
return Response(status=status.HTTP_200_OK)
60-
6118
urlpatterns = [
6219
url(r'^login/', CustomAuthToken.as_view()), #obtain_jwt_token
6320
url(r'^logout/', Logout.as_view()), #refresh_jwt_token

backend/authentication/views.py

Lines changed: 51 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,24 @@
1+
from .models import User
2+
from .serializers import RegistrationSerializer
3+
from user_note.models import UserNoteManager
4+
from talent.models import Talent
15
from django.shortcuts import render
2-
3-
# Create your views here.
6+
from django.core.exceptions import ObjectDoesNotExist
47
from rest_framework import status
58
from rest_framework.permissions import AllowAny
69
from rest_framework.response import Response
710
from rest_framework.views import APIView
11+
from rest_framework.authtoken.views import ObtainAuthToken
812
from rest_framework.decorators import api_view
913
from rest_framework import viewsets
10-
from .models import User
11-
from .serializers import RegistrationSerializer
12-
from talent.models import Talent
14+
from rest_framework_jwt.settings import api_settings
15+
from rest_framework.authtoken.models import Token
16+
from rest_framework.permissions import AllowAny
17+
from datetime import datetime
18+
from pytz import timezone
19+
20+
jwt_payload_handler = api_settings.JWT_PAYLOAD_HANDLER
21+
jwt_encode_handler = api_settings.JWT_ENCODE_HANDLER
1322

1423

1524
class RegisterViewSet(viewsets.ModelViewSet):
@@ -44,4 +53,40 @@ def post(self, request):
4453

4554
# return super(RegistrationAPIView, self).post(request, *args, **kwargs)
4655

47-
return Response(serializer.data, status=status.HTTP_201_CREATED)
56+
return Response(serializer.data, status=status.HTTP_201_CREATED)
57+
58+
59+
class CustomAuthToken(ObtainAuthToken):
60+
def post(self, request, *args, **kwargs):
61+
serializer = self.serializer_class(
62+
data=request.data,
63+
context={'request': request}
64+
)
65+
serializer.is_valid(raise_exception=True)
66+
user = serializer.validated_data['user']
67+
payload = jwt_payload_handler(user)
68+
payload['type'] = user.type
69+
token = jwt_encode_handler(payload)
70+
UserNoteManager.login_logger(
71+
None, None, user,
72+
'{now} logged in'.format(now=UserNoteManager.get_current_time()),
73+
user
74+
)
75+
return Response({'token': token})
76+
77+
78+
class Logout(APIView):
79+
def post(self, request, *args, **kwargs):
80+
# simply delete the token to force a login
81+
user = request.user
82+
UserNoteManager.logout_logger(
83+
None, None, user,
84+
'{now} logged out'.format(now=UserNoteManager.get_current_time()),
85+
user
86+
)
87+
try:
88+
user.auth_token.delete()
89+
except (AttributeError, ObjectDoesNotExist):
90+
pass
91+
92+
return Response(status=status.HTTP_200_OK)

0 commit comments

Comments
 (0)