forked from ScoDoc/ScoDoc
RGPD: config. coordonnées DPO. Closes #648
This commit is contained in:
parent
238fbe887c
commit
706b21ede7
@ -29,6 +29,15 @@
|
|||||||
</em>
|
</em>
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
|
<div>
|
||||||
|
<h2>Coordonnées du délégué à la protection des données (DPO)</h2>
|
||||||
|
{% if ScoDocSiteConfig.get("rgpd_coordonnees_dpo") %}
|
||||||
|
{{ ScoDocSiteConfig.get("rgpd_coordonnees_dpo") }}
|
||||||
|
{% else %}
|
||||||
|
<em>non renseigné</em>
|
||||||
|
{% endif %}
|
||||||
|
</div>
|
||||||
|
|
||||||
<h2>Dernières évolutions</h2>
|
<h2>Dernières évolutions</h2>
|
||||||
|
|
||||||
{{ news|safe }}
|
{{ news|safe }}
|
||||||
|
@ -97,6 +97,12 @@ Heure: <b><tt>{{ time.strftime("%d/%m/%Y %H:%M") }}</tt></b>
|
|||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
<h2>Protection des données et RGPD</h2>
|
||||||
|
<section>
|
||||||
|
<div>📇 <a class="stdlink" href="{{url_for('scodoc.config_rgpd')}}">RGPD et données personnelles</a>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
{% block scripts %}
|
{% block scripts %}
|
||||||
|
@ -68,6 +68,7 @@ from app.forms.main.config_cas import ConfigCASForm
|
|||||||
from app.forms.main.config_personalized_links import PersonalizedLinksForm
|
from app.forms.main.config_personalized_links import PersonalizedLinksForm
|
||||||
from app.forms.main.create_dept import CreateDeptForm
|
from app.forms.main.create_dept import CreateDeptForm
|
||||||
from app.forms.main.role_create import CreateRoleForm
|
from app.forms.main.role_create import CreateRoleForm
|
||||||
|
from app.forms.main.config_rgpd import ConfigRGPDForm
|
||||||
|
|
||||||
from app import models
|
from app import models
|
||||||
from app.models import (
|
from app.models import (
|
||||||
@ -163,6 +164,31 @@ def config_roles():
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@bp.route("/ScoDoc/config_rgpd", methods=["GET", "POST"])
|
||||||
|
@admin_required
|
||||||
|
def config_rgpd():
|
||||||
|
"""Form configuration RGPD"""
|
||||||
|
form = ConfigRGPDForm()
|
||||||
|
if request.method == "POST" and form.cancel.data: # cancel button
|
||||||
|
return redirect(url_for("scodoc.configuration"))
|
||||||
|
if form.validate_on_submit():
|
||||||
|
if ScoDocSiteConfig.set(
|
||||||
|
"rgpd_coordonnees_dpo", form.data["rgpd_coordonnees_dpo"]
|
||||||
|
):
|
||||||
|
flash("coordonnées DPO enregistrées")
|
||||||
|
return redirect(url_for("scodoc.configuration"))
|
||||||
|
elif request.method == "GET":
|
||||||
|
form.rgpd_coordonnees_dpo.data = ScoDocSiteConfig.get(
|
||||||
|
"rgpd_coordonnees_dpo", ""
|
||||||
|
)
|
||||||
|
|
||||||
|
return render_template(
|
||||||
|
"config_rgpd.j2",
|
||||||
|
form=form,
|
||||||
|
title="Configuration des fonctions liées au RGPD",
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
@bp.route("/ScoDoc/permission_info/<string:perm_name>")
|
@bp.route("/ScoDoc/permission_info/<string:perm_name>")
|
||||||
@admin_required
|
@admin_required
|
||||||
def permission_info(perm_name: str):
|
def permission_info(perm_name: str):
|
||||||
@ -246,7 +272,7 @@ def config_cas():
|
|||||||
"""Form config CAS"""
|
"""Form config CAS"""
|
||||||
form = ConfigCASForm()
|
form = ConfigCASForm()
|
||||||
if request.method == "POST" and form.cancel.data: # cancel button
|
if request.method == "POST" and form.cancel.data: # cancel button
|
||||||
return redirect(url_for("scodoc.index"))
|
return redirect(url_for("scodoc.configuration"))
|
||||||
if form.validate_on_submit():
|
if form.validate_on_submit():
|
||||||
if ScoDocSiteConfig.set("cas_enable", form.data["cas_enable"]):
|
if ScoDocSiteConfig.set("cas_enable", form.data["cas_enable"]):
|
||||||
flash("CAS " + ("activé" if form.data["cas_enable"] else "désactivé"))
|
flash("CAS " + ("activé" if form.data["cas_enable"] else "désactivé"))
|
||||||
@ -322,7 +348,7 @@ def config_assiduites():
|
|||||||
"""Form config Assiduites"""
|
"""Form config Assiduites"""
|
||||||
form = ConfigAssiduitesForm()
|
form = ConfigAssiduitesForm()
|
||||||
if request.method == "POST" and form.cancel.data: # cancel button
|
if request.method == "POST" and form.cancel.data: # cancel button
|
||||||
return redirect(url_for("scodoc.index"))
|
return redirect(url_for("scodoc.configuration"))
|
||||||
|
|
||||||
edt_options = (
|
edt_options = (
|
||||||
("edt_ics_path", "Chemin vers les calendriers ics"),
|
("edt_ics_path", "Chemin vers les calendriers ics"),
|
||||||
@ -409,12 +435,12 @@ def config_codes_decisions():
|
|||||||
"""Form config codes decisions"""
|
"""Form config codes decisions"""
|
||||||
form = CodesDecisionsForm()
|
form = CodesDecisionsForm()
|
||||||
if request.method == "POST" and form.cancel.data: # cancel button
|
if request.method == "POST" and form.cancel.data: # cancel button
|
||||||
return redirect(url_for("scodoc.index"))
|
return redirect(url_for("scodoc.configuration"))
|
||||||
if form.validate_on_submit():
|
if form.validate_on_submit():
|
||||||
for code in models.config.CODES_SCODOC_TO_APO:
|
for code in models.config.CODES_SCODOC_TO_APO:
|
||||||
ScoDocSiteConfig.set_code_apo(code, getattr(form, code).data)
|
ScoDocSiteConfig.set_code_apo(code, getattr(form, code).data)
|
||||||
flash("Codes décisions enregistrés")
|
flash("Codes décisions enregistrés")
|
||||||
return redirect(url_for("scodoc.index"))
|
return redirect(url_for("scodoc.configuration"))
|
||||||
elif request.method == "GET":
|
elif request.method == "GET":
|
||||||
for code in models.config.CODES_SCODOC_TO_APO:
|
for code in models.config.CODES_SCODOC_TO_APO:
|
||||||
getattr(form, code).data = ScoDocSiteConfig.get_code_apo(code)
|
getattr(form, code).data = ScoDocSiteConfig.get_code_apo(code)
|
||||||
@ -432,7 +458,7 @@ def config_personalized_links():
|
|||||||
"""Form config liens perso"""
|
"""Form config liens perso"""
|
||||||
form = PersonalizedLinksForm()
|
form = PersonalizedLinksForm()
|
||||||
if request.method == "POST" and form.cancel.data: # cancel button
|
if request.method == "POST" and form.cancel.data: # cancel button
|
||||||
return redirect(url_for("scodoc.index"))
|
return redirect(url_for("scodoc.configuration"))
|
||||||
if form.validate_on_submit():
|
if form.validate_on_submit():
|
||||||
links = []
|
links = []
|
||||||
for idx in list(form.links_by_id) + ["new"]:
|
for idx in list(form.links_by_id) + ["new"]:
|
||||||
@ -535,9 +561,10 @@ def about(scodoc_dept=None):
|
|||||||
"version info"
|
"version info"
|
||||||
return render_template(
|
return render_template(
|
||||||
"about.j2",
|
"about.j2",
|
||||||
version=scu.get_scodoc_version(),
|
|
||||||
news=sco_version.SCONEWS,
|
|
||||||
logo=scu.icontag("borgne_img"),
|
logo=scu.icontag("borgne_img"),
|
||||||
|
news=sco_version.SCONEWS,
|
||||||
|
ScoDocSiteConfig=ScoDocSiteConfig,
|
||||||
|
version=scu.get_scodoc_version(),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user