From b19c94a1f486ff31950f3020cbb3ecd3bc3a1b3a Mon Sep 17 00:00:00 2001 From: Emmanuel Viennet Date: Mon, 30 Jan 2023 14:08:40 -0300 Subject: [PATCH] Ajout champ commentaire dans les formations (=> migration) --- app/models/formations.py | 1 + app/scodoc/sco_edit_formation.py | 10 ++++++ app/scodoc/sco_formations.py | 1 + app/static/css/scodoc.css | 6 ++++ app/templates/pn/form_descr.j2 | 35 ++++++++++--------- .../5c7b208355df_commentaire_formation.py | 30 ++++++++++++++++ 6 files changed, 67 insertions(+), 16 deletions(-) create mode 100644 migrations/versions/5c7b208355df_commentaire_formation.py diff --git a/app/models/formations.py b/app/models/formations.py index 986ef7e7..5bd4a8d9 100644 --- a/app/models/formations.py +++ b/app/models/formations.py @@ -36,6 +36,7 @@ class Formation(db.Model): titre = db.Column(db.Text(), nullable=False) titre_officiel = db.Column(db.Text(), nullable=False) version = db.Column(db.Integer, default=1, server_default="1") + commentaire = db.Column(db.Text()) formation_code = db.Column( db.String(SHORT_STR_LEN), server_default=db.text("notes_newid_fcod()"), diff --git a/app/scodoc/sco_edit_formation.py b/app/scodoc/sco_edit_formation.py index c64d732e..b52e3d35 100644 --- a/app/scodoc/sco_edit_formation.py +++ b/app/scodoc/sco_edit_formation.py @@ -234,6 +234,16 @@ def formation_edit(formation_id=None, create=False): "explanation": "optionel: code utilisé pour échanger avec d'autres logiciels et identifiant la filière ou spécialité (exemple: ASUR). N'est utilisé que s'il n'y a pas de numéro de semestre.", }, ), + ( + "commentaire", + { + "input_type": "textarea", + "rows": 3, + "cols": 77, + "title": "Commentaire", + "explanation": "commentaire libre.", + }, + ), ), initvalues=initvalues, submitlabel=submitlabel, diff --git a/app/scodoc/sco_formations.py b/app/scodoc/sco_formations.py index b28590eb..9be52db4 100644 --- a/app/scodoc/sco_formations.py +++ b/app/scodoc/sco_formations.py @@ -75,6 +75,7 @@ _formationEditor = ndb.EditableTable( "type_parcours", "code_specialite", "referentiel_competence_id", + "commentaire", ), filter_dept=True, sortkey="acronyme", diff --git a/app/static/css/scodoc.css b/app/static/css/scodoc.css index 42c2ecac..97eafff0 100644 --- a/app/static/css/scodoc.css +++ b/app/static/css/scodoc.css @@ -4,6 +4,7 @@ :root { --sco-content-min-width: 600px; --sco-content-max-width: 1024px; + --sco-color-explication: rgb(10, 58, 140); } html, @@ -2115,6 +2116,11 @@ div.formation_descr span.fd_n { margin-left: 6em; } +span.explication { + font-style: italic; + color: var(--sco-color-explication); +} + div.formation_ue_list { border: 1px solid black; margin-top: 5px; diff --git a/app/templates/pn/form_descr.j2 b/app/templates/pn/form_descr.j2 index 6a0cda4e..b27340c4 100644 --- a/app/templates/pn/form_descr.j2 +++ b/app/templates/pn/form_descr.j2 @@ -4,23 +4,26 @@
Titre: {{formation.titre}} -
-
Titre officiel: - {{formation.titre_officiel}} -
-
Acronyme: - {{formation.acronyme}} -
-
Code: - {{formation.formation_code}} -
-
Version: - {{formation.version}} -
-
Type parcours: - {{parcours.__doc__}}
- +
Titre officiel: + {{formation.titre_officiel}} +
+
Acronyme: + {{formation.acronyme}} +
+
Code: + {{formation.formation_code}} +
+
Version: + {{formation.version}} +
+
Type parcours: + {{parcours.__doc__|e}} +
+
Commentaire: + {{formation.commentaire|e}} +
+ {% if parcours.UE_IS_MODULE %}
(Chaque module est une UE) diff --git a/migrations/versions/5c7b208355df_commentaire_formation.py b/migrations/versions/5c7b208355df_commentaire_formation.py new file mode 100644 index 00000000..37da1def --- /dev/null +++ b/migrations/versions/5c7b208355df_commentaire_formation.py @@ -0,0 +1,30 @@ +"""commentaire formation + +Revision ID: 5c7b208355df +Revises: 25e3ca6cc063 +Create Date: 2023-01-30 11:45:20.156713 + +""" +from alembic import op +import sqlalchemy as sa + + +# revision identifiers, used by Alembic. +revision = "5c7b208355df" +down_revision = "25e3ca6cc063" +branch_labels = None +depends_on = None + + +def upgrade(): + # ### commands auto generated by Alembic - please adjust! ### + op.add_column( + "notes_formations", sa.Column("commentaire", sa.Text(), nullable=True) + ) + # ### end Alembic commands ### + + +def downgrade(): + # ### commands auto generated by Alembic - please adjust! ### + op.drop_column("notes_formations", "commentaire") + # ### end Alembic commands ###