From 4b4cb607d5d3204c78faeb3d3be37585d4217479 Mon Sep 17 00:00:00 2001 From: Himanshu Date: Mon, 17 Feb 2025 10:41:26 +0530 Subject: [PATCH 1/2] Updated handle_update_requests and create_proposal endpoints --- .../applications/iwdModuleV2/api/views.py | 119 ++++++++++-------- FusionIIIT/applications/iwdModuleV2/models.py | 2 +- 2 files changed, 65 insertions(+), 56 deletions(-) diff --git a/FusionIIIT/applications/iwdModuleV2/api/views.py b/FusionIIIT/applications/iwdModuleV2/api/views.py index 641422305..feb5aea57 100644 --- a/FusionIIIT/applications/iwdModuleV2/api/views.py +++ b/FusionIIIT/applications/iwdModuleV2/api/views.py @@ -347,7 +347,6 @@ def rejected_requests(request): return Response(obj, status=status.HTTP_200_OK) - @api_view(['POST']) @permission_classes([IsAuthenticated]) def handle_update_requests(request): @@ -360,46 +359,58 @@ def handle_update_requests(request): desg = data.get('role') receiver_desg, receiver_user = data.get('designation').split('|') - Requests.objects.filter(id=request_id).update( - name=request.data.get('name'), - description=request.data.get('description'), - area=request.data.get('area'), - engineerProcessed=0, - directorApproval=0, - deanProcessed=0, - requestCreatedBy=request.user.username, - status="Pending", - issuedWorkOrder=0, - workCompleted=0, - billGenerated=0, - billProcessed=0, - billSettled=0 - ) + # Requests.objects.filter(id=request_id).update( + # name=request.data.get('name'), + # description=request.data.get('description'), + # area=request.data.get('area'), + # engineerProcessed=0, + # directorApproval=0, + # deanProcessed=0, + # requestCreatedBy=request.user.username, + # status="Pending", + # issuedWorkOrder=0, + # workCompleted=0, + # billGenerated=0, + # billProcessed=0, + # billSettled=0 + # ) + + proposal_data = { + "request": request_id, + "created_by": request.user.id, + "supporting_documents": data.get('supporting_documents'), + "status": "Pending", + "items": data.get('items', []) + } + proposal_serializer = ProposalSerializer(data=proposal_data) + if proposal_serializer.is_valid(): + proposal = proposal_serializer.save() - try: - file_obj = File.objects.get(src_object_id=request_id, src_module="IWD") - if file_obj: - delete_file(file_obj.id) - except: - print("file doesnt exist") - if request_id: - create_file( - uploader=request.user.username, - uploader_designation=desg, - receiver=receiver_user, - receiver_designation=receiver_desg, - src_module="IWD", - src_object_id=str(request_id), - file_extra_JSON={"value": 2}, - attached_file=None - ) + try: + file_obj = File.objects.get(src_object_id=request_id, src_module="IWD") + if file_obj: + delete_file(file_obj.id) + except: + print("file doesnt exist") + if request_id: + create_file( + uploader=request.user.username, + uploader_designation=desg, + receiver=receiver_user, + receiver_designation=receiver_desg, + src_module="IWD", + src_object_id=str(request_id), + file_extra_JSON={"value": 2}, + attached_file=None + ) + else: + print("request id is invalid") + + receiver_user_obj = User.objects.get(username=receiver_user) + iwd_notif(request.user, receiver_user_obj, "Request updated") + return Response({"message": "Request updated successfully"}, status=status.HTTP_201_CREATED) else: - print("request id is invalid") - - receiver_user_obj = User.objects.get(username=receiver_user) - iwd_notif(request.user, receiver_user_obj, "Request_added") - - return Response({"message": "Request updated successfully"}, status=status.HTTP_200_OK) + return Response(proposal_serializer.errors, status=status.HTTP_400_BAD_REQUEST) @api_view(['GET']) @@ -1179,28 +1190,26 @@ def handle_settle_bill_requests(request): def create_proposal(request): data = request.data.copy() data["created_by"] = str(request.user) - print(data) - print(data.get('role')) data["request"] = data.get('id') - # print(Requests.objects.get(id=data.get('id'))) - # print(request.user) receiver_desg, receiver_user = data.get('designation').split('|') serializer = ProposalSerializer(data=data) if serializer.is_valid(): proposal = serializer.save() - file_id = create_file( - uploader=request.user.username, - uploader_designation=data.get('role'), - receiver=receiver_user, - receiver_designation=receiver_desg, - src_module="IWD", - src_object_id=str(proposal.id), - file_extra_JSON={"value": 2}, - attached_file=None - ) - file_instance = File.objects.get(id=file_id) - proposal.file = file_instance + # file_id = create_file( + # uploader=request.user.username, + # uploader_designation=data.get('role'), + # receiver=receiver_user, + # receiver_designation=receiver_desg, + # src_module="IWD", + # src_object_id=str(proposal.id), + # file_extra_JSON={"value": 2}, + # attached_file=None + # ) + # file_instance = File.objects.get(id=file_id) + # proposal.file = file_instance proposal.save() + receiver_user_obj = User.objects.get(username=receiver_user) + iwd_notif(request.user, receiver_user_obj, "Proposal_added") return Response(serializer.data, status=status.HTTP_201_CREATED) return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST) diff --git a/FusionIIIT/applications/iwdModuleV2/models.py b/FusionIIIT/applications/iwdModuleV2/models.py index 3dd3058d3..5ad6d97eb 100644 --- a/FusionIIIT/applications/iwdModuleV2/models.py +++ b/FusionIIIT/applications/iwdModuleV2/models.py @@ -202,7 +202,7 @@ class Budget(models.Model): class Proposal(models.Model): request = models.ForeignKey(Requests, on_delete=models.CASCADE, related_name='proposals') created_by = models.CharField(max_length=200) #models.ForeignKey(User, on_delete=models.CASCADE) - file = models.ForeignKey(File, on_delete=models.CASCADE, null=True, blank=True) + # file = models.ForeignKey(File, on_delete=models.CASCADE, null=True, blank=True) proposal_budget = models.DecimalField(max_digits=15, decimal_places=2, null=True, blank=True) supporting_documents = models.FileField(upload_to='proposals/', null=True, blank=True) created_at = models.DateTimeField(auto_now_add=True) From ac64a1125e32352adb11f34bf497c8548ba9871c Mon Sep 17 00:00:00 2001 From: Himanshu Date: Mon, 17 Feb 2025 10:45:31 +0530 Subject: [PATCH 2/2] Minor cleanup --- .cph/.A_String.cpp_2629740fb95527ed95853a5f515a9586.prob | 1 - 1 file changed, 1 deletion(-) delete mode 100644 .cph/.A_String.cpp_2629740fb95527ed95853a5f515a9586.prob diff --git a/.cph/.A_String.cpp_2629740fb95527ed95853a5f515a9586.prob b/.cph/.A_String.cpp_2629740fb95527ed95853a5f515a9586.prob deleted file mode 100644 index 78039d569..000000000 --- a/.cph/.A_String.cpp_2629740fb95527ed95853a5f515a9586.prob +++ /dev/null @@ -1 +0,0 @@ -{"name":"A. String","group":"Codeforces - Ethflow Round 1 (Codeforces Round 1001, Div. 1 + Div. 2)","url":"https://codeforces.com/contest/2062/problem/A","interactive":false,"memoryLimit":512,"timeLimit":1000,"tests":[{"id":1738062641466,"input":"5\n1\n000\n1001\n10101\n01100101011101\n","output":"1\n0\n2\n3\n8\n"}],"testType":"single","input":{"type":"stdin"},"output":{"type":"stdout"},"languages":{"java":{"mainClass":"Main","taskClass":"AString"}},"batch":{"id":"e81382aa-02ee-4e12-97fb-c19403e8b78b","size":1},"srcPath":"/home/ubuntu/fusion0/Fusion/A_String.cpp"} \ No newline at end of file