Merge pull request #92 from danieldupriest/implement-submit-report
Reports can now be 'submitted', and you cannot modify submitted reports.
This commit is contained in:
commit
161555b20f
2 changed files with 14 additions and 1 deletions
|
@ -198,10 +198,20 @@ def report_detail(request, report_pk):
|
||||||
# and marks it as "submitted", after which changes may
|
# and marks it as "submitted", after which changes may
|
||||||
# not be made.
|
# not be made.
|
||||||
elif request.method == 'PUT':
|
elif request.method == 'PUT':
|
||||||
|
rep = Report.objects.get(id=report_pk)
|
||||||
|
if rep.submitted == True:
|
||||||
|
return JsonResponse({"message": "Cannot submit a report that has already been submitted."}, status=409)
|
||||||
|
rep.submitted = True;
|
||||||
|
rep.save()
|
||||||
|
# Send email here
|
||||||
|
#################
|
||||||
return JsonResponse({"message": "Report submitted."})
|
return JsonResponse({"message": "Report submitted."})
|
||||||
|
|
||||||
# DELETE: Deletes a report from the user's account.
|
# DELETE: Deletes a report from the user's account.
|
||||||
elif request.method == 'DELETE':
|
elif request.method == 'DELETE':
|
||||||
|
r = Report.objects.get(id=report_pk)
|
||||||
|
if r.submitted == True:
|
||||||
|
return JsonResponse({"message": "Cannot delete a report that has been submitted."}, status=409)
|
||||||
# get corresponding sections
|
# get corresponding sections
|
||||||
section_set = Section.objects.filter(report_id=report_pk)
|
section_set = Section.objects.filter(report_id=report_pk)
|
||||||
for i in section_set:
|
for i in section_set:
|
||||||
|
@ -213,7 +223,6 @@ def report_detail(request, report_pk):
|
||||||
path_name = str(j.data_file)
|
path_name = str(j.data_file)
|
||||||
os.remove(path_name)
|
os.remove(path_name)
|
||||||
# delete the full report and catch the title
|
# delete the full report and catch the title
|
||||||
r = Report.objects.get(id=report_pk)
|
|
||||||
title = r.title
|
title = r.title
|
||||||
r.delete()
|
r.delete()
|
||||||
return JsonResponse({"message": "Deleted report: {0}.".format(title)})
|
return JsonResponse({"message": "Deleted report: {0}.".format(title)})
|
||||||
|
@ -241,6 +250,10 @@ def section(request, report_pk, section_pk):
|
||||||
if not user_owns_section(user=request.user, section=section_pk):
|
if not user_owns_section(user=request.user, section=section_pk):
|
||||||
return JsonResponse({"message": "Current user does not own the specified section."}, status=401)
|
return JsonResponse({"message": "Current user does not own the specified section."}, status=401)
|
||||||
|
|
||||||
|
# Check that the report isn't submitted
|
||||||
|
if Section.objects.get(id=section_pk).report_id.submitted:
|
||||||
|
return JsonResponse({"message": "Cannot update a report that has been submitted."}, status=409)
|
||||||
|
|
||||||
for key in request.data:
|
for key in request.data:
|
||||||
# get the matching field object
|
# get the matching field object
|
||||||
update = Field.objects.get(section_id=section_pk, field_name=key)
|
update = Field.objects.get(section_id=section_pk, field_name=key)
|
||||||
|
|
BIN
back/db.sqlite3
BIN
back/db.sqlite3
Binary file not shown.
Loading…
Reference in a new issue