forked from ScoDoc/ScoDoc
API: fix /formsemestre/<int:formsemestre_id>/programme
This commit is contained in:
parent
72e69960a4
commit
d36a2950d3
@ -217,7 +217,6 @@ def formsemestre_programme(formsemestre_id: int):
|
|||||||
for modimpl in formsemestre.modimpls_sorted:
|
for modimpl in formsemestre.modimpls_sorted:
|
||||||
d = modimpl.to_dict(convert_objects=True)
|
d = modimpl.to_dict(convert_objects=True)
|
||||||
m_list[modimpl.module.module_type].append(d)
|
m_list[modimpl.module.module_type].append(d)
|
||||||
|
|
||||||
return jsonify(
|
return jsonify(
|
||||||
{
|
{
|
||||||
"ues": [ue.to_dict(convert_objects=True) for ue in ues],
|
"ues": [ue.to_dict(convert_objects=True) for ue in ues],
|
||||||
|
@ -79,20 +79,23 @@ class ModuleImpl(db.Model):
|
|||||||
self.module.formation.get_module_coefs(self.module.semestre_id),
|
self.module.formation.get_module_coefs(self.module.semestre_id),
|
||||||
)
|
)
|
||||||
|
|
||||||
def to_dict(self, convert_objects=False):
|
def to_dict(self, convert_objects=False, with_module=True):
|
||||||
"""as a dict, with the same conversions as in ScoDoc7, including module.
|
"""as a dict, with the same conversions as in ScoDoc7, including module.
|
||||||
If convert_objects, convert all attributes to native types
|
If convert_objects, convert all attributes to native types
|
||||||
(suitable jor json encoding).
|
(suitable jor json encoding).
|
||||||
"""
|
"""
|
||||||
e = dict(self.__dict__)
|
d = dict(self.__dict__)
|
||||||
e.pop("_sa_instance_state", None)
|
d.pop("_sa_instance_state", None)
|
||||||
# ScoDoc7 output_formators: (backward compat)
|
# ScoDoc7 output_formators: (backward compat)
|
||||||
e["moduleimpl_id"] = self.id
|
d["moduleimpl_id"] = self.id
|
||||||
e["ens"] = [
|
d["ens"] = [
|
||||||
{"moduleimpl_id": self.id, "ens_id": e.id} for e in self.enseignants
|
{"moduleimpl_id": self.id, "ens_id": e.id} for e in self.enseignants
|
||||||
]
|
]
|
||||||
e["module"] = self.module.to_dict(convert_objects=convert_objects)
|
if with_module:
|
||||||
return e
|
d["module"] = self.module.to_dict(convert_objects=convert_objects)
|
||||||
|
else:
|
||||||
|
d.pop("module", None)
|
||||||
|
return d
|
||||||
|
|
||||||
|
|
||||||
# Enseignants (chargés de TD ou TP) d'un moduleimpl
|
# Enseignants (chargés de TD ou TP) d'un moduleimpl
|
||||||
|
@ -67,24 +67,33 @@ class Module(db.Model):
|
|||||||
def __repr__(self):
|
def __repr__(self):
|
||||||
return f"<Module{ModuleType(self.module_type or ModuleType.STANDARD).name} id={self.id} code={self.code!r}>"
|
return f"<Module{ModuleType(self.module_type or ModuleType.STANDARD).name} id={self.id} code={self.code!r}>"
|
||||||
|
|
||||||
def to_dict(self, convert_objects=False) -> dict:
|
def to_dict(self, convert_objects=False, with_matiere=False, with_ue=False) -> dict:
|
||||||
"""If convert_objects, convert all attributes to native types
|
"""If convert_objects, convert all attributes to native types
|
||||||
(suitable jor json encoding).
|
(suitable jor json encoding).
|
||||||
"""
|
"""
|
||||||
e = dict(self.__dict__)
|
d = dict(self.__dict__)
|
||||||
e.pop("_sa_instance_state", None)
|
d.pop("_sa_instance_state", None)
|
||||||
if convert_objects:
|
if convert_objects:
|
||||||
e["parcours"] = [p.to_dict() for p in self.parcours]
|
d["parcours"] = [p.to_dict() for p in self.parcours]
|
||||||
|
if not with_matiere:
|
||||||
|
d.pop("matiere", None)
|
||||||
|
if not with_ue:
|
||||||
|
d.pop("ue", None)
|
||||||
|
if convert_objects and with_matiere:
|
||||||
|
d["matiere"] = self.matiere.to_dict(convert_objects=True)
|
||||||
|
if convert_objects and with_ue:
|
||||||
|
d["ue"] = self.ue.to_dict(convert_objects=True)
|
||||||
|
|
||||||
# ScoDoc7 output_formators: (backward compat)
|
# ScoDoc7 output_formators: (backward compat)
|
||||||
e["module_id"] = self.id
|
d["module_id"] = self.id
|
||||||
e["heures_cours"] = 0.0 if self.heures_cours is None else self.heures_cours
|
d["heures_cours"] = 0.0 if self.heures_cours is None else self.heures_cours
|
||||||
e["heures_td"] = 0.0 if self.heures_td is None else self.heures_td
|
d["heures_td"] = 0.0 if self.heures_td is None else self.heures_td
|
||||||
e["heures_tp"] = 0.0 if self.heures_tp is None else self.heures_tp
|
d["heures_tp"] = 0.0 if self.heures_tp is None else self.heures_tp
|
||||||
e["numero"] = 0 if self.numero is None else self.numero
|
d["numero"] = 0 if self.numero is None else self.numero
|
||||||
e["coefficient"] = 0.0 if self.coefficient is None else self.coefficient
|
d["coefficient"] = 0.0 if self.coefficient is None else self.coefficient
|
||||||
e["module_type"] = 0 if self.module_type is None else self.module_type
|
d["module_type"] = 0 if self.module_type is None else self.module_type
|
||||||
e["code_apogee"] = e["code_apogee"] or "" # pas de None
|
d["code_apogee"] = d["code_apogee"] or "" # pas de None
|
||||||
return e
|
return d
|
||||||
|
|
||||||
def is_apc(self):
|
def is_apc(self):
|
||||||
"True si module SAÉ ou Ressource"
|
"True si module SAÉ ou Ressource"
|
||||||
@ -227,7 +236,7 @@ class ModuleUECoef(db.Model):
|
|||||||
|
|
||||||
def to_dict(self, convert_objects=False) -> dict:
|
def to_dict(self, convert_objects=False) -> dict:
|
||||||
"""If convert_objects, convert all attributes to native types
|
"""If convert_objects, convert all attributes to native types
|
||||||
(suitable jor json encoding).
|
(suitable for json encoding).
|
||||||
"""
|
"""
|
||||||
d = dict(self.__dict__)
|
d = dict(self.__dict__)
|
||||||
d.pop("_sa_instance_state", None)
|
d.pop("_sa_instance_state", None)
|
||||||
|
Loading…
Reference in New Issue
Block a user