From 98a4635a126ce41499aa6647bf8bde4334d96241 Mon Sep 17 00:00:00 2001
From: Thomas Rubini <74205383+ThomasRubini@users.noreply.github.com>
Date: Sat, 18 Mar 2023 23:09:24 +0100
Subject: [PATCH] update places view and connect with backend
---
truthinquiry/routes/routes_api_admin.py | 38 +++++++++++++++++
truthinquiry/templates/admin/places.html | 53 ++++++++++++++++++++++--
2 files changed, 87 insertions(+), 4 deletions(-)
diff --git a/truthinquiry/routes/routes_api_admin.py b/truthinquiry/routes/routes_api_admin.py
index 1e7b4dc..1800fa3 100644
--- a/truthinquiry/routes/routes_api_admin.py
+++ b/truthinquiry/routes/routes_api_admin.py
@@ -112,4 +112,42 @@ def set_traits():
db.session.commit()
+ return {"error": 0}
+
+@routes_api_admin.route("/setPlaces", methods=["GET", "POST"])
+def set_places():
+ input_lang = flask.request.json["lang"]
+ input_places = flask.request.json["places"]
+
+
+ db_places = db.session.query(Place).all()
+
+ modified_db_places = []
+ for input_place in input_places:
+ if input_place["id"]:
+ # modify
+ db_place = list(filter(lambda db_place: db_place.PLACE_ID == int(input_place["id"]), db_places))[0]
+
+ db.session.delete(db_place.LOCALE.TEXTS[0])
+
+ db_place.LOCALE.TEXTS = [Text(None, None, input_lang, input_place["name"])]
+
+ db.session.add(db_place)
+ modified_db_places.append(db_place)
+ else:
+ # add
+ new_place = Place(None, None)
+
+ new_place.LOCALE = Locale(None)
+ new_place.LOCALE.TEXTS = [Text(None, None, input_lang, input_place["name"])]
+
+ db.session.add(new_place)
+
+ # delete
+ for db_place in db_places:
+ if db_place not in modified_db_places:
+ db.session.delete(db_place)
+
+ db.session.commit()
+
return {"error": 0}
\ No newline at end of file
diff --git a/truthinquiry/templates/admin/places.html b/truthinquiry/templates/admin/places.html
index d9e6ffc..8192b7f 100644
--- a/truthinquiry/templates/admin/places.html
+++ b/truthinquiry/templates/admin/places.html
@@ -1,8 +1,53 @@
go Back
-
+
+
+
+
+
\ No newline at end of file