forked from ScoDoc/ScoDoc
Assiduité : liste_assi : colonne code et titre module closes #865
This commit is contained in:
parent
5d10ee467e
commit
8ded16b94f
@ -1,6 +1,6 @@
|
|||||||
# -*- coding: UTF-8 -*
|
# -*- coding: UTF-8 -*
|
||||||
"""Gestion de l'assiduité (assiduités + justificatifs)
|
"""Gestion de l'assiduité (assiduités + justificatifs)"""
|
||||||
"""
|
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
|
|
||||||
from flask_login import current_user
|
from flask_login import current_user
|
||||||
@ -336,13 +336,19 @@ class Assiduite(ScoDocModel):
|
|||||||
"""
|
"""
|
||||||
return get_formsemestre_from_data(self.to_dict())
|
return get_formsemestre_from_data(self.to_dict())
|
||||||
|
|
||||||
def get_module(self, traduire: bool = False) -> int | str:
|
def get_module(self, traduire: bool = False) -> Module | str:
|
||||||
"TODO documenter"
|
"""
|
||||||
|
Retourne le module associé à l'assiduité
|
||||||
|
Si traduire est vrai, retourne le titre du module précédé du code
|
||||||
|
Sinon rentourne l'objet Module ou None
|
||||||
|
"""
|
||||||
|
|
||||||
if self.moduleimpl_id is not None:
|
if self.moduleimpl_id is not None:
|
||||||
|
modimpl: ModuleImpl = ModuleImpl.query.get(self.moduleimpl_id)
|
||||||
|
mod: Module = Module.query.get(modimpl.module_id)
|
||||||
if traduire:
|
if traduire:
|
||||||
modimpl: ModuleImpl = ModuleImpl.query.get(self.moduleimpl_id)
|
|
||||||
mod: Module = Module.query.get(modimpl.module_id)
|
|
||||||
return f"{mod.code} {mod.titre}"
|
return f"{mod.code} {mod.titre}"
|
||||||
|
return mod
|
||||||
|
|
||||||
elif self.external_data is not None and "module" in self.external_data:
|
elif self.external_data is not None and "module" in self.external_data:
|
||||||
return (
|
return (
|
||||||
|
@ -12,7 +12,7 @@ from sqlalchemy import desc, literal, union, asc
|
|||||||
|
|
||||||
from app import db, g
|
from app import db, g
|
||||||
from app.auth.models import User
|
from app.auth.models import User
|
||||||
from app.models import Assiduite, Identite, Justificatif
|
from app.models import Assiduite, Identite, Justificatif, Module
|
||||||
from app.scodoc.sco_utils import (
|
from app.scodoc.sco_utils import (
|
||||||
EtatAssiduite,
|
EtatAssiduite,
|
||||||
EtatJustificatif,
|
EtatJustificatif,
|
||||||
@ -534,10 +534,45 @@ class RowAssiJusti(tb.Row):
|
|||||||
if self.table.options.show_module:
|
if self.table.options.show_module:
|
||||||
if self.ligne["type"] == "assiduite":
|
if self.ligne["type"] == "assiduite":
|
||||||
assi: Assiduite = Assiduite.query.get(self.ligne["obj_id"])
|
assi: Assiduite = Assiduite.query.get(self.ligne["obj_id"])
|
||||||
mod: str = assi.get_module(True)
|
if self.table.no_pagination:
|
||||||
self.add_cell("module", "Module", mod, data={"order": mod})
|
mod: Module = assi.get_module(False)
|
||||||
|
code = mod.code if isinstance(mod, Module) else ""
|
||||||
|
titre = ""
|
||||||
|
if isinstance(mod, Module):
|
||||||
|
titre = mod.titre
|
||||||
|
elif isinstance(mod, str):
|
||||||
|
titre = mod
|
||||||
|
else:
|
||||||
|
titre = "Non Spécifié"
|
||||||
|
|
||||||
|
self.add_cell(
|
||||||
|
"code_module", "Code Module", code, data={"order": code}
|
||||||
|
)
|
||||||
|
self.add_cell(
|
||||||
|
"titre_module",
|
||||||
|
"Titre Module",
|
||||||
|
titre,
|
||||||
|
data={"order": titre},
|
||||||
|
)
|
||||||
|
else:
|
||||||
|
mod: Module = assi.get_module(True)
|
||||||
|
self.add_cell(
|
||||||
|
"module",
|
||||||
|
"Module",
|
||||||
|
mod,
|
||||||
|
data={"order": mod},
|
||||||
|
)
|
||||||
else:
|
else:
|
||||||
self.add_cell("module", "Module", "", data={"order": ""})
|
if self.table.no_pagination:
|
||||||
|
self.add_cell("module", "Module", "", data={"order": ""})
|
||||||
|
else:
|
||||||
|
self.add_cell("code_module", "Code Module", "", data={"order": ""})
|
||||||
|
self.add_cell(
|
||||||
|
"titre_module",
|
||||||
|
"Titre Module",
|
||||||
|
"",
|
||||||
|
data={"order": ""},
|
||||||
|
)
|
||||||
|
|
||||||
def _utilisateur(self) -> None:
|
def _utilisateur(self) -> None:
|
||||||
utilisateur: User = (
|
utilisateur: User = (
|
||||||
|
Loading…
Reference in New Issue
Block a user