From 9e95da5e031a99d2be04083662dd67ca20d8931c Mon Sep 17 00:00:00 2001 From: uttamthummala Date: Fri, 20 Oct 2023 19:33:13 +0530 Subject: [PATCH 1/5] Fixed error in timezone --- CDC_Backend/APIs/adminViews.py | 8 ++++++-- CDC_Backend/APIs/studentViews.py | 4 ++-- CDC_Backend/APIs/tests/test_adminView.py | 6 +++--- CDC_Backend/APIs/utils.py | 4 ++-- 4 files changed, 13 insertions(+), 9 deletions(-) diff --git a/CDC_Backend/APIs/adminViews.py b/CDC_Backend/APIs/adminViews.py index d04a980..2f4a4b6 100644 --- a/CDC_Backend/APIs/adminViews.py +++ b/CDC_Backend/APIs/adminViews.py @@ -4,6 +4,7 @@ from rest_framework.decorators import api_view from .serializers import * from .utils import * +import pytz @api_view(['POST']) @@ -124,7 +125,10 @@ def updateDeadline(request, id, email, user_type): opening.deadline_datetime = datetime.datetime.strptime(data[DEADLINE_DATETIME], '%Y-%m-%d %H:%M:%S %z') opening.changed_by = get_object_or_404(User, id=id) opening.save() - deadline=opening.deadline_datetime.strftime('%Y-%m-%d %H:%M:%S') + deadline=opening.deadline_datetime + itz=pytz.timezone('Asia/Kolkata') + deadline=deadline.astimezone(itz) + deadline=deadline.strftime('%Y-%m-%d %H:%M:%S') send_opening_to_notifications_service(id=opening.id,name=opening.company_name,deadline=deadline,role=opening.designation) return Response({'action': "Update Deadline", 'message': "Deadline Updated"}, status=status.HTTP_200_OK) @@ -151,7 +155,7 @@ def updateOfferAccepted(request, id, email, user_type): if DEADLINE_DATETIME in data: deadline_datetime = datetime.datetime.strptime(data[DEADLINE_DATETIME], '%Y-%m-%d %H:%M:%S %z') else: - deadline_datetime = timezone.now().replace(hour=0, minute=0, second=0, microsecond=0) + datetime.timedelta(days=2) + deadline_datetime = timezone.localtime(timezone.now()).replace(hour=0, minute=0, second=0, microsecond=0) + datetime.timedelta(days=2) if opening_type == "Internship": opening = get_object_or_404(Internship, pk=data[OPENING_ID]) else: diff --git a/CDC_Backend/APIs/studentViews.py b/CDC_Backend/APIs/studentViews.py index f373ca8..a324afc 100644 --- a/CDC_Backend/APIs/studentViews.py +++ b/CDC_Backend/APIs/studentViews.py @@ -109,7 +109,7 @@ def getDashboard(request, id, email, user_type): placementsdata = PlacementSerializerForStudent(filtered_placements, many=True).data - placementApplications = PlacementApplication.objects.filter(student_id=id) + placementApplications = PlacementApplication.objects.filter(student_id=id).order_by('-updated_at') placementApplications = PlacementApplicationSerializer(placementApplications, many=True).data internships = Internship.objects.filter(allowed_batch__contains=[studentDetails.batch], allowed_branch__contains=[studentDetails.branch], @@ -119,7 +119,7 @@ def getDashboard(request, id, email, user_type): filtered_internships = internship_eligibility_filters(studentDetails, internships) internshipsdata = InternshipSerializerForStudent(filtered_internships, many=True).data - internshipApplications = InternshipApplication.objects.filter(student_id=id) + internshipApplications = InternshipApplication.objects.filter(student_id=id).order_by('-updated_at') internshipApplications = InternshipApplicationSerializer(internshipApplications, many=True).data return Response( {'action': "Get Dashboard - Student", 'message': "Data Found", "placements": placementsdata, diff --git a/CDC_Backend/APIs/tests/test_adminView.py b/CDC_Backend/APIs/tests/test_adminView.py index 9f455ab..d9be51a 100644 --- a/CDC_Backend/APIs/tests/test_adminView.py +++ b/CDC_Backend/APIs/tests/test_adminView.py @@ -721,7 +721,7 @@ class AdminView(APITestCase): self.assertEqual(Placement.objects.get( id=self.placement1.id).offer_accepted, True) self.assertEqual(Placement.objects.get( - id=self.placement1.id).deadline_datetime, timezone.now().replace(hour=0, minute=0, second=0, microsecond=0)+timezone.timedelta(days=2)) + id=self.placement1.id).deadline_datetime, timezone.localtime(timezone.now()).replace(hour=0, minute=0, second=0, microsecond=0)+timezone.timedelta(days=2)) def test_offerAccepted_withDeadline(self): url = reverse("Update Offer Accepted") @@ -729,7 +729,7 @@ class AdminView(APITestCase): "opening_type": "Placement", "opening_id": self.placement3.id, "offer_accepted": "true", - "deadline_datetime": (timezone.now().replace( + "deadline_datetime": (timezone.localtime(timezone.now()).replace( hour=0, minute=0, second=0, microsecond=0)+timezone.timedelta(days=1)).strftime('%Y-%m-%d %H:%M:%S %z') } self.admin.user_type = ["s_admin"] @@ -739,7 +739,7 @@ class AdminView(APITestCase): data), content_type='application/json') self.assertEqual(response.status_code, status.HTTP_200_OK) self.assertEqual(Placement.objects.get( - id=self.placement3.id).deadline_datetime, timezone.now().replace(hour=0, minute=0, second=0, microsecond=0)+timezone.timedelta(days=1)) + id=self.placement3.id).deadline_datetime, timezone.localtime(timezone.now()).replace(hour=0, minute=0, second=0, microsecond=0)+timezone.timedelta(days=1)) self.assertEqual(response.data['message'], 'Offer Accepted Updated') def test_offerAccepted_wrongOpening(self): diff --git a/CDC_Backend/APIs/utils.py b/CDC_Backend/APIs/utils.py index a439233..ff54a8a 100644 --- a/CDC_Backend/APIs/utils.py +++ b/CDC_Backend/APIs/utils.py @@ -481,11 +481,11 @@ def get_eligible_emails(opening_id, opening_type=PLACEMENT): emails.append(student_user.email) except Exception as e: logger.warning('Utils - send_opening_notifications: For Loop' + str(e)) - return False + return False, [] return True, emails except: logger.warning('Utils - send_opening_notifications: ' + str(sys.exc_info())) - return False + return False, [] def exception_email(opening): opening = opening.dict() From e428602ed5d76efeb1fba9b8362169eee270daea Mon Sep 17 00:00:00 2001 From: uttamthummala Date: Fri, 20 Oct 2023 19:42:16 +0530 Subject: [PATCH 2/5] fixed error in test --- CDC_Backend/APIs/tests/test_adminView.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/CDC_Backend/APIs/tests/test_adminView.py b/CDC_Backend/APIs/tests/test_adminView.py index d9be51a..68764e2 100644 --- a/CDC_Backend/APIs/tests/test_adminView.py +++ b/CDC_Backend/APIs/tests/test_adminView.py @@ -1199,7 +1199,7 @@ class AdminView(APITestCase): self.assertEqual(Internship.objects.get( id=self.internship1.id).offer_accepted, True) self.internship1.refresh_from_db() - self.assertEqual(self.internship1.deadline_datetime, timezone.now().replace( + self.assertEqual(self.internship1.deadline_datetime, timezone.localtime(timezone.now()).replace( hour=0, minute=0, second=0, microsecond=0)+timezone.timedelta(days=2)) def test_updateofferAccepted_withDeadline_internship(self): @@ -1208,7 +1208,7 @@ class AdminView(APITestCase): "opening_type": "Internship", "opening_id": self.internship3.id, "offer_accepted": "true", - "deadline_datetime": (timezone.now().replace( + "deadline_datetime": (timezone.localtime(timezone.now()).replace( hour=0, minute=0, second=0, microsecond=0)+timezone.timedelta(days=1)).strftime('%Y-%m-%d %H:%M:%S %z') } self.admin.user_type = ["s_admin"] @@ -1219,7 +1219,7 @@ class AdminView(APITestCase): self.internship3.refresh_from_db() self.assertEqual(response.status_code, status.HTTP_200_OK) self.assertEqual(Internship.objects.get( - id=self.internship3.id).deadline_datetime, timezone.now().replace(hour=0, minute=0, second=0, microsecond=0)+timezone.timedelta(days=1)) + id=self.internship3.id).deadline_datetime, timezone.localtime(timezone.now()).replace(hour=0, minute=0, second=0, microsecond=0)+timezone.timedelta(days=1)) self.assertEqual(response.data['message'], 'Offer Accepted Updated') def test_updateofferAccepted_wrongOpening_internship(self): From 5901f0ea3788d128d82170e0fd1e625018d61ba6 Mon Sep 17 00:00:00 2001 From: uttamthummala Date: Fri, 20 Oct 2023 20:37:31 +0530 Subject: [PATCH 3/5] fixed warnings --- CDC_Backend/APIs/adminViews.py | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/CDC_Backend/APIs/adminViews.py b/CDC_Backend/APIs/adminViews.py index 2f4a4b6..27f6225 100644 --- a/CDC_Backend/APIs/adminViews.py +++ b/CDC_Backend/APIs/adminViews.py @@ -125,10 +125,7 @@ def updateDeadline(request, id, email, user_type): opening.deadline_datetime = datetime.datetime.strptime(data[DEADLINE_DATETIME], '%Y-%m-%d %H:%M:%S %z') opening.changed_by = get_object_or_404(User, id=id) opening.save() - deadline=opening.deadline_datetime - itz=pytz.timezone('Asia/Kolkata') - deadline=deadline.astimezone(itz) - deadline=deadline.strftime('%Y-%m-%d %H:%M:%S') + deadline=opening.deadline_datetime.strftime('%Y-%m-%d %H:%M:%S %z') send_opening_to_notifications_service(id=opening.id,name=opening.company_name,deadline=deadline,role=opening.designation) return Response({'action': "Update Deadline", 'message': "Deadline Updated"}, status=status.HTTP_200_OK) @@ -166,7 +163,7 @@ def updateOfferAccepted(request, id, email, user_type): opening.changed_by = get_object_or_404(User, id=id) opening.save() if opening.offer_accepted: - deadline=deadline_datetime.strftime('%Y-%m-%d %H:%M:%S') + deadline=deadline_datetime.strftime('%Y-%m-%d %H:%M:%S %z') send_opening_to_notifications_service(id=opening.id,name=opening.company_name,deadline=deadline,role=opening.designation) send_opening_notifications(opening.id,opening_type) else: From c2fdb3a59ce8b6a580dd7ad0dd30ab6eed71f92c Mon Sep 17 00:00:00 2001 From: karthikmurakonda Date: Fri, 20 Oct 2023 22:15:01 +0530 Subject: [PATCH 4/5] removed unused import --- CDC_Backend/APIs/adminViews.py | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/CDC_Backend/APIs/adminViews.py b/CDC_Backend/APIs/adminViews.py index 27f6225..35f0572 100644 --- a/CDC_Backend/APIs/adminViews.py +++ b/CDC_Backend/APIs/adminViews.py @@ -4,7 +4,6 @@ from rest_framework.decorators import api_view from .serializers import * from .utils import * -import pytz @api_view(['POST']) @@ -125,8 +124,7 @@ def updateDeadline(request, id, email, user_type): opening.deadline_datetime = datetime.datetime.strptime(data[DEADLINE_DATETIME], '%Y-%m-%d %H:%M:%S %z') opening.changed_by = get_object_or_404(User, id=id) opening.save() - deadline=opening.deadline_datetime.strftime('%Y-%m-%d %H:%M:%S %z') - send_opening_to_notifications_service(id=opening.id,name=opening.company_name,deadline=deadline,role=opening.designation) + send_opening_to_notifications_service(id=opening.id,name=opening.company_name,deadline=data[DEADLINE_DATETIME],role=opening.designation) return Response({'action': "Update Deadline", 'message': "Deadline Updated"}, status=status.HTTP_200_OK) except Http404: @@ -163,8 +161,7 @@ def updateOfferAccepted(request, id, email, user_type): opening.changed_by = get_object_or_404(User, id=id) opening.save() if opening.offer_accepted: - deadline=deadline_datetime.strftime('%Y-%m-%d %H:%M:%S %z') - send_opening_to_notifications_service(id=opening.id,name=opening.company_name,deadline=deadline,role=opening.designation) + send_opening_to_notifications_service(id=opening.id,name=opening.company_name,deadline=data[DEADLINE_DATETIME],role=opening.designation) send_opening_notifications(opening.id,opening_type) else: raise ValueError("Offer Status already updated") From 0963ceaaa5fc52f94c1ac9a940889cb690e9f742 Mon Sep 17 00:00:00 2001 From: karthikmurakonda Date: Fri, 20 Oct 2023 22:35:47 +0530 Subject: [PATCH 5/5] fix error --- CDC_Backend/APIs/adminViews.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/CDC_Backend/APIs/adminViews.py b/CDC_Backend/APIs/adminViews.py index 35f0572..eb76008 100644 --- a/CDC_Backend/APIs/adminViews.py +++ b/CDC_Backend/APIs/adminViews.py @@ -161,7 +161,8 @@ def updateOfferAccepted(request, id, email, user_type): opening.changed_by = get_object_or_404(User, id=id) opening.save() if opening.offer_accepted: - send_opening_to_notifications_service(id=opening.id,name=opening.company_name,deadline=data[DEADLINE_DATETIME],role=opening.designation) + deadline=deadline_datetime.strftime('%Y-%m-%d %H:%M:%S %z') + send_opening_to_notifications_service(id=opening.id,name=opening.company_name,deadline=deadline,role=opening.designation) send_opening_notifications(opening.id,opening_type) else: raise ValueError("Offer Status already updated")