hardcoded dummy json input and updated section
This commit is contained in:
parent
e7161c7ff9
commit
8d630bd351
2 changed files with 63 additions and 11 deletions
|
@ -3,6 +3,7 @@ from django.http import JsonResponse
|
||||||
from .models import *
|
from .models import *
|
||||||
from .policy import pol
|
from .policy import pol
|
||||||
import os
|
import os
|
||||||
|
# import json
|
||||||
|
|
||||||
|
|
||||||
# function that prints all the reports
|
# function that prints all the reports
|
||||||
|
@ -57,7 +58,8 @@ def get_fields(s_id):
|
||||||
"label": i.label,
|
"label": i.label,
|
||||||
"type": i.type,
|
"type": i.type,
|
||||||
"number": i.number,
|
"number": i.number,
|
||||||
"value": value
|
"value": value,
|
||||||
|
"id": i.id,
|
||||||
}
|
}
|
||||||
# append the fields to array
|
# append the fields to array
|
||||||
# use copy() to avoid overwriting
|
# use copy() to avoid overwriting
|
||||||
|
@ -154,14 +156,64 @@ def report_detail(request, report_pk):
|
||||||
# update a section with new data
|
# update a section with new data
|
||||||
@api_view(['PUT'])
|
@api_view(['PUT'])
|
||||||
def section(request, report_pk, section_pk):
|
def section(request, report_pk, section_pk):
|
||||||
data = {
|
json_input = {
|
||||||
"message": "Updated report {0}, section {1}.".format(report_pk, section_pk),
|
"fields": [
|
||||||
"fields": {
|
{
|
||||||
"international": True,
|
"id": 178,
|
||||||
"travel_date": "2012-04-23T18:25:43.511Z",
|
"value": "2016-05-22",
|
||||||
"fare": "1024.99",
|
"type": "date"
|
||||||
"lowest_fare_screenshot": "image",
|
},
|
||||||
}
|
{
|
||||||
}
|
"id": 179,
|
||||||
|
"value": "2016-05-22",
|
||||||
|
"type": "date"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 180,
|
||||||
|
"value": 3.14,
|
||||||
|
"type": "decimal"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 181,
|
||||||
|
"value": 10000,
|
||||||
|
"type": "integer"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 182,
|
||||||
|
"value": True,
|
||||||
|
"type": "boolean"
|
||||||
|
},
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
||||||
return JsonResponse(data)
|
'''
|
||||||
|
1) decode JSON object into dictionaries
|
||||||
|
2) iterate through fields (for loop)?
|
||||||
|
3) in each iteration, check for data type
|
||||||
|
4) in the datatype, update the database
|
||||||
|
4a) update = field_set.get(id=request.data.id)
|
||||||
|
4b) update.data_type = request.data["value"]
|
||||||
|
'''
|
||||||
|
|
||||||
|
# print("request data: {}".format(type(request.body)))
|
||||||
|
# json.loads()
|
||||||
|
|
||||||
|
for v in json_input["fields"]:
|
||||||
|
update_field = Field.objects.get(id=v["id"])
|
||||||
|
|
||||||
|
if v["type"] == "boolean":
|
||||||
|
update_field.data_bool = v["value"]
|
||||||
|
if v["type"] == "decimal":
|
||||||
|
update_field.data_decimal = v["value"]
|
||||||
|
if v["type"] == "date":
|
||||||
|
update_field.data_date = v["value"]
|
||||||
|
if v["type"] == "file":
|
||||||
|
update_field.data_file = v["value"]
|
||||||
|
if v["type"] == "string":
|
||||||
|
update_field.data_string = v["value"]
|
||||||
|
if v["type"] == "integer":
|
||||||
|
update_field.data_integer = v["value"]
|
||||||
|
|
||||||
|
update_field.save()
|
||||||
|
|
||||||
|
return JsonResponse({"message": "Updated report {0}, section {1}.".format(report_pk, section_pk)})
|
||||||
|
|
BIN
back/db.sqlite3
BIN
back/db.sqlite3
Binary file not shown.
Loading…
Reference in a new issue