commit
4c560062c7
3 changed files with 35 additions and 5 deletions
|
@ -12,7 +12,8 @@ class Policy():
|
||||||
|
|
||||||
class Section():
|
class Section():
|
||||||
|
|
||||||
def __init__(self, title="Section", html_description="", required=False, auto_submit=False, fields={}):
|
def __init__(self, title="Section", html_description="", required=False,
|
||||||
|
auto_submit=False, fields={}):
|
||||||
self.title = title
|
self.title = title
|
||||||
self.html_description = html_description
|
self.html_description = html_description
|
||||||
self.required = required
|
self.required = required
|
||||||
|
@ -60,6 +61,7 @@ flight_section = Section(
|
||||||
"departure_date": {"label": "Departure date", "type": "date"},
|
"departure_date": {"label": "Departure date", "type": "date"},
|
||||||
"return_date": {"label": "Return date", "type": "date"},
|
"return_date": {"label": "Return date", "type": "date"},
|
||||||
"fare": {"label": "Fare", "type": "decimal"},
|
"fare": {"label": "Fare", "type": "decimal"},
|
||||||
|
"layovers": {"label": "Transit wait", "type": "integer"},
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -75,7 +77,8 @@ pol.add_section(flight_section)
|
||||||
#### Section 2
|
#### Section 2
|
||||||
lodging_section = Section(
|
lodging_section = Section(
|
||||||
title="Hotel Info",
|
title="Hotel Info",
|
||||||
html_description="<p>Enter hotel info here.\nPer diem rates can be found at <a href='https://www.gsa.gov/travel/plan-book/per-diem-rates'></a></p>",
|
html_description="<p>Enter hotel info here.\nPer diem rates can be found at "
|
||||||
|
"<a href='https://www.gsa.gov/travel/plan-book/per-diem-rates'></a></p>",
|
||||||
fields={
|
fields={
|
||||||
"check-in_date": {"label": "Check-in date", "type": "date"},
|
"check-in_date": {"label": "Check-in date", "type": "date"},
|
||||||
"check-out_date": {"label": "Check-out date", "type": "date"},
|
"check-out_date": {"label": "Check-out date", "type": "date"},
|
||||||
|
|
|
@ -2,7 +2,7 @@ from rest_framework.decorators import api_view
|
||||||
from django.http import JsonResponse
|
from django.http import JsonResponse
|
||||||
from .models import *
|
from .models import *
|
||||||
from .policy import pol
|
from .policy import pol
|
||||||
import json
|
|
||||||
|
|
||||||
# function that prints all the reports
|
# function that prints all the reports
|
||||||
def get_reports(report_pk):
|
def get_reports(report_pk):
|
||||||
|
@ -49,13 +49,16 @@ def get_fields(s_id):
|
||||||
# create dict of arrays for fields
|
# create dict of arrays for fields
|
||||||
field_set = {"fields": []}
|
field_set = {"fields": []}
|
||||||
queryset = Field.objects.filter(section_id=s_id).order_by('number')
|
queryset = Field.objects.filter(section_id=s_id).order_by('number')
|
||||||
|
|
||||||
for i in queryset:
|
for i in queryset:
|
||||||
|
# function to print corresponding datatype
|
||||||
|
value = get_datatype(i)
|
||||||
data = {
|
data = {
|
||||||
"field_name": i.field_name,
|
"field_name": i.field_name,
|
||||||
"label": i.label,
|
"label": i.label,
|
||||||
"type": i.type,
|
"type": i.type,
|
||||||
"number": i.number,
|
"number": i.number,
|
||||||
"value": "i.to_json()",
|
"value": value
|
||||||
}
|
}
|
||||||
# append the fields to array
|
# append the fields to array
|
||||||
# use copy() to avoid overwriting
|
# use copy() to avoid overwriting
|
||||||
|
@ -63,6 +66,29 @@ def get_fields(s_id):
|
||||||
|
|
||||||
return field_set
|
return field_set
|
||||||
|
|
||||||
|
# function to convert value into JSON
|
||||||
|
def to_json(convert):
|
||||||
|
return {"value": convert}
|
||||||
|
|
||||||
|
# function that gets corresponding
|
||||||
|
# data type
|
||||||
|
def get_datatype(self):
|
||||||
|
if self.type == "boolean":
|
||||||
|
if self.data_bool:
|
||||||
|
return True
|
||||||
|
else:
|
||||||
|
return False
|
||||||
|
elif self.type == "decimal":
|
||||||
|
return self.data_decimal
|
||||||
|
elif self.type == "date":
|
||||||
|
return "{}".format(self.data_date)
|
||||||
|
elif self.type == "file":
|
||||||
|
return "{}".format(self.data_file)
|
||||||
|
elif self.type == "string":
|
||||||
|
return "{}".format(self.data_string)
|
||||||
|
elif self.type == "integer":
|
||||||
|
return self.data_integer
|
||||||
|
|
||||||
|
|
||||||
# API Endpoints
|
# API Endpoints
|
||||||
@api_view(['POST'])
|
@api_view(['POST'])
|
||||||
|
@ -97,9 +123,10 @@ def report(request):
|
||||||
@api_view(['GET'])
|
@api_view(['GET'])
|
||||||
def reports(request):
|
def reports(request):
|
||||||
report_set = {"reports": []}
|
report_set = {"reports": []}
|
||||||
queryset = Report.objects.all().order_by('date_created')
|
queryset = Report.objects.all().filter(user_id=request.user.id).order_by('date_created')
|
||||||
for i in queryset:
|
for i in queryset:
|
||||||
data = {
|
data = {
|
||||||
|
"user_id": request.user.id,
|
||||||
"report_pk": i.id,
|
"report_pk": i.id,
|
||||||
"title": i.title,
|
"title": i.title,
|
||||||
"date_created": i.date_created,
|
"date_created": i.date_created,
|
||||||
|
|
BIN
back/db.sqlite3
BIN
back/db.sqlite3
Binary file not shown.
Loading…
Reference in a new issue