diff --git a/CDC_Backend/APIs/adminUrls.py b/CDC_Backend/APIs/adminUrls.py index 90d9c71..e0d6cd8 100644 --- a/CDC_Backend/APIs/adminUrls.py +++ b/CDC_Backend/APIs/adminUrls.py @@ -8,7 +8,7 @@ urlpatterns = [ path('updateDeadline/', adminViews.updateDeadline, name="Update Deadline"), path('updateOfferAccepted/', adminViews.updateOfferAccepted, name="Update Offer Accepted"), path('updateEmailVerified', adminViews.updateEmailVerified, name="Update Email Verified"), - path('updateAdditionalInfo/', adminViews.updateAdditionalInfo, name="Update Additional Info"), + path('deleteAdditionalInfo/', adminViews.deleteAdditionalInfo, name="Delete Additional Info"), path('getApplications/', adminViews.getApplications, name="Get Applications"), path("submitApplication/", adminViews.submitApplication, name="Submit Application"), path('generateCSV/', adminViews.generateCSV, name="Generate CSV"), diff --git a/CDC_Backend/APIs/adminViews.py b/CDC_Backend/APIs/adminViews.py index 4acf47c..637d9e7 100644 --- a/CDC_Backend/APIs/adminViews.py +++ b/CDC_Backend/APIs/adminViews.py @@ -145,20 +145,18 @@ def updateEmailVerified(request, id, email, user_type): @api_view(['POST']) @isAuthorized([ADMIN]) -@precheck([OPENING_ID, ADDITIONAL_INFO]) -def updateAdditionalInfo(request, id, email, user_type): +@precheck([OPENING_ID, FIELD]) +def deleteAdditionalInfo(request, id, email, user_type): try: data = request.data opening = get_object_or_404(Placement, pk=data[OPENING_ID]) - if data[ADDITIONAL_INFO] == "": - opening.additional_info = [] - elif isinstance(data[ADDITIONAL_INFO], list): - opening.additional_info = data[ADDITIONAL_INFO] + if data[FIELD] in opening.additional_info: + opening.additional_info.remove(data[FIELD]) + opening.save() + return Response({'action': "Delete Additional Info", 'message': "Additional Info Deleted"}, + status=status.HTTP_200_OK) else: - raise ValueError("Additional Info must be a list") - opening.save() - return Response({'action': "Update Additional Info", 'message': "Additional Info Updated"}, - status=status.HTTP_200_OK) + raise ValueError("Additional Info Not Found") except Http404: return Response({'action': "Update Additional Info", 'message': 'Opening Not Found'}, status=status.HTTP_404_NOT_FOUND) diff --git a/CDC_Backend/APIs/constants.py b/CDC_Backend/APIs/constants.py index 5981cba..75a23b6 100644 --- a/CDC_Backend/APIs/constants.py +++ b/CDC_Backend/APIs/constants.py @@ -70,6 +70,7 @@ RESUME_FILE_NAME = 'resume_file_name' APPLICATION_ID = "application_id" OPENING_ID = "opening_id" ADDITIONAL_INFO = "additional_info" +FIELD = "field" STATUS_ACCEPTING_APPLICATIONS = "Accepting Applications"