forked from ScoDoc/ScoDoc
Update opolka/ScoDoc from ScoDoc/ScoDoc #2
@ -2164,82 +2164,6 @@ def _get_date_str(deb: datetime.datetime, fin: datetime.datetime) -> str:
|
||||
return f'du {deb.strftime("%d/%m/%Y %H:%M")} au {fin.strftime("%d/%m/%Y %H:%M")}'
|
||||
|
||||
|
||||
def _get_days_between_dates(deb: str, fin: str) -> str:
|
||||
"""
|
||||
_get_days_between_dates récupère tous les jours entre deux dates
|
||||
|
||||
Args:
|
||||
deb (str): date de début
|
||||
fin (str): date de fin
|
||||
|
||||
Returns:
|
||||
str: une chaine json représentant une liste des jours
|
||||
['date_iso','date_iso2', ...]
|
||||
"""
|
||||
if deb is None or fin is None:
|
||||
return "null"
|
||||
try:
|
||||
if isinstance(deb, str) and isinstance(fin, str):
|
||||
date_deb: datetime.date = datetime.date.fromisoformat(deb)
|
||||
date_fin: datetime.date = datetime.date.fromisoformat(fin)
|
||||
else:
|
||||
date_deb, date_fin = deb.date(), fin.date()
|
||||
except ValueError:
|
||||
return "null"
|
||||
dates: list[str] = []
|
||||
while date_deb <= date_fin:
|
||||
dates.append(f'"{date_deb.isoformat()}"')
|
||||
date_deb = date_deb + datetime.timedelta(days=1)
|
||||
|
||||
return f"[{','.join(dates)}]"
|
||||
|
||||
|
||||
def _differee(
|
||||
etudiants: list[dict],
|
||||
moduleimpl_select: str,
|
||||
date: str = None,
|
||||
periode: dict[str, str] = None,
|
||||
formsemestre_id: int = None,
|
||||
) -> str:
|
||||
"""
|
||||
_differee Génère un tableau de saisie différé
|
||||
|
||||
Args:
|
||||
etudiants (list[dict]): la liste des étudiants (représentés par des dictionnaires)
|
||||
moduleimpl_select (str): l'html représentant le selecteur de module
|
||||
date (str, optional): la première date à afficher. Defaults to None.
|
||||
periode (dict[str, str], optional):La période par défaut de la première colonne.
|
||||
formsemestre_id (int, optional): l'id du semestre pour le selecteur de module.
|
||||
|
||||
Returns:
|
||||
str: le widget (html/css/js)
|
||||
"""
|
||||
if date is None:
|
||||
date = datetime.date.today().isoformat()
|
||||
|
||||
forcer_module = sco_preferences.get_preference(
|
||||
"forcer_module",
|
||||
formsemestre_id=formsemestre_id,
|
||||
dept_id=g.scodoc_dept_id,
|
||||
)
|
||||
|
||||
assi_etat_defaut = sco_preferences.get_preference(
|
||||
"assi_etat_defaut",
|
||||
formsemestre_id=formsemestre_id,
|
||||
dept_id=g.scodoc_dept_id,
|
||||
)
|
||||
|
||||
return render_template(
|
||||
"assiduites/widgets/differee.j2",
|
||||
etudiants=etudiants,
|
||||
assi_etat_defaut=assi_etat_defaut,
|
||||
forcer_module=forcer_module,
|
||||
moduleimpl_select=moduleimpl_select,
|
||||
date=date,
|
||||
periode=periode,
|
||||
)
|
||||
|
||||
|
||||
def _module_selector(formsemestre: FormSemestre, moduleimpl_id: int = None) -> str:
|
||||
"""
|
||||
_module_selector Génère un HTMLSelectElement à partir des moduleimpl du formsemestre
|
||||
|
Loading…
Reference in New Issue
Block a user