diff --git a/app/templates/configuration.html b/app/templates/configuration.html index 6dcf1c51f..b99b553c6 100644 --- a/app/templates/configuration.html +++ b/app/templates/configuration.html @@ -24,30 +24,33 @@

Configuration générale {{ scodoc_dept }}

{% endif %} -
- {{ form.hidden_tag() }} - {% if not scodoc_dept %}
Les paramètres donnés ici s'appliquent à tout ScoDoc (tous les départements):
- - {{ render_field(form.bonus_sport_func_name)}} {% endif %} + + {{ form_sport.hidden_tag() }} + {{ render_field(form_sport.bonus_sport_func_name)}} +
{{ form_sport.submit_sport() }}
+
+ +
+ {{ form_logos.hidden_tag() }} -
{{ form.submit() }}
{% endblock %} \ No newline at end of file diff --git a/app/views/scodoc.py b/app/views/scodoc.py index c8ea5aad2..2f9948746 100644 --- a/app/views/scodoc.py +++ b/app/views/scodoc.py @@ -174,7 +174,7 @@ def about(scodoc_dept=None): # ---- CONFIGURATION -class ScoDocConfigurationForm(FlaskForm): +class ConfigBonusForm(FlaskForm): "Panneau de configuration général" bonus_sport_func_name = SelectField( @@ -185,6 +185,10 @@ class ScoDocConfigurationForm(FlaskForm): ], ) + submit_sport = SubmitField("Enregistrer") + + +class ConfigLogosForm(FlaskForm): logo_header = FileField( label="Modifier l'image:", description="logo placé en haut des documents PDF", @@ -207,7 +211,7 @@ class ScoDocConfigurationForm(FlaskForm): ], ) - submit = SubmitField("Enregistrer") + submit_logos = SubmitField("Enregistrer") # Notes pour variables config: (valeurs par défaut des paramètres de département) @@ -232,27 +236,35 @@ class ScoDocConfigurationForm(FlaskForm): @admin_required def configuration(): "Panneau de configuration général" - form = ScoDocConfigurationForm( + form_sport = ConfigBonusForm( bonus_sport_func_name=ScoDocSiteConfig.get_bonus_sport_func_name(), ) - if form.validate_on_submit(): - ScoDocSiteConfig.set_bonus_sport_func(form.bonus_sport_func_name.data) - if form.logo_header.data: - sco_logos.store_image( - form.logo_header.data, os.path.join(scu.SCODOC_LOGOS_DIR, "logo_header") - ) - if form.logo_footer.data: - sco_logos.store_image( - form.logo_footer.data, os.path.join(scu.SCODOC_LOGOS_DIR, "logo_footer") - ) + form_logos = ConfigLogosForm() + if form_sport.submit_sport.data and form_sport.validate_on_submit(): + ScoDocSiteConfig.set_bonus_sport_func(form_sport.bonus_sport_func_name.data) app.clear_scodoc_cache() - flash(f"Configuration enregistrée") + flash(f"Bonus sport enregistré") + return redirect(url_for("scodoc.index")) + + if form_logos.submit_logos.data and form_logos.validate_on_submit(): + if form_logos.logo_header.data: + sco_logos.store_image( + form_logos.logo_header.data, + os.path.join(scu.SCODOC_LOGOS_DIR, "logo_header"), + ) + if form_logos.logo_footer.data: + sco_logos.store_image( + form_logos.logo_footer.data, + os.path.join(scu.SCODOC_LOGOS_DIR, "logo_footer"), + ) + flash(f"Logo enregistré") return redirect(url_for("scodoc.index")) return render_template( "configuration.html", title="Configuration ScoDoc", - form=form, + form_sport=form_sport, + form_logos=form_logos, scodoc_dept=None, )