forked from ScoDoc/DocScoDoc
WIP refactoring
This commit is contained in:
parent
23477faa3b
commit
8cf1cc7c34
@ -198,7 +198,7 @@ def sco_import_generate_excel_sample(
|
||||
# rempli table avec données actuelles
|
||||
lines = []
|
||||
for i in members:
|
||||
etud = context.getEtudInfo(etudid=i["etudid"], filled=True)[0]
|
||||
etud = scolars.get_etud_info(etudid=i["etudid"], filled=True)[0]
|
||||
l = []
|
||||
for field in titles:
|
||||
if field == "groupes":
|
||||
|
@ -97,7 +97,7 @@ def sidebar(context, REQUEST=None):
|
||||
# ---- s'il y a un etudiant selectionné:
|
||||
if REQUEST.form.has_key("etudid"):
|
||||
etudid = REQUEST.form["etudid"]
|
||||
etud = context.getEtudInfo(filled=1, etudid=etudid)[0]
|
||||
etud = scolars.get_etud_info(filled=1, etudid=etudid)[0]
|
||||
params.update(etud)
|
||||
# compte les absences du semestre en cours
|
||||
H.append(
|
||||
@ -166,7 +166,9 @@ def sidebar_dept(context, REQUEST=None):
|
||||
"""Partie supérieure de la marge de gauche"""
|
||||
infos = {
|
||||
"BASE0": REQUEST.BASE0,
|
||||
"DeptIntranetTitle": sco_preferences.get_preference(context, "DeptIntranetTitle"),
|
||||
"DeptIntranetTitle": sco_preferences.get_preference(
|
||||
context, "DeptIntranetTitle"
|
||||
),
|
||||
"DeptIntranetURL": sco_preferences.get_preference(context, "DeptIntranetURL"),
|
||||
"DeptName": sco_preferences.get_preference(context, "DeptName"),
|
||||
"ScoURL": context.ScoURL(),
|
||||
|
@ -1117,7 +1117,7 @@ class JuryPE:
|
||||
ETUDINFO_DICT si mémorisée soit en les chargeant et en les mémorisant
|
||||
"""
|
||||
if etudid not in self.ETUDINFO_DICT:
|
||||
self.ETUDINFO_DICT[etudid] = context.getEtudInfo(
|
||||
self.ETUDINFO_DICT[etudid] = scolars.get_etud_info(
|
||||
etudid=etudid, filled=True
|
||||
)[0]
|
||||
return self.ETUDINFO_DICT[etudid]
|
||||
@ -1139,7 +1139,7 @@ class JuryPE:
|
||||
def get_semestresDUT_d_un_etudiant(self, etudid, semestre_id=None):
|
||||
"""Renvoie la liste des semestres DUT d'un étudiant
|
||||
pour un semestre_id (parmi 1,2,3,4) donné
|
||||
en fonction de ses infos d'etud (cf. context.getEtudInfo(etudid=etudid, filled=True)[0]),
|
||||
en fonction de ses infos d'etud (cf. scolars.get_etud_info( etudid=etudid, filled=True)[0]),
|
||||
les semestres étant triés par ordre décroissant.
|
||||
Si semestre_id == None renvoie tous les semestres"""
|
||||
etud = self.get_cache_etudInfo_d_un_etudiant(self.context, etudid)
|
||||
|
@ -604,7 +604,7 @@ def invalidateAbsEtudDate(context, etudid, date):
|
||||
date: date au format ISO
|
||||
"""
|
||||
# Semestres a cette date:
|
||||
etud = context.getEtudInfo(etudid=etudid, filled=True)[0]
|
||||
etud = scolars.get_etud_info(etudid=etudid, filled=True)[0]
|
||||
sems = [
|
||||
sem
|
||||
for sem in etud["sems"]
|
||||
|
@ -152,7 +152,7 @@ def abs_notify_get_destinations(context, sem, prefs, etudid, date, nbabs, nbabsj
|
||||
if prefs["abs_notify_email"]:
|
||||
destinations.append(prefs["abs_notify_email"])
|
||||
if prefs["abs_notify_etud"]:
|
||||
etud = context.getEtudInfo(etudid=etudid, filled=1)[0]
|
||||
etud = scolars.get_etud_info(etudid=etudid, filled=1)[0]
|
||||
if etud["email_default"]:
|
||||
destinations.append(etud["email_default"])
|
||||
|
||||
@ -181,11 +181,11 @@ def abs_notify_is_above_threshold(context, etudid, nbabs, nbabsjust, formsemestr
|
||||
(nbabs > abs_notify_abs_threshold)
|
||||
(nbabs - nbabs_last_notified) > abs_notify_abs_increment
|
||||
"""
|
||||
abs_notify_abs_threshold = sco_preferences.get_preference(context,
|
||||
"abs_notify_abs_threshold", formsemestre_id
|
||||
abs_notify_abs_threshold = sco_preferences.get_preference(
|
||||
context, "abs_notify_abs_threshold", formsemestre_id
|
||||
)
|
||||
abs_notify_abs_increment = sco_preferences.get_preference(context,
|
||||
"abs_notify_abs_increment", formsemestre_id
|
||||
abs_notify_abs_increment = sco_preferences.get_preference(
|
||||
context, "abs_notify_abs_increment", formsemestre_id
|
||||
)
|
||||
nbabs_last_notified = etud_nbabs_last_notified(context, etudid, formsemestre_id)
|
||||
|
||||
@ -236,7 +236,7 @@ def abs_notification_message(context, sem, prefs, etudid, nbabs, nbabsjust):
|
||||
"""Mime notification message based on template.
|
||||
returns None if sending should be canceled (emplty template).
|
||||
"""
|
||||
etud = context.getEtudInfo(etudid=etudid, filled=True)[0]
|
||||
etud = scolars.get_etud_info(etudid=etudid, filled=True)[0]
|
||||
|
||||
# Variables accessibles dans les balises du template: %(nom_variable)s :
|
||||
values = sco_bulletins.make_context_dict(context, sem, etud)
|
||||
|
@ -70,7 +70,7 @@ def doSignaleAbsence(
|
||||
description: str
|
||||
etudid: etudiant concerné. Si non spécifié, cherche dans REQUEST.form
|
||||
"""
|
||||
etud = context.getEtudInfo(filled=1, etudid=etudid, REQUEST=REQUEST)[0]
|
||||
etud = scolars.get_etud_info(filled=1, etudid=etudid, REQUEST=REQUEST)[0]
|
||||
etudid = etud["etudid"]
|
||||
|
||||
description_abs = description
|
||||
@ -149,12 +149,12 @@ def doSignaleAbsence(
|
||||
def SignaleAbsenceEtud(context, REQUEST=None): # etudid implied
|
||||
"""Formulaire individuel simple de signalement d'une absence"""
|
||||
# brute-force portage from very old dtml code ...
|
||||
etud = context.getEtudInfo(filled=1, REQUEST=REQUEST)[0]
|
||||
etud = scolars.get_etud_info(filled=1, REQUEST=REQUEST)[0]
|
||||
etudid = etud["etudid"]
|
||||
disabled = False
|
||||
if not etud["cursem"]:
|
||||
require_module = sco_preferences.get_preference(context,
|
||||
"abs_require_module"
|
||||
require_module = sco_preferences.get_preference(
|
||||
context, "abs_require_module"
|
||||
) # on utilise la pref globale car pas de sem courant
|
||||
if require_module:
|
||||
menu_module = """<div class="ue_warning">Pas inscrit dans un semestre courant,
|
||||
@ -164,7 +164,9 @@ def SignaleAbsenceEtud(context, REQUEST=None): # etudid implied
|
||||
menu_module = ""
|
||||
else:
|
||||
formsemestre_id = etud["cursem"]["formsemestre_id"]
|
||||
require_module = sco_preferences.get_preference(context, "abs_require_module", formsemestre_id)
|
||||
require_module = sco_preferences.get_preference(
|
||||
context, "abs_require_module", formsemestre_id
|
||||
)
|
||||
nt = context.Notes._getNotesCache().get_NotesTable(
|
||||
context.Notes, formsemestre_id
|
||||
)
|
||||
@ -286,7 +288,7 @@ def doJustifAbsence(
|
||||
description: str
|
||||
etudid: etudiant concerné. Si non spécifié, cherche dans REQUEST.form
|
||||
"""
|
||||
etud = context.getEtudInfo(filled=1, etudid=etudid, REQUEST=REQUEST)[0]
|
||||
etud = scolars.get_etud_info(filled=1, etudid=etudid, REQUEST=REQUEST)[0]
|
||||
etudid = etud["etudid"]
|
||||
description_abs = description
|
||||
dates = sco_abs.DateRangeISO(context, datedebut, datefin)
|
||||
@ -355,7 +357,7 @@ def doJustifAbsence(
|
||||
def JustifAbsenceEtud(context, REQUEST=None): # etudid implied
|
||||
"""Formulaire individuel simple de justification d'une absence"""
|
||||
# brute-force portage from very old dtml code ...
|
||||
etud = context.getEtudInfo(filled=1, REQUEST=REQUEST)[0]
|
||||
etud = scolars.get_etud_info(filled=1, REQUEST=REQUEST)[0]
|
||||
etudid = etud["etudid"]
|
||||
H = [
|
||||
html_sco_header.sco_header(
|
||||
@ -413,7 +415,7 @@ def doAnnuleAbsence(
|
||||
context, datedebut, datefin, demijournee, etudid=False, REQUEST=None
|
||||
): # etudid implied
|
||||
"""Annulation des absences pour une demi journée"""
|
||||
etud = context.getEtudInfo(filled=1, etudid=etudid, REQUEST=REQUEST)[0]
|
||||
etud = scolars.get_etud_info(filled=1, etudid=etudid, REQUEST=REQUEST)[0]
|
||||
etudid = etud["etudid"]
|
||||
|
||||
dates = sco_abs.DateRangeISO(context, datedebut, datefin)
|
||||
@ -464,7 +466,7 @@ autre absence pour <b>%(nomprenom)s</b></a></li>
|
||||
def AnnuleAbsenceEtud(context, REQUEST=None): # etudid implied
|
||||
"""Formulaire individuel simple d'annulation d'une absence"""
|
||||
# brute-force portage from very old dtml code ...
|
||||
etud = context.getEtudInfo(filled=1, REQUEST=REQUEST)[0]
|
||||
etud = scolars.get_etud_info(filled=1, REQUEST=REQUEST)[0]
|
||||
etudid = etud["etudid"]
|
||||
|
||||
H = [
|
||||
@ -553,7 +555,7 @@ def doAnnuleJustif(
|
||||
context, datedebut0, datefin0, demijournee, REQUEST=None
|
||||
): # etudid implied
|
||||
"""Annulation d'une justification"""
|
||||
etud = context.getEtudInfo(filled=1, REQUEST=REQUEST)[0]
|
||||
etud = scolars.get_etud_info(filled=1, REQUEST=REQUEST)[0]
|
||||
etudid = etud["etudid"]
|
||||
dates = sco_abs.DateRangeISO(context, datedebut0, datefin0)
|
||||
nbadded = 0
|
||||
@ -658,7 +660,7 @@ def formChoixSemestreGroupe(context, all=False):
|
||||
def CalAbs(context, REQUEST=None): # etud implied
|
||||
"""Calendrier des absences d un etudiant"""
|
||||
# crude portage from 1999 DTML
|
||||
etud = context.getEtudInfo(filled=1, REQUEST=REQUEST)[0]
|
||||
etud = scolars.get_etud_info(filled=1, REQUEST=REQUEST)[0]
|
||||
etudid = etud["etudid"]
|
||||
anneescolaire = int(scu.AnneeScolaire(REQUEST))
|
||||
datedebut = str(anneescolaire) + "-08-31"
|
||||
@ -746,7 +748,7 @@ def ListeAbsEtud(
|
||||
absjust_only = int(absjust_only) # si vrai, table absjust seule (export xls ou pdf)
|
||||
datedebut = "%s-08-31" % scu.AnneeScolaire(REQUEST)
|
||||
|
||||
etud = context.getEtudInfo(etudid=etudid, filled=True)[0]
|
||||
etud = scolars.get_etud_info(etudid=etudid, filled=True)[0]
|
||||
|
||||
# Liste des absences et titres colonnes tables:
|
||||
titles, columns_ids, absnonjust, absjust = context.Absences._TablesAbsEtud(
|
||||
|
@ -285,7 +285,7 @@ class ApoEtud(dict):
|
||||
return "ApoEtud( nom='%s', nip='%s' )" % (self["nom"], self["nip"])
|
||||
|
||||
def lookup_scodoc(self, context, etape_formsemestre_ids):
|
||||
etuds = context.getEtudInfo(code_nip=self["nip"], filled=True)
|
||||
etuds = scolars.get_etud_info(code_nip=self["nip"], filled=True)
|
||||
if not etuds:
|
||||
# pas dans ScoDoc
|
||||
self.etud = None
|
||||
|
@ -129,9 +129,10 @@ def etud_upload_file_form(context, REQUEST, etudid):
|
||||
raise AccessDenied(
|
||||
"opération non autorisée pour %s" % str(REQUEST.AUTHENTICATED_USER)
|
||||
)
|
||||
etud = context.getEtudInfo(filled=1, REQUEST=REQUEST)[0]
|
||||
etud = scolars.get_etud_info(filled=1, REQUEST=REQUEST)[0]
|
||||
H = [
|
||||
html_sco_header.sco_header(context,
|
||||
html_sco_header.sco_header(
|
||||
context,
|
||||
REQUEST,
|
||||
page_title="Chargement d'un document associé à %(nomprenom)s" % etud,
|
||||
),
|
||||
@ -197,7 +198,7 @@ def etud_delete_archive(context, REQUEST, etudid, archive_name, dialog_confirmed
|
||||
raise AccessDenied(
|
||||
"opération non autorisée pour %s" % str(REQUEST.AUTHENTICATED_USER)
|
||||
)
|
||||
etud = context.getEtudInfo(filled=1, REQUEST=REQUEST)[0]
|
||||
etud = scolars.get_etud_info(filled=1, REQUEST=REQUEST)[0]
|
||||
archive_id = EtudsArchive.get_id_from_name(context, etudid, archive_name)
|
||||
dest_url = "ficheEtud?etudid=%s" % etudid
|
||||
if not dialog_confirmed:
|
||||
@ -252,8 +253,8 @@ def etudarchive_generate_excel_sample(context, group_id=None, REQUEST=None):
|
||||
def etudarchive_import_files_form(context, group_id, REQUEST=None):
|
||||
"""Formualaire pour importation fichiers d'un groupe"""
|
||||
H = [
|
||||
html_sco_header.sco_header(context,
|
||||
REQUEST, page_title="Import de fichiers associés aux étudiants"
|
||||
html_sco_header.sco_header(
|
||||
context, REQUEST, page_title="Import de fichiers associés aux étudiants"
|
||||
),
|
||||
"""<h2 class="formsemestre">Téléchargement de fichier associés aux étudiants</h2>
|
||||
<p>Les fichiers associés (dossiers d'admission, certificats, ...), de types quelconques (pdf, doc, images)
|
||||
|
@ -138,7 +138,7 @@ def formsemestre_bulletinetud_dict(
|
||||
I["formation"]["type_parcours"]
|
||||
)
|
||||
# Infos sur l'etudiant
|
||||
I["etud"] = context.getEtudInfo(etudid=etudid, filled=1)[0]
|
||||
I["etud"] = scolars.get_etud_info(etudid=etudid, filled=1)[0]
|
||||
I["descr_situation"] = I["etud"]["inscriptionstr"]
|
||||
if I["etud"]["inscription_formsemestre_id"]:
|
||||
I[
|
||||
@ -780,7 +780,7 @@ def formsemestre_bulletinetud(
|
||||
):
|
||||
"page bulletin de notes"
|
||||
try:
|
||||
etud = context.getEtudInfo(filled=1, REQUEST=REQUEST)[0]
|
||||
etud = scolars.get_etud_info(filled=1, REQUEST=REQUEST)[0]
|
||||
etudid = etud["etudid"]
|
||||
except:
|
||||
return scu.log_unknown_etud(context, REQUEST, format=format)
|
||||
@ -1210,92 +1210,3 @@ def _formsemestre_bulletinetud_header_html(
|
||||
)
|
||||
|
||||
return "".join(H)
|
||||
|
||||
|
||||
def formsemestre_bulletins_choice(
|
||||
context, REQUEST, formsemestre_id, title="", explanation="", choose_mail=False
|
||||
):
|
||||
"""Choix d'une version de bulletin"""
|
||||
sem = sco_formsemestre.get_formsemestre(context, formsemestre_id)
|
||||
H = [
|
||||
html_sco_header.html_sem_header(context, REQUEST, title, sem),
|
||||
"""
|
||||
<form name="f" method="GET" action="%s">
|
||||
<input type="hidden" name="formsemestre_id" value="%s"></input>
|
||||
"""
|
||||
% (REQUEST.URL0, formsemestre_id),
|
||||
]
|
||||
H.append("""<select name="version" class="noprint">""")
|
||||
for (v, e) in (
|
||||
("short", "Version courte"),
|
||||
("selectedevals", "Version intermédiaire"),
|
||||
("long", "Version complète"),
|
||||
):
|
||||
H.append('<option value="%s">%s</option>' % (v, e))
|
||||
|
||||
H.append("""</select> <input type="submit" value="Générer"/>""")
|
||||
if choose_mail:
|
||||
H.append(
|
||||
"""<div><input type="checkbox" name="prefer_mail_perso" value="1">Utiliser si possible les adresses personnelles</div>"""
|
||||
)
|
||||
|
||||
H.append("""<p class="help">""" + explanation + """</p>""")
|
||||
|
||||
return "\n".join(H) + html_sco_header.sco_footer(context, REQUEST)
|
||||
|
||||
|
||||
expl_bull = """Versions des bulletins:<ul><li><bf>courte</bf>: moyennes des modules</li><li><bf>intermédiaire</bf>: moyennes des modules et notes des évaluations sélectionnées</li><li><bf>complète</bf>: toutes les notes</li><ul>"""
|
||||
|
||||
|
||||
def formsemestre_bulletins_pdf_choice(context, REQUEST, formsemestre_id, version=None):
|
||||
"""Choix version puis envois classeur bulletins pdf"""
|
||||
if version:
|
||||
return context.formsemestre_bulletins_pdf(
|
||||
formsemestre_id, REQUEST, version=version
|
||||
)
|
||||
return formsemestre_bulletins_choice(
|
||||
context,
|
||||
REQUEST,
|
||||
formsemestre_id,
|
||||
title="Choisir la version des bulletins à générer",
|
||||
explanation=expl_bull,
|
||||
)
|
||||
|
||||
|
||||
def formsemestre_bulletins_mailetuds_choice(
|
||||
context,
|
||||
REQUEST,
|
||||
formsemestre_id,
|
||||
version=None,
|
||||
dialog_confirmed=False,
|
||||
prefer_mail_perso=0,
|
||||
):
|
||||
"""Choix version puis envois classeur bulletins pdf"""
|
||||
if version:
|
||||
return context.formsemestre_bulletins_mailetuds(
|
||||
formsemestre_id,
|
||||
REQUEST,
|
||||
version=version,
|
||||
dialog_confirmed=dialog_confirmed,
|
||||
prefer_mail_perso=prefer_mail_perso,
|
||||
)
|
||||
return formsemestre_bulletins_choice(
|
||||
context,
|
||||
REQUEST,
|
||||
formsemestre_id,
|
||||
title="Choisir la version des bulletins à envoyer par mail",
|
||||
explanation="Chaque étudiant ayant une adresse mail connue de ScoDoc recevra une copie PDF de son bulletin de notes, dans la version choisie.</p><p>"
|
||||
+ expl_bull,
|
||||
choose_mail=True,
|
||||
)
|
||||
|
||||
|
||||
"""
|
||||
from debug import *
|
||||
from sco_bulletins import *
|
||||
context = go_dept(app, 'RT')
|
||||
etudid='EID25013'
|
||||
etudid='EID27760' # bonh
|
||||
formsemestre_id = 'SEM27425'
|
||||
I = formsemestre_bulletinetud_dict(context.Notes, formsemestre_id, etudid, REQUEST=REQUEST)
|
||||
"""
|
||||
|
@ -116,7 +116,7 @@ def formsemestre_bulletinetud_published_dict(
|
||||
d.update(**el)
|
||||
|
||||
# Infos sur l'etudiant
|
||||
etudinfo = context.getEtudInfo(etudid=etudid, filled=1)[0]
|
||||
etudinfo = scolars.get_etud_info(etudid=etudid, filled=1)[0]
|
||||
|
||||
d["etudiant"] = dict(
|
||||
etudid=etudid,
|
||||
|
@ -227,7 +227,7 @@ def get_formsemestre_bulletins_pdf(
|
||||
|
||||
def get_etud_bulletins_pdf(context, etudid, REQUEST, version="selectedevals"):
|
||||
"Bulletins pdf de tous les semestres de l'étudiant, et filename"
|
||||
etud = context.getEtudInfo(etudid=etudid, filled=1)[0]
|
||||
etud = scolars.get_etud_info(etudid=etudid, filled=1)[0]
|
||||
fragments = []
|
||||
bookmarks = {}
|
||||
filigrannes = {}
|
||||
|
@ -99,7 +99,7 @@ def make_xml_formsemestre_bulletinetud(
|
||||
doc.bulletinetud(**el)
|
||||
|
||||
# Infos sur l'etudiant
|
||||
etudinfo = context.getEtudInfo(etudid=etudid, filled=1)[0]
|
||||
etudinfo = scolars.get_etud_info(etudid=etudid, filled=1)[0]
|
||||
doc._push()
|
||||
doc.etudiant(
|
||||
etudid=etudid,
|
||||
|
@ -166,7 +166,7 @@ def compute_user_formula(
|
||||
if user_moy != "NA0" and user_moy != "NA":
|
||||
user_moy = float(user_moy)
|
||||
if (user_moy > 20) or (user_moy < 0):
|
||||
etud = context.getEtudInfo(etudid=etudid, filled=1)[0]
|
||||
etud = scolars.get_etud_info(etudid=etudid, filled=1)[0]
|
||||
|
||||
raise ScoException(
|
||||
"""valeur moyenne %s hors limite pour <a href="formsemestre_bulletinetud?formsemestre_id=%s&etudid=%s">%s</a>"""
|
||||
|
@ -104,7 +104,7 @@ def table_debouche_etudids(context, etudids, keep_numeric=True):
|
||||
"""Rapport pour ces etudiants"""
|
||||
L = []
|
||||
for etudid in etudids:
|
||||
etud = context.getEtudInfo(filled=1, etudid=etudid)[0]
|
||||
etud = scolars.get_etud_info(filled=1, etudid=etudid)[0]
|
||||
# retrouve le "dernier" semestre (au sens de la date de fin)
|
||||
sems = etud["sems"]
|
||||
es = [(sems[i]["date_fin_iso"], i) for i in range(len(sems))]
|
||||
|
@ -498,7 +498,7 @@ def view_apo_etuds(context, semset_id, title="", nips=[], format="html", REQUEST
|
||||
etuds = sco_etape_apogee.apo_csv_retreive_etuds_by_nip(context, semset, nips)
|
||||
# Ils sont parfois dans ScoDoc même si pas dans le semestre: essaie de les retrouver
|
||||
for etud in etuds.values():
|
||||
etud_sco = context.getEtudInfo(code_nip=etud["nip"], filled=True)
|
||||
etud_sco = scolars.get_etud_info(code_nip=etud["nip"], filled=True)
|
||||
if etud_sco:
|
||||
e = etud_sco[0]
|
||||
etud["inscriptions_scodoc"] = ", ".join(
|
||||
@ -529,12 +529,12 @@ def view_scodoc_etuds(
|
||||
if type(etudids) != type([]):
|
||||
etudids = [etudids]
|
||||
etuds = [
|
||||
context.getEtudInfo(etudid=etudid, filled=True)[0] for etudid in etudids
|
||||
scolars.get_etud_info(etudid=etudid, filled=True)[0] for etudid in etudids
|
||||
]
|
||||
elif nips is not None:
|
||||
if type(nips) != type([]):
|
||||
nips = [nips]
|
||||
etuds = [context.getEtudInfo(code_nip=nip, filled=True)[0] for nip in nips]
|
||||
etuds = [scolars.get_etud_info(code_nip=nip, filled=True)[0] for nip in nips]
|
||||
else:
|
||||
raise ValueError("etudid or NIP must be specified")
|
||||
|
||||
@ -752,7 +752,7 @@ def view_apo_csv(context, etape_apo="", semset_id="", format="html", REQUEST=Non
|
||||
e["in_scodoc_str"] = {True: "oui", False: "non"}[e["in_scodoc"]]
|
||||
if e["in_scodoc"]:
|
||||
e["_in_scodoc_str_target"] = "ficheEtud?code_nip=" + e["nip"]
|
||||
e.update(context.getEtudInfo(code_nip=e["nip"], filled=True)[0])
|
||||
e.update(scolars.get_etud_info(code_nip=e["nip"], filled=True)[0])
|
||||
e["_nom_td_attrs"] = 'id="%s" class="etudinfo"' % (e["etudid"],)
|
||||
e["_prenom_td_attrs"] = 'id="pre-%s" class="etudinfo"' % (e["etudid"],)
|
||||
else:
|
||||
|
@ -83,7 +83,7 @@ def _build_results_table(context, start_date=None, end_date=None, types_parcours
|
||||
etudids = nt.get_etudids()
|
||||
for etudid in etudids:
|
||||
if etudid not in etuds_infos: # pas encore traité ?
|
||||
etud = context.getEtudInfo(etudid=etudid, filled=True)[0]
|
||||
etud = scolars.get_etud_info(etudid=etudid, filled=True)[0]
|
||||
for sem in etud["sems"]: # le plus récent d'abord
|
||||
if sem["formsemestre_id"] in formsemestre_ids_parcours:
|
||||
etuds_infos[etudid] = {
|
||||
@ -340,7 +340,7 @@ from debug import *
|
||||
from sco_export_results import *
|
||||
context = go_dept(app, 'RT').Notes
|
||||
etudid = 'EID27764'
|
||||
etud = context.getEtudInfo(etudid=etudid, filled=True)[0]
|
||||
etud = scolars.get_etud_info( etudid=etudid, filled=True)[0]
|
||||
|
||||
start_date='2015-08-15'
|
||||
end_date='2017-08-31'
|
||||
|
@ -110,7 +110,7 @@ def search_etud_in_dept(context, expnom="", REQUEST=None):
|
||||
"""
|
||||
dest_url = "ficheEtud"
|
||||
if len(expnom) > 1:
|
||||
etuds = context.getEtudInfo(filled=1, etudid=expnom, REQUEST=REQUEST)
|
||||
etuds = scolars.get_etud_info(filled=1, etudid=expnom, REQUEST=REQUEST)
|
||||
if len(etuds) != 1:
|
||||
if scu.is_valid_code_nip(expnom):
|
||||
etuds = search_etuds_infos(context, code_nip=expnom, REQUEST=REQUEST)
|
||||
|
@ -53,7 +53,7 @@ def formsemestre_ext_create(context, etudid, sem_params, REQUEST=None):
|
||||
args={"formation_id": sem_params["formation_id"]}
|
||||
)[0]
|
||||
if etudid:
|
||||
_etud = context.getEtudInfo(etudid=etudid, filled=1)[0]
|
||||
_etud = scolars.get_etud_info(etudid=etudid, filled=1)[0]
|
||||
|
||||
# Create formsemestre
|
||||
sem_params["modalite"] = "EXT"
|
||||
@ -75,7 +75,7 @@ def formsemestre_ext_create(context, etudid, sem_params, REQUEST=None):
|
||||
|
||||
def formsemestre_ext_create_form(context, etudid, formsemestre_id, REQUEST=None):
|
||||
"""Formulaire creation/inscription à un semestre extérieur"""
|
||||
etud = context.getEtudInfo(etudid=etudid, filled=1)[0]
|
||||
etud = scolars.get_etud_info(etudid=etudid, filled=1)[0]
|
||||
H = [
|
||||
html_sco_header.sco_header(context, REQUEST),
|
||||
"""<h2>Enregistrement d'une inscription antérieure dans un autre établissement</h2>
|
||||
@ -214,7 +214,7 @@ def formsemestre_ext_edit_ue_validations(
|
||||
mais pas enregistrée.
|
||||
"""
|
||||
sem = sco_formsemestre.get_formsemestre(context, formsemestre_id)
|
||||
etud = context.getEtudInfo(etudid=etudid, filled=True)[0]
|
||||
etud = scolars.get_etud_info(etudid=etudid, filled=True)[0]
|
||||
ue_list = _list_ue_with_coef_and_validations(context, sem, etudid)
|
||||
descr = _ue_form_description(context, ue_list, REQUEST.form)
|
||||
if REQUEST and REQUEST.method == "GET":
|
||||
|
@ -119,7 +119,7 @@ def formsemestre_inscription_with_modules_form(
|
||||
"""Formulaire inscription de l'etud dans l'un des semestres existants.
|
||||
Si only_ext, ne montre que les semestre extérieurs.
|
||||
"""
|
||||
etud = context.getEtudInfo(etudid=etudid, filled=1)[0]
|
||||
etud = scolars.get_etud_info(etudid=etudid, filled=1)[0]
|
||||
H = [
|
||||
html_sco_header.sco_header(context, REQUEST),
|
||||
"<h2>Inscription de %s" % etud["nomprenom"],
|
||||
@ -178,7 +178,7 @@ def formsemestre_inscription_with_modules(
|
||||
if multiple_ok:
|
||||
multiple_ok = int(multiple_ok)
|
||||
sem = sco_formsemestre.get_formsemestre(context, formsemestre_id)
|
||||
etud = context.getEtudInfo(etudid=etudid, filled=1)[0]
|
||||
etud = scolars.get_etud_info(etudid=etudid, filled=1)[0]
|
||||
H = [
|
||||
html_sco_header.html_sem_header(
|
||||
context,
|
||||
@ -278,7 +278,7 @@ def formsemestre_inscription_option(context, etudid, formsemestre_id, REQUEST=No
|
||||
if sem["etat"] != "1":
|
||||
raise ScoValueError("Modification impossible: semestre verrouille")
|
||||
|
||||
etud = context.getEtudInfo(etudid=etudid, filled=1)[0]
|
||||
etud = scolars.get_etud_info(etudid=etudid, filled=1)[0]
|
||||
nt = sco_core.get_notes_cache(context).get_NotesTable(
|
||||
context, formsemestre_id
|
||||
) # > get_etud_ue_status
|
||||
@ -571,7 +571,7 @@ def est_inscrit_ailleurs(context, etudid, formsemestre_id):
|
||||
temps que celui indiqué (par formsemestre_id).
|
||||
Retourne la liste des semestres concernés (ou liste vide).
|
||||
"""
|
||||
etud = context.getEtudInfo(etudid=etudid, filled=1)[0]
|
||||
etud = scolars.get_etud_info(etudid=etudid, filled=1)[0]
|
||||
sem = sco_formsemestre.get_formsemestre(context, formsemestre_id)
|
||||
debut_s = sem["dateord"]
|
||||
fin_s = DateDMYtoISO(sem["date_fin"])
|
||||
@ -616,7 +616,7 @@ def formsemestre_inscrits_ailleurs(context, formsemestre_id, REQUEST=None):
|
||||
insd = list_inscrits_ailleurs(context, formsemestre_id)
|
||||
# liste ordonnée par nom
|
||||
etudlist = [
|
||||
context.getEtudInfo(etudid=etudid, filled=1)[0]
|
||||
scolars.get_etud_info(etudid=etudid, filled=1)[0]
|
||||
for etudid in insd.keys()
|
||||
if insd[etudid]
|
||||
]
|
||||
|
@ -91,7 +91,7 @@ def formsemestre_validation_etud_form(
|
||||
if readonly:
|
||||
check = True
|
||||
|
||||
etud = context.getEtudInfo(etudid=etudid, filled=True)[0]
|
||||
etud = scolars.get_etud_info(etudid=etudid, filled=True)[0]
|
||||
Se = sco_parcours_dut.SituationEtudParcours(context, etud, formsemestre_id)
|
||||
if Se.sem["etat"] != "1":
|
||||
raise ScoValueError("validation: semestre verrouille")
|
||||
@ -108,13 +108,13 @@ def formsemestre_validation_etud_form(
|
||||
Footer = ["<p>"]
|
||||
# Navigation suivant/precedent
|
||||
if etud_index_prev != None:
|
||||
etud_p = context.getEtudInfo(etudid=T[etud_index_prev][-1], filled=True)[0]
|
||||
etud_p = scolars.get_etud_info(etudid=T[etud_index_prev][-1], filled=True)[0]
|
||||
Footer.append(
|
||||
'<span><a href="formsemestre_validation_etud_form?formsemestre_id=%s&etud_index=%s">Etud. précédent (%s)</a></span>'
|
||||
% (formsemestre_id, etud_index_prev, etud_p["nomprenom"])
|
||||
)
|
||||
if etud_index_next != None:
|
||||
etud_n = context.getEtudInfo(etudid=T[etud_index_next][-1], filled=True)[0]
|
||||
etud_n = scolars.get_etud_info(etudid=T[etud_index_next][-1], filled=True)[0]
|
||||
Footer.append(
|
||||
'<span style="padding-left: 50px;"><a href="formsemestre_validation_etud_form?formsemestre_id=%s&etud_index=%s">Etud. suivant (%s)</a></span>'
|
||||
% (formsemestre_id, etud_index_next, etud_n["nomprenom"])
|
||||
@ -333,7 +333,7 @@ def formsemestre_validation_etud(
|
||||
REQUEST=None,
|
||||
):
|
||||
"""Enregistre validation"""
|
||||
etud = context.getEtudInfo(etudid=etudid, filled=True)[0]
|
||||
etud = scolars.get_etud_info(etudid=etudid, filled=True)[0]
|
||||
Se = sco_parcours_dut.SituationEtudParcours(context, etud, formsemestre_id)
|
||||
# retrouve la decision correspondant au code:
|
||||
choices = Se.get_possible_choices(assiduite=True)
|
||||
@ -368,7 +368,7 @@ def formsemestre_validation_etud_manu(
|
||||
"""Enregistre validation"""
|
||||
if assidu:
|
||||
assidu = 1
|
||||
etud = context.getEtudInfo(etudid=etudid, filled=True)[0]
|
||||
etud = scolars.get_etud_info(etudid=etudid, filled=True)[0]
|
||||
Se = sco_parcours_dut.SituationEtudParcours(context, etud, formsemestre_id)
|
||||
if code_etat in Se.parcours.UNUSED_CODES:
|
||||
raise ScoValueError("code decision invalide dans ce parcours")
|
||||
@ -862,7 +862,7 @@ def do_formsemestre_validation_auto(context, formsemestre_id, REQUEST):
|
||||
nb_valid = 0
|
||||
conflicts = [] # liste des etudiants avec decision differente déjà saisie
|
||||
for etudid in etudids:
|
||||
etud = context.getEtudInfo(etudid=etudid, filled=True)[0]
|
||||
etud = scolars.get_etud_info(etudid=etudid, filled=True)[0]
|
||||
Se = sco_parcours_dut.SituationEtudParcours(context, etud, formsemestre_id)
|
||||
ins = context.do_formsemestre_inscription_list(
|
||||
{"etudid": etudid, "formsemestre_id": formsemestre_id}
|
||||
@ -964,7 +964,7 @@ def formsemestre_fix_validation_ues(context, formsemestre_id, REQUEST=None):
|
||||
modifs = [] # liste d'étudiants modifiés
|
||||
cnx = context.GetDBConnexion(autocommit=False)
|
||||
for etudid in etudids:
|
||||
etud = context.getEtudInfo(etudid=etudid, filled=True)[0]
|
||||
etud = scolars.get_etud_info(etudid=etudid, filled=True)[0]
|
||||
Se = sco_parcours_dut.SituationEtudParcours(context, etud, formsemestre_id)
|
||||
ins = context.do_formsemestre_inscription_list(
|
||||
{"etudid": etudid, "formsemestre_id": formsemestre_id}
|
||||
@ -1071,7 +1071,7 @@ def formsemestre_validate_previous_ue(context, formsemestre_id, etudid, REQUEST=
|
||||
"""Form. saisie UE validée hors ScoDoc
|
||||
(pour étudiants arrivant avec un UE antérieurement validée).
|
||||
"""
|
||||
etud = context.getEtudInfo(etudid=etudid, filled=True)[0]
|
||||
etud = scolars.get_etud_info(etudid=etudid, filled=True)[0]
|
||||
sem = sco_formsemestre.get_formsemestre(context, formsemestre_id)
|
||||
Fo = context.formation_list(args={"formation_id": sem["formation_id"]})[0]
|
||||
|
||||
|
@ -469,7 +469,7 @@ def XMLgetGroupsInPartition(context, partition_id, REQUEST=None): # was XMLgetG
|
||||
group_name=group["group_name"],
|
||||
)
|
||||
for e in get_group_members(context, group["group_id"]):
|
||||
etud = context.getEtudInfo(etudid=e["etudid"], filled=1)[0]
|
||||
etud = scolars.get_etud_info(etudid=e["etudid"], filled=1)[0]
|
||||
doc._push()
|
||||
doc.etud(
|
||||
etudid=e["etudid"],
|
||||
@ -494,7 +494,7 @@ def XMLgetGroupsInPartition(context, partition_id, REQUEST=None): # was XMLgetG
|
||||
group_name="",
|
||||
)
|
||||
for etudid in etuds_set:
|
||||
etud = context.getEtudInfo(etudid=etudid, filled=1)[0]
|
||||
etud = scolars.get_etud_info(etudid=etudid, filled=1)[0]
|
||||
doc._push()
|
||||
doc.etud(
|
||||
etudid=etud["etudid"],
|
||||
@ -1299,7 +1299,7 @@ def get_prev_moy(context, etudid, formsemestre_id):
|
||||
"""
|
||||
import sco_parcours_dut
|
||||
|
||||
info = context.getEtudInfo(etudid=etudid, filled=True)
|
||||
info = scolars.get_etud_info(etudid=etudid, filled=True)
|
||||
if not info:
|
||||
raise ScoValueError("etudiant invalide: etudid=%s" % etudid)
|
||||
etud = info[0]
|
||||
|
@ -785,7 +785,7 @@ def groups_table(
|
||||
# remplis infos lycee si on a que le code lycée
|
||||
# et ajoute infos inscription
|
||||
for m in groups_infos.members:
|
||||
etud = context.getEtudInfo(m["etudid"], filled=True)[0]
|
||||
etud = scolars.get_etud_info(m["etudid"], filled=True)[0]
|
||||
m.update(etud)
|
||||
scolars.etud_add_lycee_infos(etud)
|
||||
# et ajoute le parcours
|
||||
@ -974,7 +974,7 @@ def export_groups_as_moodle_csv(context, formsemestre_id=None, REQUEST=None):
|
||||
partition = sco_groups.get_partition(context, partition_id)
|
||||
members = partitions_etud_groups[partition_id]
|
||||
for etudid in members:
|
||||
etud = context.getEtudInfo(etudid=etudid, filled=True)[0]
|
||||
etud = scolars.get_etud_info(etudid=etudid, filled=True)[0]
|
||||
group_name = members[etudid]["group_name"]
|
||||
elts = [moodle_sem_name]
|
||||
if partition["partition_name"]:
|
||||
|
@ -59,7 +59,7 @@ def list_authorized_etuds_by_sem(context, sem, delai=274):
|
||||
for e in liste:
|
||||
# Filtre ceux qui se sont déjà inscrit dans un semestre APRES le semestre src
|
||||
auth_used = False # autorisation deja utilisée ?
|
||||
etud = context.getEtudInfo(etudid=e["etudid"], filled=True)[0]
|
||||
etud = scolars.get_etud_info(etudid=e["etudid"], filled=True)[0]
|
||||
for isem in etud["sems"]:
|
||||
if ndb.DateDMYtoISO(isem["date_debut"]) >= ndb.DateDMYtoISO(
|
||||
src["date_fin"]
|
||||
@ -114,7 +114,7 @@ def list_inscrits(context, formsemestre_id, with_dems=False):
|
||||
inscr = {}
|
||||
for i in ins:
|
||||
etudid = i["etudid"]
|
||||
inscr[etudid] = context.getEtudInfo(etudid=etudid, filled=True)[0]
|
||||
inscr[etudid] = scolars.get_etud_info(etudid=etudid, filled=True)[0]
|
||||
return inscr
|
||||
|
||||
|
||||
@ -172,7 +172,7 @@ def do_inscrit(context, sem, etudids, REQUEST=None, inscrit_groupes=False):
|
||||
# (mise en correspondance à partir du nom du groupe, sans tenir compte
|
||||
# du nom de la partition: évidemment, cela ne marche pas si on a les
|
||||
# même noms de groupes dans des partitions différentes)
|
||||
etud = context.getEtudInfo(etudid=etudid, filled=True)[0]
|
||||
etud = scolars.get_etud_info(etudid=etudid, filled=True)[0]
|
||||
log("cherche groupes de %(nom)s" % etud)
|
||||
|
||||
# recherche le semestre origine (il serait plus propre de l'avoir conservé!)
|
||||
|
@ -284,7 +284,7 @@ def _make_table_notes(
|
||||
for etudid in etudids:
|
||||
css_row_class = None
|
||||
# infos identite etudiant
|
||||
etud = context.getEtudInfo(etudid=etudid, filled=1)[0]
|
||||
etud = scolars.get_etud_info(etudid=etudid, filled=1)[0]
|
||||
# infos inscription
|
||||
inscr = context.do_formsemestre_inscription_list(
|
||||
{"etudid": etudid, "formsemestre_id": M["formsemestre_id"]}
|
||||
@ -803,7 +803,7 @@ def evaluation_check_absences_html(
|
||||
if not etudids and show_ok:
|
||||
H.append("<li>aucun</li>")
|
||||
for etudid in etudids:
|
||||
etud = context.getEtudInfo(etudid=etudid, filled=True)[0]
|
||||
etud = scolars.get_etud_info(etudid=etudid, filled=True)[0]
|
||||
H.append(
|
||||
'<li><a class="discretelink" href="ficheEtud?etudid=%(etudid)s">%(nomprenom)s</a>'
|
||||
% etud
|
||||
|
@ -87,7 +87,7 @@ def moduleimpl_inscriptions_edit(
|
||||
# Liste des inscrits à ce semestre
|
||||
inscrits = context.Notes.do_formsemestre_inscription_listinscrits(formsemestre_id)
|
||||
for ins in inscrits:
|
||||
etuds_info = context.getEtudInfo(etudid=ins["etudid"], filled=1)
|
||||
etuds_info = scolars.get_etud_info(etudid=ins["etudid"], filled=1)
|
||||
if not etuds_info:
|
||||
log(
|
||||
"moduleimpl_inscriptions_edit: incoherency for etudid=%s !"
|
||||
@ -343,7 +343,7 @@ def moduleimpl_inscriptions_stats(context, formsemestre_id, REQUEST=None):
|
||||
)
|
||||
H.append("<ul>")
|
||||
for info in UECaps[ue["ue_id"]]:
|
||||
etud = context.getEtudInfo(etudid=info["etudid"], filled=True)[0]
|
||||
etud = scolars.get_etud_info(etudid=info["etudid"], filled=True)[0]
|
||||
H.append(
|
||||
'<li class="etud"><a class="discretelink" href="ficheEtud?etudid=%(etudid)s">%(nomprenom)s</a>'
|
||||
% etud
|
||||
@ -447,7 +447,7 @@ def _fmt_etud_set(context, ins, max_list_size=7):
|
||||
return "%d étudiants" % len(ins)
|
||||
etuds = []
|
||||
for etudid in ins:
|
||||
etuds.append(context.getEtudInfo(etudid=etudid, filled=True)[0])
|
||||
etuds.append(scolars.get_etud_info(etudid=etudid, filled=True)[0])
|
||||
etuds.sort(lambda x, y: cmp(x["nom"], y["nom"]))
|
||||
return ", ".join(
|
||||
[
|
||||
|
@ -482,7 +482,8 @@ def ficheEtud(context, etudid=None, REQUEST=None):
|
||||
|
||||
</div>
|
||||
"""
|
||||
header = html_sco_header.sco_header(context,
|
||||
header = html_sco_header.sco_header(
|
||||
context,
|
||||
REQUEST,
|
||||
page_title="Fiche étudiant %(prenom)s %(nom)s" % info,
|
||||
cssstyles=["libjs/jQuery-tagEditor/jquery.tag-editor.css"],
|
||||
@ -504,7 +505,7 @@ def menus_etud(context, REQUEST=None):
|
||||
return ""
|
||||
authuser = REQUEST.AUTHENTICATED_USER
|
||||
|
||||
etud = context.getEtudInfo(filled=1, REQUEST=REQUEST)[0]
|
||||
etud = scolars.get_etud_info(filled=1, REQUEST=REQUEST)[0]
|
||||
|
||||
menuEtud = [
|
||||
{
|
||||
@ -555,7 +556,7 @@ def etud_info_html(context, etudid, with_photo="1", REQUEST=None, debug=False):
|
||||
# log('etud_info_html: formsemestre_id=%s' % formsemestre_id)
|
||||
|
||||
with_photo = int(with_photo)
|
||||
etud = context.getEtudInfo(filled=1, REQUEST=REQUEST)[0]
|
||||
etud = scolars.get_etud_info(filled=1, REQUEST=REQUEST)[0]
|
||||
photo_html = sco_photos.etud_photo_html(
|
||||
context, etud, title="fiche de " + etud["nom"], REQUEST=REQUEST
|
||||
)
|
||||
|
@ -117,7 +117,7 @@ def get_photo_image(context, etudid=None, size="small", REQUEST=None):
|
||||
if not etudid:
|
||||
filename = UNKNOWN_IMAGE_PATH
|
||||
else:
|
||||
etud = context.getEtudInfo(etudid=etudid, filled=1, REQUEST=REQUEST)[0]
|
||||
etud = scolars.get_etud_info(etudid=etudid, filled=1, REQUEST=REQUEST)[0]
|
||||
filename = photo_pathname(context, etud, size=size)
|
||||
if not filename:
|
||||
filename = UNKNOWN_IMAGE_PATH
|
||||
@ -172,7 +172,7 @@ def etud_photo_html(
|
||||
"""
|
||||
if not etud:
|
||||
if etudid:
|
||||
etud = context.getEtudInfo(etudid=etudid, filled=1, REQUEST=REQUEST)[0]
|
||||
etud = scolars.get_etud_info(etudid=etudid, filled=1, REQUEST=REQUEST)[0]
|
||||
else:
|
||||
raise ValueError("etud_photo_html: either etud or etudid must be specified")
|
||||
photo_url = etud_photo_url(context, etud, size=size, REQUEST=REQUEST)
|
||||
|
@ -158,7 +158,7 @@ def _getEtudInfoGroupes(context, group_ids, etat=None):
|
||||
for group_id in group_ids:
|
||||
members = sco_groups.get_group_members(context, group_id, etat=etat)
|
||||
for m in members:
|
||||
etud = context.getEtudInfo(etudid=m["etudid"], filled=True)[0]
|
||||
etud = scolars.get_etud_info(etudid=m["etudid"], filled=True)[0]
|
||||
etuds.append(etud)
|
||||
|
||||
return etuds
|
||||
|
@ -71,7 +71,7 @@ def feuille_preparation_jury(context, formsemestre_id, REQUEST):
|
||||
nbabs = {}
|
||||
nbabsjust = {}
|
||||
for etudid in etudids:
|
||||
info = context.getEtudInfo(etudid=etudid, filled=True)
|
||||
info = scolars.get_etud_info(etudid=etudid, filled=True)
|
||||
if not info:
|
||||
continue # should not occur...
|
||||
etud = info[0]
|
||||
|
@ -226,7 +226,7 @@ def dict_pvjury(
|
||||
L = []
|
||||
D = {} # même chose que L, mais { etudid : dec }
|
||||
for etudid in etudids:
|
||||
etud = context.getEtudInfo(etudid=etudid, filled=True)[0]
|
||||
etud = scolars.get_etud_info(etudid=etudid, filled=True)[0]
|
||||
Se = sco_parcours_dut.SituationEtudParcours(context, etud, formsemestre_id)
|
||||
semestre_non_terminal = semestre_non_terminal or Se.semestre_non_terminal
|
||||
d = {}
|
||||
@ -327,7 +327,7 @@ def dict_pvjury(
|
||||
max_date = date
|
||||
# Code semestre precedent
|
||||
if with_prev: # optionnel car un peu long...
|
||||
info = context.getEtudInfo(etudid=etudid, filled=True)
|
||||
info = scolars.get_etud_info(etudid=etudid, filled=True)
|
||||
if not info:
|
||||
continue # should not occur
|
||||
etud = info[0]
|
||||
@ -614,7 +614,7 @@ def formsemestre_pvjury_pdf(
|
||||
groups_infos = None
|
||||
if etudid:
|
||||
# PV pour ce seul étudiant:
|
||||
etud = context.getEtudInfo(etudid=etudid, filled=1)[0]
|
||||
etud = scolars.get_etud_info(etudid=etudid, filled=1)[0]
|
||||
etuddescr = '<a class="discretelink" href="ficheEtud?etudid=%s">%s</a>' % (
|
||||
etudid,
|
||||
etud["nomprenom"],
|
||||
|
@ -367,7 +367,7 @@ def pdf_lettres_individuelles(
|
||||
npages = 0
|
||||
for e in dpv["decisions"]:
|
||||
if e["decision_sem"]: # decision prise
|
||||
etud = context.getEtudInfo(e["identite"]["etudid"], filled=True)[0]
|
||||
etud = scolars.get_etud_info(e["identite"]["etudid"], filled=True)[0]
|
||||
params["nomEtud"] = etud["nomprenom"]
|
||||
bookmarks[npages + 1] = scu.suppress_accents(etud["nomprenom"])
|
||||
objects += pdf_lettre_individuelle(
|
||||
|
@ -63,7 +63,7 @@ def formsemestre_etuds_stats(context, sem, only_primo=False):
|
||||
etuds = []
|
||||
for t in T:
|
||||
etudid = t[-1]
|
||||
etud = context.getEtudInfo(etudid=etudid, filled=True)[0]
|
||||
etud = scolars.get_etud_info(etudid=etudid, filled=True)[0]
|
||||
decision = nt.get_etud_decision_sem(etudid)
|
||||
if decision:
|
||||
etud["codedecision"] = decision["code"]
|
||||
@ -418,7 +418,7 @@ def table_suivi_cohorte(
|
||||
civilites = set()
|
||||
statuts = set()
|
||||
for etudid in etudids:
|
||||
etud = context.getEtudInfo(etudid=etudid, filled=True)[0]
|
||||
etud = scolars.get_etud_info(etudid=etudid, filled=True)[0]
|
||||
bacspe = etud["bac"] + " / " + etud["specialite"]
|
||||
# sélection sur bac:
|
||||
if (
|
||||
@ -900,7 +900,7 @@ def _descr_etud_set(context, etudids):
|
||||
"textual html description of a set of etudids"
|
||||
etuds = []
|
||||
for etudid in etudids:
|
||||
etuds.append(context.getEtudInfo(etudid=etudid, filled=True)[0])
|
||||
etuds.append(scolars.get_etud_info(etudid=etudid, filled=True)[0])
|
||||
# sort by name
|
||||
etuds.sort(lambda x, y: cmp(x["nom"], y["nom"]))
|
||||
return ", ".join([e["nomprenom"] for e in etuds])
|
||||
@ -1032,7 +1032,7 @@ def tsp_etud_list(
|
||||
civilites = set()
|
||||
statuts = set()
|
||||
for etudid in etudids:
|
||||
etud = context.getEtudInfo(etudid=etudid, filled=True)[0]
|
||||
etud = scolars.get_etud_info(etudid=etudid, filled=True)[0]
|
||||
bacspe = etud["bac"] + " / " + etud["specialite"]
|
||||
# sélection sur bac, primo, ...:
|
||||
if (
|
||||
|
@ -265,7 +265,7 @@ def do_evaluation_upload_xls(context, REQUEST):
|
||||
)
|
||||
if len(invalids) < 25:
|
||||
etudsnames = [
|
||||
context.getEtudInfo(etudid=etudid, filled=True)[0]["nomprenom"]
|
||||
scolars.get_etud_info(etudid=etudid, filled=True)[0]["nomprenom"]
|
||||
for etudid in invalids
|
||||
]
|
||||
diag.append("Notes invalides pour: " + ", ".join(etudsnames))
|
||||
|
@ -195,7 +195,7 @@ def formsemestre_synchro_etuds(
|
||||
if a_desinscrire or a_desinscrire_without_key:
|
||||
H.append("<h3>Etudiants à désinscrire :</h3><ol>")
|
||||
for key in a_desinscrire:
|
||||
etud = context.getEtudInfo(filled=1, code_nip=key)[0]
|
||||
etud = scolars.get_etud_info(filled=1, code_nip=key)[0]
|
||||
H.append('<li class="desinscription">%(nomprenom)s</li>' % etud)
|
||||
for etudid in a_desinscrire_without_key:
|
||||
etud = inscrits_without_key_all[etudid]
|
||||
@ -229,7 +229,7 @@ def formsemestre_synchro_etuds(
|
||||
|
||||
# Conversions des listes de codes NIP en listes de codes etudid
|
||||
def nip2etudid(code_nip):
|
||||
etud = context.getEtudInfo(code_nip=code_nip)[0]
|
||||
etud = scolars.get_etud_info(code_nip=code_nip)[0]
|
||||
return etud["etudid"]
|
||||
|
||||
etudids_a_inscrire = [nip2etudid(x) for x in a_inscrire]
|
||||
@ -807,7 +807,7 @@ def formsemestre_import_etud_admission(
|
||||
|
||||
for i in ins:
|
||||
etudid = i["etudid"]
|
||||
info = context.getEtudInfo(etudid=etudid, filled=1)[0]
|
||||
info = scolars.get_etud_info(etudid=etudid, filled=1)[0]
|
||||
code_nip = info["code_nip"]
|
||||
if not code_nip:
|
||||
no_nip.append(etudid)
|
||||
|
@ -270,7 +270,7 @@ def get_etud_tagged_modules(context, etudid, tagname):
|
||||
Cherche dans tous les semestres dans lesquel l'étudiant est ou a été inscrit.
|
||||
Construit la liste des modules avec le tag donné par tagname
|
||||
"""
|
||||
etud = context.getEtudInfo(etudid=etudid, filled=True)[0]
|
||||
etud = scolars.get_etud_info(etudid=etudid, filled=True)[0]
|
||||
R = []
|
||||
for sem in etud["sems"]:
|
||||
nt = sco_core.get_notes_cache(
|
||||
@ -337,7 +337,7 @@ from sco_tag_module import *
|
||||
context = go_dept(app, 'GEA').Notes
|
||||
|
||||
etudid='GEAEID80687'
|
||||
etud = context.getEtudInfo(etudid=etudid, filled=True)[0]
|
||||
etud = scolars.get_etud_info( etudid=etudid, filled=True)[0]
|
||||
sem = etud['sems'][0]
|
||||
|
||||
[ tm['moy'] for tm in get_etud_tagged_modules(context, etudid, 'allo') ]
|
||||
|
@ -621,7 +621,7 @@ def zip_excel_import_files(
|
||||
etudid = Filename2Etud[normname]
|
||||
# ok, store photo
|
||||
try:
|
||||
etud = context.getEtudInfo(etudid=etudid, filled=True)[0]
|
||||
etud = scolars.get_etud_info(etudid=etudid, filled=True)[0]
|
||||
del Filename2Etud[normname]
|
||||
except:
|
||||
raise ScoValueError("ID étudiant invalide: %s" % etudid)
|
||||
|
@ -214,12 +214,13 @@ def external_ue_create_form(context, formsemestre_id, etudid, REQUEST=None):
|
||||
if not sem["resp_can_edit"] or str(authuser) not in sem["responsables"]:
|
||||
raise AccessDenied("vous n'avez pas le droit d'effectuer cette opération")
|
||||
|
||||
etud = context.getEtudInfo(etudid=etudid, filled=1, REQUEST=REQUEST)[0]
|
||||
etud = scolars.get_etud_info(etudid=etudid, filled=1, REQUEST=REQUEST)[0]
|
||||
formation_id = sem["formation_id"]
|
||||
existing_external_ue = get_existing_external_ue(context, formation_id)
|
||||
|
||||
H = [
|
||||
html_sco_header.html_sem_header(context,
|
||||
html_sco_header.html_sem_header(
|
||||
context,
|
||||
REQUEST,
|
||||
"Ajout d'une UE externe pour %(nomprenom)s" % etud,
|
||||
sem,
|
||||
|
@ -399,7 +399,7 @@ def identite_edit(cnx, args, context=None, REQUEST=None):
|
||||
|
||||
# Notification du changement par e-mail:
|
||||
if notify_to:
|
||||
etud = context.getEtudInfo(etudid=args["etudid"], filled=True)[0]
|
||||
etud = getEtudInfo(context, etudid=args["etudid"], filled=True)[0]
|
||||
after = identite_list(cnx, {"etudid": args["etudid"]})[0]
|
||||
notify_etud_change(
|
||||
context,
|
||||
@ -513,7 +513,7 @@ def adresse_edit(cnx, args, context=None):
|
||||
|
||||
# Notification du changement par e-mail:
|
||||
if notify_to:
|
||||
etud = context.getEtudInfo(etudid=args["etudid"], filled=True)[0]
|
||||
etud = getEtudInfo(context, etudid=args["etudid"], filled=True)[0]
|
||||
after = adresse_list(cnx, {"etudid": args["etudid"]})[0]
|
||||
notify_etud_change(
|
||||
context,
|
||||
@ -652,6 +652,23 @@ def make_etud_args(etudid=None, code_nip=None, REQUEST=None, raise_exc=True):
|
||||
return args
|
||||
|
||||
|
||||
def get_etud_info(etudid=False, code_nip=False, filled=False, REQUEST=None):
|
||||
"""infos sur un etudiant (API)
|
||||
On peut specifier etudid ou conde_nip
|
||||
ou bien cherche dans REQUEST.form: etudid, code_nip, code_ine
|
||||
(dans cet ordre).
|
||||
"""
|
||||
if etudid is None:
|
||||
return []
|
||||
cnx = context.GetDBConnexion()
|
||||
args = make_etud_args(etudid=etudid, code_nip=code_nip, REQUEST=REQUEST)
|
||||
etud = scolars.etudident_list(cnx, args=args)
|
||||
|
||||
if filled:
|
||||
fillEtudsInfo(context, etud)
|
||||
return etud
|
||||
|
||||
|
||||
def create_etud(context, cnx, args={}, REQUEST=None):
|
||||
"""Creation d'un étudiant. génère aussi évenement et "news".
|
||||
|
||||
|
@ -718,9 +718,11 @@ def SignaleAbsenceGrHebdo(
|
||||
)
|
||||
|
||||
formsemestre_id = groups_infos.formsemestre_id
|
||||
require_module = sco_preferences.get_preference(context, "abs_require_module", formsemestre_id)
|
||||
require_module = sco_preferences.get_preference(
|
||||
context, "abs_require_module", formsemestre_id
|
||||
)
|
||||
etuds = [
|
||||
context.getEtudInfo(etudid=m["etudid"], filled=True)[0]
|
||||
scolars.get_etud_info(etudid=m["etudid"], filled=True)[0]
|
||||
for m in groups_infos.members
|
||||
]
|
||||
# Restreint aux inscrits au module sélectionné
|
||||
@ -880,9 +882,11 @@ def SignaleAbsenceGrSemestre(
|
||||
+ context.sco_footer(REQUEST)
|
||||
)
|
||||
formsemestre_id = groups_infos.formsemestre_id
|
||||
require_module = sco_preferences.get_preference(context, "abs_require_module", formsemestre_id)
|
||||
require_module = sco_preferences.get_preference(
|
||||
context, "abs_require_module", formsemestre_id
|
||||
)
|
||||
etuds = [
|
||||
context.getEtudInfo(etudid=m["etudid"], filled=True)[0]
|
||||
scolars.get_etud_info(etudid=m["etudid"], filled=True)[0]
|
||||
for m in groups_infos.members
|
||||
]
|
||||
# Restreint aux inscrits au module sélectionné
|
||||
@ -1380,7 +1384,7 @@ def EtatAbsencesGr(
|
||||
# Construit tableau (etudid, statut, nomprenom, nbJust, nbNonJust, NbTotal)
|
||||
T = []
|
||||
for m in groups_infos.members:
|
||||
etud = context.getEtudInfo(etudid=m["etudid"], filled=True)[0]
|
||||
etud = scolars.get_etud_info(etudid=m["etudid"], filled=True)[0]
|
||||
nbabs = context.CountAbs(etudid=etud["etudid"], debut=datedebut, fin=datefin)
|
||||
nbabsjust = context.CountAbsJust(
|
||||
etudid=etud["etudid"], debut=datedebut, fin=datefin
|
||||
@ -1604,7 +1608,7 @@ def AddBilletAbsence(
|
||||
"""
|
||||
t0 = time.time()
|
||||
# check etudid
|
||||
etuds = context.getEtudInfo(
|
||||
etuds = scolars.get_etud_info(
|
||||
etudid=etudid, code_nip=code_nip, REQUEST=REQUEST, filled=True
|
||||
)
|
||||
if not etuds:
|
||||
@ -1650,7 +1654,7 @@ def AddBilletAbsenceForm(context, etudid, REQUEST=None):
|
||||
"""Formulaire ajout billet (pour tests seulement, le vrai formulaire accessible aux etudiants
|
||||
étant sur le portail étudiant).
|
||||
"""
|
||||
etud = context.getEtudInfo(etudid=etudid, filled=1, REQUEST=REQUEST)[0]
|
||||
etud = scolars.get_etud_info(etudid=etudid, filled=1, REQUEST=REQUEST)[0]
|
||||
H = [
|
||||
html_sco_header.sco_header(
|
||||
context, REQUEST, page_title="Billet d'absence de %s" % etud["nomprenom"]
|
||||
@ -1719,7 +1723,7 @@ def _tableBillets(context, billets, etud=None, title=""):
|
||||
b["etat_str"] = "ok"
|
||||
if not etud:
|
||||
# ajoute info etudiant
|
||||
e = context.getEtudInfo(etudid=b["etudid"], filled=1)
|
||||
e = scolars.get_etud_info(etudid=b["etudid"], filled=1)
|
||||
if not e:
|
||||
b["nomprenom"] = "???" # should not occur
|
||||
else:
|
||||
@ -1759,7 +1763,7 @@ def _tableBillets(context, billets, etud=None, title=""):
|
||||
@scodoc7func(context)
|
||||
def listeBilletsEtud(context, etudid=False, REQUEST=None, format="html"):
|
||||
"""Liste billets pour un etudiant"""
|
||||
etuds = context.getEtudInfo(etudid=etudid, filled=1, REQUEST=REQUEST)
|
||||
etuds = scolars.get_etud_info(etudid=etudid, filled=1, REQUEST=REQUEST)
|
||||
if not etuds:
|
||||
return scu.log_unknown_etud(context, format=format, REQUEST=REQUEST)
|
||||
|
||||
@ -1902,7 +1906,7 @@ def ProcessBilletAbsenceForm(context, billet_id, REQUEST=None):
|
||||
)
|
||||
billet = billets[0]
|
||||
etudid = billet["etudid"]
|
||||
etud = context.getEtudInfo(etudid=etudid, filled=1, REQUEST=REQUEST)[0]
|
||||
etud = scolars.get_etud_info(etudid=etudid, filled=1, REQUEST=REQUEST)[0]
|
||||
|
||||
H = [
|
||||
html_sco_header.sco_header(
|
||||
@ -1983,7 +1987,7 @@ def ProcessBilletAbsenceForm(context, billet_id, REQUEST=None):
|
||||
def XMLgetAbsEtud(context, beg_date="", end_date="", REQUEST=None):
|
||||
"""returns list of absences in date interval"""
|
||||
t0 = time.time()
|
||||
etud = context.getEtudInfo(REQUEST=REQUEST)[0]
|
||||
etud = scolars.get_etud_info(REQUEST=REQUEST)[0]
|
||||
exp = re.compile(r"^(\d{4})\D?(0[1-9]|1[0-2])\D?([12]\d|0[1-9]|3[01])$")
|
||||
if not exp.match(beg_date):
|
||||
raise ScoValueError("invalid date: %s" % beg_date)
|
||||
|
@ -1499,7 +1499,7 @@ def view_module_abs(context, REQUEST, moduleimpl_id, format="html"):
|
||||
fin=fin_sem,
|
||||
moduleimpl_id=moduleimpl_id,
|
||||
)
|
||||
etud = context.getEtudInfo(etudid=etudid, filled=True)[0]
|
||||
etud = scolars.get_etud_info(etudid=etudid, filled=True)[0]
|
||||
T.append(
|
||||
{
|
||||
"nomprenom": etud["nomprenom"],
|
||||
@ -1811,7 +1811,7 @@ def do_formsemestre_inscription_listinscrits(
|
||||
context, formsemestre_id, format=None, REQUEST=None
|
||||
):
|
||||
"""Liste les inscrits (état I) à ce semestre et cache le résultat"""
|
||||
cache = sco_core.get_formsemestre_inscription_cache(context, )
|
||||
cache = context.get_formsemestre_inscription_cache()
|
||||
r = cache.get(formsemestre_id)
|
||||
if r is None:
|
||||
# retreive list
|
||||
@ -1834,17 +1834,6 @@ def do_formsemestre_inscription_edit(context, args=None, formsemestre_id=None):
|
||||
) # > modif inscription semestre (demission ?)
|
||||
|
||||
|
||||
# Cache inscriptions semestres
|
||||
def get_formsemestre_inscription_cache(context, format=None):
|
||||
u = context.GetDBConnexionString()
|
||||
if CACHE_formsemestre_inscription.has_key(u):
|
||||
return CACHE_formsemestre_inscription[u]
|
||||
else:
|
||||
log("get_formsemestre_inscription_cache: new simpleCache")
|
||||
CACHE_formsemestre_inscription[u] = sco_cache.simpleCache()
|
||||
return CACHE_formsemestre_inscription[u]
|
||||
|
||||
|
||||
@bp.route("/formsemestre_desinscription")
|
||||
@permission_required(Permission.ScoImplement)
|
||||
@scodoc7func(context)
|
||||
@ -1874,7 +1863,7 @@ def formsemestre_desinscription(
|
||||
% (etudid, formsemestre_id)
|
||||
)
|
||||
if not dialog_confirmed:
|
||||
etud = context.getEtudInfo(etudid=etudid, filled=1)[0]
|
||||
etud = scolars.get_etud_info(etudid=etudid, filled=1)[0]
|
||||
if sem["modalite"] != "EXT":
|
||||
msg_ext = """
|
||||
<p>%s sera désinscrit de tous les modules du semestre %s (%s - %s).</p>
|
||||
@ -2573,6 +2562,25 @@ def formsemestre_bulletins_pdf(
|
||||
return scu.sendPDFFile(REQUEST, pdfdoc, filename)
|
||||
|
||||
|
||||
@bp.route("/formsemestre_bulletins_pdf_choice")
|
||||
@permission_required(Permission.ScoView)
|
||||
@scodoc7func(context)
|
||||
def formsemestre_bulletins_pdf_choice(context, REQUEST, formsemestre_id, version=None):
|
||||
"""Choix version puis envois classeur bulletins pdf"""
|
||||
if version:
|
||||
pdfdoc, filename = sco_bulletins_pdf.get_formsemestre_bulletins_pdf(
|
||||
context, formsemestre_id, REQUEST, version=version
|
||||
)
|
||||
return scu.sendPDFFile(REQUEST, pdfdoc, filename)
|
||||
return formsemestre_bulletins_choice(
|
||||
context,
|
||||
REQUEST,
|
||||
formsemestre_id,
|
||||
title="Choisir la version des bulletins à générer",
|
||||
explanation=expl_bull,
|
||||
)
|
||||
|
||||
|
||||
@bp.route("/etud_bulletins_pdf")
|
||||
@permission_required(Permission.ScoView)
|
||||
@scodoc7func(context)
|
||||
@ -2584,16 +2592,68 @@ def etud_bulletins_pdf(context, etudid, REQUEST, version="selectedevals"):
|
||||
return scu.sendPDFFile(REQUEST, pdfdoc, filename)
|
||||
|
||||
|
||||
sco_publish(
|
||||
"/formsemestre_bulletins_pdf_choice",
|
||||
sco_bulletins.formsemestre_bulletins_pdf_choice,
|
||||
Permission.ScoView,
|
||||
)
|
||||
sco_publish(
|
||||
"/formsemestre_bulletins_mailetuds_choice",
|
||||
sco_bulletins.formsemestre_bulletins_mailetuds_choice,
|
||||
Permission.ScoView,
|
||||
)
|
||||
@bp.route("/formsemestre_bulletins_mailetuds_choice")
|
||||
@permission_required(Permission.ScoView)
|
||||
@scodoc7func(context)
|
||||
def formsemestre_bulletins_mailetuds_choice(
|
||||
context,
|
||||
REQUEST,
|
||||
formsemestre_id,
|
||||
version=None,
|
||||
dialog_confirmed=False,
|
||||
prefer_mail_perso=0,
|
||||
):
|
||||
"""Choix version puis envois classeur bulletins pdf"""
|
||||
if version:
|
||||
return context.formsemestre_bulletins_mailetuds(
|
||||
formsemestre_id,
|
||||
REQUEST,
|
||||
version=version,
|
||||
dialog_confirmed=dialog_confirmed,
|
||||
prefer_mail_perso=prefer_mail_perso,
|
||||
)
|
||||
expl_bull = """Versions des bulletins:<ul><li><bf>courte</bf>: moyennes des modules</li><li><bf>intermédiaire</bf>: moyennes des modules et notes des évaluations sélectionnées</li><li><bf>complète</bf>: toutes les notes</li><ul>"""
|
||||
return formsemestre_bulletins_choice(
|
||||
context,
|
||||
REQUEST,
|
||||
formsemestre_id,
|
||||
title="Choisir la version des bulletins à envoyer par mail",
|
||||
explanation="Chaque étudiant ayant une adresse mail connue de ScoDoc recevra une copie PDF de son bulletin de notes, dans la version choisie.</p><p>"
|
||||
+ expl_bull,
|
||||
choose_mail=True,
|
||||
)
|
||||
|
||||
|
||||
def formsemestre_bulletins_choice(
|
||||
context, REQUEST, formsemestre_id, title="", explanation="", choose_mail=False
|
||||
):
|
||||
"""Choix d'une version de bulletin"""
|
||||
sem = sco_formsemestre.get_formsemestre(context, formsemestre_id)
|
||||
H = [
|
||||
html_sco_header.html_sem_header(context, REQUEST, title, sem),
|
||||
"""
|
||||
<form name="f" method="GET" action="%s">
|
||||
<input type="hidden" name="formsemestre_id" value="%s"></input>
|
||||
"""
|
||||
% (REQUEST.URL0, formsemestre_id),
|
||||
]
|
||||
H.append("""<select name="version" class="noprint">""")
|
||||
for (v, e) in (
|
||||
("short", "Version courte"),
|
||||
("selectedevals", "Version intermédiaire"),
|
||||
("long", "Version complète"),
|
||||
):
|
||||
H.append('<option value="%s">%s</option>' % (v, e))
|
||||
|
||||
H.append("""</select> <input type="submit" value="Générer"/>""")
|
||||
if choose_mail:
|
||||
H.append(
|
||||
"""<div><input type="checkbox" name="prefer_mail_perso" value="1">Utiliser si possible les adresses personnelles</div>"""
|
||||
)
|
||||
|
||||
H.append("""<p class="help">""" + explanation + """</p>""")
|
||||
|
||||
return "\n".join(H) + html_sco_header.sco_footer(context, REQUEST)
|
||||
|
||||
|
||||
@bp.route("/formsemestre_bulletins_mailetuds")
|
||||
@ -2706,7 +2766,7 @@ def appreciation_add_form(
|
||||
logdb(REQUEST, cnx, method="appreciation_suppress", etudid=etudid, msg="")
|
||||
return REQUEST.RESPONSE.redirect(bull_url)
|
||||
#
|
||||
etud = context.getEtudInfo(etudid=etudid, filled=1)[0]
|
||||
etud = scolars.get_etud_info(etudid=etudid, filled=1)[0]
|
||||
if id:
|
||||
a = "Edition"
|
||||
else:
|
||||
@ -3052,7 +3112,7 @@ def formsemestre_validation_suppress_etud(
|
||||
)
|
||||
if not dialog_confirmed:
|
||||
sem = sco_formsemestre.get_formsemestre(context, formsemestre_id)
|
||||
etud = context.getEtudInfo(etudid=etudid, filled=1)[0]
|
||||
etud = scolars.get_etud_info(etudid=etudid, filled=1)[0]
|
||||
nt = sco_core.get_notes_cache(context).get_NotesTable(
|
||||
context, formsemestre_id
|
||||
) # > get_etud_decision_sem
|
||||
|
@ -256,7 +256,7 @@ def doc_preferences(context, REQUEST):
|
||||
@scodoc7func(context)
|
||||
def showEtudLog(context, etudid, format="html", REQUEST=None):
|
||||
"""Display log of operations on this student"""
|
||||
etud = context.getEtudInfo(filled=1, REQUEST=REQUEST)[0]
|
||||
etud = scolars.get_etud_info(filled=1, REQUEST=REQUEST)[0]
|
||||
|
||||
ops = scolars.list_scolog(context, etudid)
|
||||
|
||||
@ -336,18 +336,13 @@ def getEtudInfo(
|
||||
context, etudid=False, code_nip=False, filled=False, REQUEST=None, format=None
|
||||
):
|
||||
"""infos sur un etudiant (API)
|
||||
On peut specifier etudid
|
||||
On peut specifier etudid ou code_nip
|
||||
ou bien cherche dans REQUEST.form: etudid, code_nip, code_ine
|
||||
(dans cet ordre).
|
||||
"""
|
||||
if etudid is None:
|
||||
return []
|
||||
cnx = context.GetDBConnexion()
|
||||
args = make_etud_args(etudid=etudid, code_nip=code_nip, REQUEST=REQUEST)
|
||||
etud = scolars.etudident_list(cnx, args=args)
|
||||
|
||||
if filled:
|
||||
fillEtudsInfo(context, etud)
|
||||
etud = scolars.get_etud_info(
|
||||
etudid=etudid, code_nip=code_nip, filled=filled, REQUEST=REQUEST
|
||||
)
|
||||
if format is None:
|
||||
return etud
|
||||
else:
|
||||
@ -598,7 +593,7 @@ def doSuppressAnnotation(context, etudid, annotation_id, REQUEST):
|
||||
def formChangeCoordonnees(context, etudid, REQUEST):
|
||||
"edit coordonnees etudiant"
|
||||
cnx = context.GetDBConnexion()
|
||||
etud = context.getEtudInfo(etudid=etudid, filled=1, REQUEST=REQUEST)[0]
|
||||
etud = scolars.get_etud_info(etudid=etudid, filled=1, REQUEST=REQUEST)[0]
|
||||
adrs = scolars.adresse_list(cnx, {"etudid": etudid})
|
||||
if adrs:
|
||||
adr = adrs[0]
|
||||
@ -716,7 +711,7 @@ sco_publish("/etud_photo_html", sco_photos.etud_photo_html, Permission.ScoView)
|
||||
@scodoc7func(context)
|
||||
def etud_photo_orig_page(context, etudid=None, REQUEST=None):
|
||||
"Page with photo in orig. size"
|
||||
etud = context.getEtudInfo(etudid=etudid, filled=1, REQUEST=REQUEST)[0]
|
||||
etud = scolars.get_etud_info(etudid=etudid, filled=1, REQUEST=REQUEST)[0]
|
||||
H = [
|
||||
html_sco_header.sco_header(context, REQUEST, page_title=etud["nomprenom"]),
|
||||
"<h2>%s</h2>" % etud["nomprenom"],
|
||||
@ -733,7 +728,7 @@ def etud_photo_orig_page(context, etudid=None, REQUEST=None):
|
||||
@scodoc7func(context)
|
||||
def formChangePhoto(context, etudid=None, REQUEST=None):
|
||||
"""Formulaire changement photo étudiant"""
|
||||
etud = context.getEtudInfo(filled=1, REQUEST=REQUEST)[0]
|
||||
etud = scolars.get_etud_info(filled=1, REQUEST=REQUEST)[0]
|
||||
if sco_photos.etud_photo_is_local(context, etud):
|
||||
etud["photoloc"] = "dans ScoDoc"
|
||||
else:
|
||||
@ -790,7 +785,7 @@ def formChangePhoto(context, etudid=None, REQUEST=None):
|
||||
@scodoc7func(context)
|
||||
def formSuppressPhoto(context, etudid=None, REQUEST=None, dialog_confirmed=False):
|
||||
"""Formulaire suppression photo étudiant"""
|
||||
etud = context.getEtudInfo(filled=1, REQUEST=REQUEST)[0]
|
||||
etud = scolars.get_etud_info(filled=1, REQUEST=REQUEST)[0]
|
||||
if not dialog_confirmed:
|
||||
return scu.confirm_dialog(
|
||||
context,
|
||||
@ -846,7 +841,7 @@ def _formDem_of_Def(
|
||||
operation_method="",
|
||||
):
|
||||
"Formulaire démission ou défaillance Etudiant"
|
||||
etud = context.getEtudInfo(etudid=etudid, filled=1, REQUEST=REQUEST)[0]
|
||||
etud = scolars.get_etud_info(etudid=etudid, filled=1, REQUEST=REQUEST)[0]
|
||||
sem = sco_formsemestre.get_formsemestre(context, formsemestre_id)
|
||||
if sem["etat"] != "1":
|
||||
raise ScoValueError("Modification impossible: semestre verrouille")
|
||||
@ -1020,7 +1015,7 @@ def _doCancelDem_or_Def(
|
||||
if sem["etat"] != "1":
|
||||
raise ScoValueError("Modification impossible: semestre verrouille")
|
||||
# verif
|
||||
info = context.getEtudInfo(etudid, filled=True)[0]
|
||||
info = scolars.get_etud_info(etudid, filled=True)[0]
|
||||
ok = False
|
||||
for i in info["ins"]:
|
||||
if i["formsemestre_id"] == formsemestre_id:
|
||||
|
Loading…
Reference in New Issue
Block a user