Merge pull request #80: Section complete/incomplete implemented

Section complete boolean
This commit is contained in:
Daniel Dupriest 2019-02-15 13:01:22 -08:00 committed by GitHub
commit 4077bd1d0b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 59 additions and 1 deletions

View file

@ -128,7 +128,7 @@ per_diem_section = Section(
html_description="<p>Enter info about meals and incidentals here.\nPer diem rates can be found at " html_description="<p>Enter info about meals and incidentals here.\nPer diem rates can be found at "
"<a href='https://www.gsa.gov/travel/plan-book/per-diem-rates'>this link</a></p>", "<a href='https://www.gsa.gov/travel/plan-book/per-diem-rates'>this link</a></p>",
fields={ fields={
"duration": {"label": "How many days was your trip?", "field_type": "decimal"}, "duration": {"label": "How many days was your trip?", "field_type": "integer"},
"rate": {"label": "What is the per diem rate for your destination?", "field_type": "decimal"}, "rate": {"label": "What is the per diem rate for your destination?", "field_type": "decimal"},
"cost": {"label": "Total Cost for meals and incidentals", "field_type": "decimal"} "cost": {"label": "Total Cost for meals and incidentals", "field_type": "decimal"}
} }

View file

@ -229,9 +229,67 @@ def section(request, report_pk, section_pk):
update.save() update.save()
# update section boolean to complete
complete = section_complete(section_pk)
s = Section.objects.get(id=section_pk)
if complete:
# s = Section.objects.get(id=section_pk)
s.completed = True
s.save()
data = { data = {
"message": "Updated report {0}, section {1}.".format(report_pk, section_pk), "message": "Updated report {0}, section {1}.".format(report_pk, section_pk),
"section completion": s.completed,
"request_data": request.data "request_data": request.data
} }
return JsonResponse(data) return JsonResponse(data)
# function checks if a field is filled and
# returns boolean accordingly
def section_complete(section_pk):
# grab field set
check_fields = Field.objects.filter(section_id=section_pk)
# return true if any field is filled
for i in check_fields:
if i.field_type == "boolean":
if not(
i.data_bool == "" or
i.data_bool is None
):
return True
elif i.field_type == "decimal":
if not(
i.data_decimal == 0.0 or
i.data_decimal == "" or
i.data_decimal is None
):
return True
elif i.field_type == "date":
if not(
i.data_date == "" or
i.data_date is None
):
return True
elif i.field_type == "file":
if not(
i.data_file == "" or
i.data_file is None
):
return True
elif i.field_type == "string":
if not(
i.data_string == "" or
i.data_string is None
):
return True
elif i.field_type == "integer":
if not(
i.data_integer == 0 or
i.data_integer == "" or
i.data_integer is None
):
return True
# return false if no field is filled
return False