Skip to content
Snippets Groups Projects
Commit cc290487 authored by Emmanuel Viennet's avatar Emmanuel Viennet
Browse files

Fix: sco_report when no admission data.

parent 2f8b07dd
No related branches found
No related tags found
No related merge requests found
# -*- coding: UTF-8 -*
"""Decorators for permissions, roles and ScoDoc7 Zope compatibility
"""
"""Decorators for permissions, roles and ScoDoc7 Zope compatibility"""
from functools import wraps
import inspect
......@@ -19,7 +18,7 @@ import app.scodoc.sco_utils as scu
from app.scodoc.sco_exceptions import ScoValueError
class ZUser(object):
class ZUser:
"Emulating Zope User"
def __init__(self):
......@@ -146,6 +145,7 @@ def permission_required_compat_scodoc7(permission): # XXX TODO A SUPPRIMER
def admin_required(f):
"requiert la permission SuperAdmin"
from app.auth.models import Permission
return permission_required(Permission.ScoSuperAdmin)(f)
......
......@@ -295,6 +295,9 @@ class Identite(models.ScoDocModel):
"""
check_etud_duplicate_code(args, "code_nip", etudid=self.id)
check_etud_duplicate_code(args, "code_ine", etudid=self.id)
if self.admission is None:
self.admission = Admission()
db.session.add(self.admission)
modified = super().from_dict(args, **kwargs)
if modified:
msg = f"""Modification de l'étudiant {self.html_link_fiche()} id={self.id} nip={
......
......@@ -92,6 +92,7 @@ def formsemestre_etuds_stats(
continue
etud = Identite.get_etud(etudid)
e_dict = etud.to_dict_scodoc7()
if etud.admission:
e_dict |= etud.admission.to_dict()
e_dict["annee_admission"] = etud.admission.annee # plus explicite
decision = nt.get_etud_decision_sem(etudid)
......
......@@ -779,6 +779,7 @@ def do_import_etud_admission(etud: Identite, etud_data: dict, import_identite=Fa
}
if etud.admission is None:
etud.admission = Admission()
db.session.add(etud.admission)
args = {k: v for k, v in args.items() if v not in ("", None)}
etud.admission.from_dict(args)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment