diff --git a/truthinquiry/ext/database/models.py b/truthinquiry/ext/database/models.py index c53a8e7..5c16f5d 100644 --- a/truthinquiry/ext/database/models.py +++ b/truthinquiry/ext/database/models.py @@ -15,7 +15,7 @@ class Text(Base): LID = Column(Integer, ForeignKey("T_LOCALE.LID"), comment="Reference to the locale that this text provides") LANG = Column(VARCHAR(2), comment="lang ID of the text value in this row, e.g FR, EN, ES") TEXT = Column(Text, comment="Actual text stored") - LOCALE = relationship("Locale") + LOCALE = relationship("Locale", backref='TEXTS') def __init__(self, TEXT_ID, LID, LANG, TEXT): self.TEXT_ID = TEXT_ID @@ -104,7 +104,7 @@ class Answer(Base): NPC_ID = Column(Integer, ForeignKey("T_NPC.NPC_ID"), primary_key=True, comment="ID of the NPC that will say this answer") TEXT_LID = Column(Integer, ForeignKey("T_LOCALE.LID"), comment="Text of the answer") LOCALE = relationship("Locale") - NPC = relationship("Npc") + NPC = relationship("Npc", backref="ANSWERS") def __init__(self, QUESTION_TYPE_ID, NPC_ID, TEXT_LID): self.QUESTION_TYPE_ID = QUESTION_TYPE_ID diff --git a/truthinquiry/routes/routes_admin.py b/truthinquiry/routes/routes_admin.py index d2085ab..7f12e71 100644 --- a/truthinquiry/routes/routes_admin.py +++ b/truthinquiry/routes/routes_admin.py @@ -1,14 +1,42 @@ import flask +from truthinquiry.ext.database.models import * +from truthinquiry.ext.database.fsa import db + routes_admin = flask.Blueprint("admin", __name__) +def get_or_empty(obj, key): + if obj == None: + return "" + else: + return getattr(obj, key) + + + + @routes_admin.route("/") def index(): return flask.render_template("admin/index.html") @routes_admin.route("/npc/") def npc(npc_id): - return flask.render_template("admin/npc.html") + if npc_id == "new": + return flask.render_template("admin/npc.html", npc={}) + else: + npc_obj = db.session.get(Npc, npc_id) + + npc_answers = [] + for answer_type in npc_obj.ANSWERS: + answer_list = [answer.TEXT for answer in answer_type.LOCALE.TEXTS] + npc_answers.append(answer_list) + + npc_dict = { + "name": npc_obj.LOCALE.TEXTS[0].TEXT, + "img": npc_obj.NPC_ID, + "answers": npc_answers, + } + + return flask.render_template("admin/npc.html", npc=npc_dict) @routes_admin.route("/questions") def questions(): diff --git a/truthinquiry/templates/admin/index.html b/truthinquiry/templates/admin/index.html index 26aaffc..fd722fb 100644 --- a/truthinquiry/templates/admin/index.html +++ b/truthinquiry/templates/admin/index.html @@ -10,4 +10,6 @@ Barron
Machin +
+ Nouveau diff --git a/truthinquiry/templates/admin/npc.html b/truthinquiry/templates/admin/npc.html index 1583b05..336e5bd 100644 --- a/truthinquiry/templates/admin/npc.html +++ b/truthinquiry/templates/admin/npc.html @@ -1 +1,19 @@ go Back
+ +
+ Npc name: + +
+ +
+

Answers:

+ {%for answer_type in npc.get("answers") or []%} +
+ {%for answer in answer_type%} + + {%endfor%} +
+ {%endfor%} + +
+