From 6440bab46b180c7af35b20923583e9e83b121825 Mon Sep 17 00:00:00 2001 From: Mindiell Date: Tue, 27 Jul 2021 07:49:09 +0200 Subject: [PATCH] wip: add stance --- app/controller/stance.py | 19 +++++++++++++++++++ app/form/stance.py | 16 ++++++++++++++++ app/routes.py | 4 +++- app/view/form_helper.html | 2 +- app/view/menu.html | 4 ++-- app/view/stance/add.html | 30 ++++++++++++++++++++++++++++++ 6 files changed, 71 insertions(+), 4 deletions(-) create mode 100644 app/controller/stance.py create mode 100644 app/form/stance.py create mode 100644 app/view/stance/add.html diff --git a/app/controller/stance.py b/app/controller/stance.py new file mode 100644 index 0000000..2a5b74c --- /dev/null +++ b/app/controller/stance.py @@ -0,0 +1,19 @@ +# encoding: utf-8 + +from datetime import datetime +import random + +from flask import g, redirect, render_template, url_for + +from app import model +from app.controller.controller import Controller +from app.form.stance import AddStanceForm +from sqlalchemy import desc +from sqlalchemy.sql.expression import func + + +class Stance(Controller): + def add(self): + g.form = AddStanceForm() + return render_template("stance/add.html") + diff --git a/app/form/stance.py b/app/form/stance.py new file mode 100644 index 0000000..17f26fa --- /dev/null +++ b/app/form/stance.py @@ -0,0 +1,16 @@ +# encoding: utf-8 + +from flask_babel import gettext as _ +from flask_wtf import FlaskForm +from wtforms import DateField, HiddenField, SelectField, TextField +from wtforms.validators import DataRequired + + +class AddStanceForm(FlaskForm): + representative = HiddenField(_("Représentant(e)"), validators=[DataRequired()]) + matter = HiddenField(_("Dossier")) + date = DateField(_("Date"), validators=[DataRequired()]) + subject = TextField(_("Sujet"), validators=[DataRequired()]) + extract = TextField(_("Extrait")) + source_url = TextField(_("URL de la source"), validators=[DataRequired()]) + diff --git a/app/routes.py b/app/routes.py index 594b283..00a872d 100644 --- a/app/routes.py +++ b/app/routes.py @@ -6,6 +6,7 @@ from app.controller.api.country import CountriesApi, CountryApi from app.controller.api.representative import RepresentativesApi, RepresentativeApi from app.controller.core import Core from app.controller.representative import Representative +from app.controller.stance import Stance # Adding admin endpoints @@ -15,9 +16,10 @@ for route in admin_routes: # Listing normal endpoints routes = [ ("/", Core.as_view("home")), - ("/representative/", Representative.as_view("view")), ("/about", Core.as_view("about")), ("/who", Core.as_view("who")), + ("/representative/", Representative.as_view("view")), + ("/stance/add", Stance.as_view("add")), ] # Listing API endpoints diff --git a/app/view/form_helper.html b/app/view/form_helper.html index 9155bbc..a9993f4 100644 --- a/app/view/form_helper.html +++ b/app/view/form_helper.html @@ -9,4 +9,4 @@ {%endif%} -{%endmacro%} \ No newline at end of file +{%endmacro%} diff --git a/app/view/menu.html b/app/view/menu.html index b6ec777..1443691 100644 --- a/app/view/menu.html +++ b/app/view/menu.html @@ -7,7 +7,7 @@
  • Find a representative
  • Find a matter
  • --> -
  • {{_("Ajouter une prise de position")}}
  • +
  • {{_("Ajouter une prise de position")}}
  • @@ -19,4 +19,4 @@ -->
    - \ No newline at end of file + diff --git a/app/view/stance/add.html b/app/view/stance/add.html new file mode 100644 index 0000000..846a71d --- /dev/null +++ b/app/view/stance/add.html @@ -0,0 +1,30 @@ +{% extends "base.html" %} +{% block content %} +
    + +

    {{_("Ajouter une prise de position")}}

    + +
    +{{g.form.hidden_tag()}} +{{g.form.representative()}} +{{g.form.matter()}} + +
    + +{{_("Le représentant ayant pris cette position")}} +
    + +
    + +{{_("Le dossier lié à cette prise de position. Ce champ reste optionnel.")}} +
    + +{{render_field(g.form.date)}} +{{render_field(g.form.source_url)}} +{{render_field(g.form.extract)}} + +{{_("Annuler")}} +
    + +
    +{% endblock %}