forked from ScoDoc/DocScoDoc
rewritten all ficheEtud urls using Flask
This commit is contained in:
parent
edd59ceab3
commit
c6f0fa86ea
@ -28,7 +28,7 @@
|
||||
"""
|
||||
Génération de la "sidebar" (marge gauche des pages HTML)
|
||||
"""
|
||||
from flask import url_for
|
||||
from flask import url_for, g
|
||||
|
||||
import app.scodoc.sco_utils as scu
|
||||
from app.scodoc import sco_preferences
|
||||
@ -81,7 +81,10 @@ def sidebar(context, REQUEST=None):
|
||||
from app.scodoc.sco_abs import getAbsSemEtud
|
||||
from app.scodoc import sco_etud
|
||||
|
||||
params = {"ScoURL": scu.ScoURL(), "SCO_USER_MANUAL": scu.SCO_USER_MANUAL}
|
||||
params = {
|
||||
"ScoURL": scu.ScoURL(),
|
||||
"SCO_USER_MANUAL": scu.SCO_USER_MANUAL,
|
||||
}
|
||||
|
||||
H = ['<div class="sidebar">', sidebar_common(context, REQUEST)]
|
||||
|
||||
@ -99,9 +102,12 @@ def sidebar(context, REQUEST=None):
|
||||
etudid = REQUEST.form["etudid"]
|
||||
etud = sco_etud.get_etud_info(filled=1, etudid=etudid)[0]
|
||||
params.update(etud)
|
||||
params["fiche_url"] = url_for(
|
||||
"scolar.ficheEtud", scodoc_dept=g.scodoc_dept, etudid=etudid
|
||||
)
|
||||
# compte les absences du semestre en cours
|
||||
H.append(
|
||||
"""<h2 id="insidebar-etud"><a href="%(ScoURL)s/ficheEtud?etudid=%(etudid)s" class="sidebar">
|
||||
"""<h2 id="insidebar-etud"><a href="%(fiche_url)s" class="sidebar">
|
||||
<font color="#FF0000">%(civilite_str)s %(nom_disp)s</font></a>
|
||||
</h2>
|
||||
<b>Absences</b>"""
|
||||
|
@ -33,6 +33,8 @@ import pdb
|
||||
import inspect
|
||||
from operator import itemgetter
|
||||
|
||||
from flask import g, url_for
|
||||
|
||||
import app.scodoc.sco_utils as scu
|
||||
import app.scodoc.notesdb as ndb
|
||||
from app.scodoc.notes_log import log, logCallStack
|
||||
@ -1269,16 +1271,23 @@ class NotesTable(object):
|
||||
% (self.formsemestre_id, etudid, ue, ue_cap)
|
||||
)
|
||||
raise ScoValueError(
|
||||
"""<div class="scovalueerror"><p>Coefficient de l'UE capitalisée %s impossible à déterminer pour l'étudiant <a href="ficheEtud?etudid=%s" class="discretelink">%s</a></p>
|
||||
<p>Il faut <a href="formsemestre_edit_uecoefs?formsemestre_id=%s&err_ue_id=%s">saisir le coefficient de cette UE avant de continuer</a></p>
|
||||
"""<div class="scovalueerror"><p>Coefficient de l'UE capitalisée %s impossible à déterminer
|
||||
pour l'étudiant <a href="%s" class="discretelink">%s</a></p>
|
||||
<p>Il faut <a href="%s">saisir le coefficient de cette UE avant de continuer</a></p>
|
||||
</div>
|
||||
"""
|
||||
% (
|
||||
ue["acronyme"],
|
||||
etudid,
|
||||
url_for(
|
||||
"scolar.ficheEtud", scodoc_dept=g.scodoc_dept, etudid=etudid
|
||||
),
|
||||
self.get_nom_long(etudid),
|
||||
self.formsemestre_id,
|
||||
ue["ue_id"],
|
||||
url_for(
|
||||
"scolar.formsemestre_edit_uecoefs",
|
||||
scodoc_dept=g.scodoc_dept,
|
||||
formsemestre_id=self.formsemestre_id,
|
||||
err_ue_id=ue["ue_id"],
|
||||
),
|
||||
)
|
||||
)
|
||||
|
||||
|
@ -37,6 +37,8 @@ from email.mime.multipart import MIMEMultipart
|
||||
from email.mime.text import MIMEText
|
||||
from email.header import Header
|
||||
|
||||
from flask import g, url_for
|
||||
|
||||
from app.scodoc import sco_emails
|
||||
import app.scodoc.notesdb as ndb
|
||||
import app.scodoc.sco_utils as scu
|
||||
@ -250,7 +252,9 @@ def abs_notification_message(context, sem, prefs, etudid, nbabs, nbabsjust):
|
||||
values["nbabs"] = nbabs
|
||||
values["nbabsjust"] = nbabsjust
|
||||
values["nbabsnonjust"] = nbabs - nbabsjust
|
||||
values["url_ficheetud"] = scu.ScoURL() + "/ficheEtud?etudid=" + etudid
|
||||
values["url_ficheetud"] = url_for(
|
||||
"scolar.ficheEtud", scodoc_dept=g.scodoc_dept, etudid=etudid
|
||||
)
|
||||
|
||||
template = prefs["abs_notification_mail_tmpl"]
|
||||
if template:
|
||||
|
@ -30,8 +30,7 @@
|
||||
"""
|
||||
import datetime
|
||||
|
||||
from stripogram import html2text, html2safehtml
|
||||
|
||||
from flask import url_for, g
|
||||
|
||||
import app.scodoc.sco_utils as scu
|
||||
from app.scodoc import notesdb as ndb
|
||||
@ -49,7 +48,6 @@ from app.scodoc import sco_photos
|
||||
from app.scodoc import sco_preferences
|
||||
from app.scodoc.notes_log import log
|
||||
from app.scodoc.sco_exceptions import ScoValueError
|
||||
from app.scodoc.sco_permissions import Permission
|
||||
|
||||
|
||||
def doSignaleAbsence(
|
||||
@ -232,7 +230,8 @@ def SignaleAbsenceEtud(context, REQUEST=None): # etudid implied
|
||||
</td><td>
|
||||
"""
|
||||
% etud,
|
||||
"""<a href="%s/ficheEtud?etudid=%s">""" % (scu.ScoURL(), etud["etudid"]),
|
||||
"""<a href="%s">"""
|
||||
% url_for("scolar.ficheEtud", scodoc_dept=g.scodoc_dept, etudid=etud["etudid"]),
|
||||
sco_photos.etud_photo_html(
|
||||
context,
|
||||
etudid=etudid,
|
||||
@ -388,7 +387,8 @@ def JustifAbsenceEtud(context, REQUEST=None): # etudid implied
|
||||
</td><td>
|
||||
"""
|
||||
% etud,
|
||||
"""<a href="%s/ficheEtud?etudid=%s">""" % (scu.ScoURL(), etud["etudid"]),
|
||||
"""<a href="%s">"""
|
||||
% url_for("scolar.ficheEtud", scodoc_dept=g.scodoc_dept, etudid=etudid),
|
||||
sco_photos.etud_photo_html(
|
||||
context,
|
||||
etudid=etudid,
|
||||
@ -498,7 +498,8 @@ def AnnuleAbsenceEtud(context, REQUEST=None): # etudid implied
|
||||
</td><td>
|
||||
"""
|
||||
% etud, # "
|
||||
"""<a href="%s/ficheEtud?etudid=%s">""" % (scu.ScoURL(), etud["etudid"]),
|
||||
"""<a href="%s">"""
|
||||
% url_for("scolar.ficheEtud", scodoc_dept=g.scodoc_dept, etudid=etudid),
|
||||
sco_photos.etud_photo_html(
|
||||
context,
|
||||
etudid=etudid,
|
||||
@ -776,12 +777,11 @@ def CalAbs(context, REQUEST=None): # etud implied
|
||||
"""
|
||||
% (nbabs, nbabsjust, nbabs - nbabsjust, len(justifs_noabs)),
|
||||
"""</td>
|
||||
<td><a href="%s/ficheEtud?etudid=%s">%s</a></td>
|
||||
<td><a href="%s">%s</a></td>
|
||||
</tr>
|
||||
</table>"""
|
||||
% (
|
||||
scu.ScoURL(),
|
||||
etudid,
|
||||
url_for("scolar.ficheEtud", scodoc_dept=g.scodoc_dept, etudid=etudid),
|
||||
sco_photos.etud_photo_html(
|
||||
context,
|
||||
etudid=etudid,
|
||||
|
@ -29,6 +29,7 @@
|
||||
Il s'agit de fichiers quelconques, généralement utilisés pour conserver
|
||||
les dossiers d'admission et autres pièces utiles.
|
||||
"""
|
||||
from flask import url_for, g
|
||||
|
||||
import app.scodoc.sco_utils as scu
|
||||
from app.scodoc import sco_import_etuds
|
||||
@ -165,7 +166,9 @@ def etud_upload_file_form(context, REQUEST, etudid):
|
||||
if tf[0] == 0:
|
||||
return "\n".join(H) + tf[1] + html_sco_header.sco_footer(context, REQUEST)
|
||||
elif tf[0] == -1:
|
||||
return REQUEST.RESPONSE.redirect(scu.NotesURL() + "/ficheEtud?etudid=" + etudid)
|
||||
return REQUEST.RESPONSE.redirect(
|
||||
url_for("scolar.ficheEtud", scodoc_dept=g.scodoc_dept, etudid=etudid)
|
||||
)
|
||||
else:
|
||||
data = tf[2]["datafile"][0].read()
|
||||
descr = tf[2]["description"]
|
||||
@ -173,7 +176,9 @@ def etud_upload_file_form(context, REQUEST, etudid):
|
||||
_store_etud_file_to_new_archive(
|
||||
context, REQUEST, etudid, data, filename, description=descr
|
||||
)
|
||||
return REQUEST.RESPONSE.redirect(scu.ScoURL() + "/ficheEtud?etudid=" + etudid)
|
||||
return REQUEST.RESPONSE.redirect(
|
||||
url_for("scolar.ficheEtud", scodoc_dept=g.scodoc_dept, etudid=etudid)
|
||||
)
|
||||
|
||||
|
||||
def _store_etud_file_to_new_archive(
|
||||
@ -196,7 +201,6 @@ def etud_delete_archive(context, REQUEST, etudid, archive_name, dialog_confirmed
|
||||
)
|
||||
etud = sco_etud.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:
|
||||
return scu.confirm_dialog(
|
||||
context,
|
||||
@ -209,12 +213,24 @@ def etud_delete_archive(context, REQUEST, etudid, archive_name, dialog_confirmed
|
||||
),
|
||||
dest_url="",
|
||||
REQUEST=REQUEST,
|
||||
cancel_url=dest_url,
|
||||
cancel_url=url_for(
|
||||
"scolar.ficheEtud",
|
||||
scodoc_dept=g.scodoc_dept,
|
||||
etudid=etudid,
|
||||
head_message="annulation",
|
||||
),
|
||||
parameters={"etudid": etudid, "archive_name": archive_name},
|
||||
)
|
||||
|
||||
EtudsArchive.delete_archive(archive_id)
|
||||
return REQUEST.RESPONSE.redirect(dest_url + "&head_message=Archive%20supprimée")
|
||||
return REQUEST.RESPONSE.redirect(
|
||||
url_for(
|
||||
"scolar.ficheEtud",
|
||||
scodoc_dept=g.scodoc_dept,
|
||||
etudid=etudid,
|
||||
head_message="Archive%20supprimée",
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
def etud_get_archived_file(context, REQUEST, etudid, archive_name, filename):
|
||||
|
@ -31,8 +31,6 @@
|
||||
import time
|
||||
from types import StringType
|
||||
import pprint
|
||||
import six.moves.urllib.request, six.moves.urllib.parse, six.moves.urllib.error
|
||||
from app.scodoc import htmlutils
|
||||
import email
|
||||
from email.mime.multipart import MIMEMultipart
|
||||
from email.mime.text import MIMEText
|
||||
@ -40,6 +38,8 @@ from email.mime.base import MIMEBase
|
||||
from email.header import Header
|
||||
|
||||
from reportlab.lib.colors import Color
|
||||
import six.moves.urllib.request, six.moves.urllib.parse, six.moves.urllib.error
|
||||
from flask import g, url_for
|
||||
|
||||
from app.scodoc import sco_emails
|
||||
import app.scodoc.sco_utils as scu
|
||||
@ -48,6 +48,7 @@ from app.scodoc.notes_log import log
|
||||
from app.scodoc.sco_permissions import Permission
|
||||
from app.scodoc.sco_exceptions import AccessDenied
|
||||
from app.scodoc import html_sco_header
|
||||
from app.scodoc import htmlutils
|
||||
from app.scodoc import sco_abs
|
||||
from app.scodoc import sco_abs_views
|
||||
from app.scodoc import sco_bulletins_generator
|
||||
@ -1077,9 +1078,14 @@ def _formsemestre_bulletinetud_header_html(
|
||||
cssstyles=["css/radar_bulletin.css"],
|
||||
),
|
||||
"""<table class="bull_head"><tr><td>
|
||||
<h2><a class="discretelink" href="ficheEtud?etudid=%(etudid)s">%(nomprenom)s</a></h2>
|
||||
<h2><a class="discretelink" href="%s">%s</a></h2>
|
||||
"""
|
||||
% etud,
|
||||
% (
|
||||
url_for(
|
||||
"scolar.ficheEtud", scodoc_dept=g.scodoc_dept, etudid=etud["etudid"]
|
||||
),
|
||||
etud["nomprenom"],
|
||||
),
|
||||
"""
|
||||
<form name="f" method="GET" action="%s">"""
|
||||
% REQUEST.URL0,
|
||||
@ -1252,12 +1258,10 @@ def _formsemestre_bulletinetud_header_html(
|
||||
H.append("""</tr></table>""")
|
||||
#
|
||||
H.append(
|
||||
"""</form></span></td><td class="bull_photo">
|
||||
<a href="%s/ficheEtud?etudid=%s">%s</a>
|
||||
"""</form></span></td><td class="bull_photo"><a href="%s">%s</a>
|
||||
"""
|
||||
% (
|
||||
scu.ScoURL(),
|
||||
etudid,
|
||||
url_for("scolar.ficheEtud", scodoc_dept=g.scodoc_dept, etudid=etudid),
|
||||
sco_photos.etud_photo_html(
|
||||
context, etud, title="fiche de " + etud["nom"], REQUEST=REQUEST
|
||||
),
|
||||
|
@ -31,6 +31,8 @@ Rapport (table) avec dernier semestre fréquenté et débouché de chaque étudi
|
||||
from types import StringType
|
||||
import safehtml
|
||||
|
||||
from flask import url_for, g
|
||||
|
||||
import app.scodoc.sco_utils as scu
|
||||
import app.scodoc.notesdb as ndb
|
||||
from app.scodoc.notes_log import log
|
||||
@ -121,8 +123,12 @@ def table_debouche_etudids(context, etudids, keep_numeric=True):
|
||||
"civilite": etud["civilite"],
|
||||
"nom": etud["nom"],
|
||||
"prenom": etud["prenom"],
|
||||
"_nom_target": "ficheEtud?etudid=" + etud["etudid"],
|
||||
"_prenom_target": "ficheEtud?etudid=" + etud["etudid"],
|
||||
"_nom_target": url_for(
|
||||
"scolar.ficheEtud", scodoc_dept=g.scodoc_dept, etudid=etudid
|
||||
),
|
||||
"_prenom_target": url_for(
|
||||
"scolar.ficheEtud", scodoc_dept=g.scodoc_dept, etudid=etudid
|
||||
),
|
||||
"_nom_td_attrs": 'id="%s" class="etudinfo"' % (etud["etudid"]),
|
||||
# 'debouche' : etud['debouche'],
|
||||
"moy": scu.fmt_note(nt.get_etud_moy_gen(etudid), keep_numeric=keep_numeric),
|
||||
|
@ -31,6 +31,8 @@
|
||||
from cStringIO import StringIO
|
||||
from zipfile import ZipFile
|
||||
|
||||
from flask import url_for, g
|
||||
|
||||
import app.scodoc.sco_utils as scu
|
||||
from app.scodoc.notes_log import log
|
||||
from app.scodoc import html_sco_header
|
||||
@ -546,7 +548,7 @@ def view_scodoc_etuds(
|
||||
raise ValueError("etudid or NIP must be specified")
|
||||
|
||||
for e in etuds:
|
||||
tgt = "ficheEtud?etudid=" + e["etudid"]
|
||||
tgt = url_for("scolar.ficheEtud", scodoc_dept=g.scodoc_dept, etudid=e["etudid"])
|
||||
e["_nom_target"] = tgt
|
||||
e["_prenom_target"] = tgt
|
||||
e["_nom_td_attrs"] = 'id="%s" class="etudinfo"' % (e["etudid"],)
|
||||
@ -758,7 +760,9 @@ def view_apo_csv(context, etape_apo="", semset_id="", format="html", REQUEST=Non
|
||||
e["in_scodoc"] = e["nip"] not in nips_no_sco
|
||||
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["_in_scodoc_str_target"] = url_for(
|
||||
"scolar.ficheEtud", scodoc_dept=g.scodoc_dept, code_nip=e["nip"]
|
||||
)
|
||||
e.update(sco_etud.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"],)
|
||||
|
@ -92,6 +92,8 @@ Le filtrage s'effctue sur la date et non plus sur la parité du semestre (1-3/2-
|
||||
|
||||
import json
|
||||
|
||||
from flask import url_for, g
|
||||
|
||||
from app.scodoc.sco_portal_apogee import get_inscrits_etape
|
||||
from app.scodoc.notes_log import log
|
||||
from app.scodoc.sco_utils import annee_scolaire_debut
|
||||
@ -681,7 +683,10 @@ class EtapeBilan(object):
|
||||
|
||||
@staticmethod
|
||||
def link_etu(etudid, nom):
|
||||
return '<a class="stdlink" href="ficheEtud?etudid=%s">%s</a>' % (etudid, nom)
|
||||
return '<a class="stdlink" href="%s">%s</a>' % (
|
||||
url_for("scolar.ficheEtud", scodoc_dept=g.scodoc_dept, etudid=etudid),
|
||||
nom,
|
||||
)
|
||||
|
||||
def link_semestre(self, semestre, short=False):
|
||||
if short:
|
||||
|
@ -32,6 +32,8 @@
|
||||
|
||||
import time
|
||||
|
||||
from flask import url_for, g
|
||||
|
||||
from email.mime.multipart import MIMEMultipart
|
||||
from email.mime.text import MIMEText
|
||||
from email.header import Header
|
||||
@ -332,8 +334,13 @@ def _check_duplicate_code(cnx, args, code_name, context, edit=True, REQUEST=None
|
||||
listh = [] # liste des doubles
|
||||
for e in etuds:
|
||||
listh.append(
|
||||
"""Autre étudiant: <a href="ficheEtud?etudid=%(etudid)s">%(nom)s %(prenom)s</a>"""
|
||||
% e
|
||||
"""Autre étudiant: <a href="%s">"""
|
||||
% url_for(
|
||||
"scolar.ficheEtud",
|
||||
scodoc_dept=g.scodoc_dept,
|
||||
etudid=e["etudid"],
|
||||
)
|
||||
+ """%(nom)s %(prenom)s</a>""" % e
|
||||
)
|
||||
if etudid:
|
||||
OK = "retour à la fiche étudiant"
|
||||
@ -704,7 +711,7 @@ def create_etud(context, cnx, args={}, REQUEST=None):
|
||||
)
|
||||
etud = etudident_list(cnx, {"etudid": etudid})[0]
|
||||
fill_etuds_info([etud])
|
||||
etud["url"] = "ficheEtud?etudid=%(etudid)s" % etud
|
||||
etud["url"] = url_for("scolar.ficheEtud", scodoc_dept=g.scodoc_dept, etudid=etudid)
|
||||
sco_news.add(
|
||||
context,
|
||||
REQUEST,
|
||||
|
@ -29,6 +29,8 @@
|
||||
"""
|
||||
from types import ListType
|
||||
|
||||
from flask import url_for, g
|
||||
|
||||
import app.scodoc.notesdb as ndb
|
||||
import app.scodoc.sco_utils as scu
|
||||
from app.scodoc.notes_log import log
|
||||
@ -174,7 +176,8 @@ def _build_results_list(context, dpv_by_sem, etuds_infos):
|
||||
"nom_usuel": etud["nom_usuel"],
|
||||
"prenom": etud["prenom"],
|
||||
"civilite_str": etud["civilite_str"],
|
||||
"_nom_target": "%s/ficheEtud?etudid=%s" % (scu.ScoURL(), etudid),
|
||||
"_nom_target": "%s"
|
||||
% url_for("scolar.ficheEtud", scodoc_dept=g.scodoc_dept, etudid=etudid),
|
||||
"_nom_td_attrs": 'id="%s" class="etudinfo"' % etudid,
|
||||
"bac": bac.abbrev(),
|
||||
"parcours": dec["parcours"],
|
||||
|
@ -27,6 +27,7 @@
|
||||
|
||||
"""Recherche d'étudiants
|
||||
"""
|
||||
from flask import url_for, g
|
||||
|
||||
from scodoc_manager import sco_mgr
|
||||
import app.scodoc.sco_utils as scu
|
||||
@ -105,7 +106,6 @@ def search_etud_in_dept(context, expnom="", REQUEST=None):
|
||||
Args:
|
||||
expnom: string, regexp sur le nom ou un code_nip ou un etudid
|
||||
"""
|
||||
dest_url = "ficheEtud"
|
||||
if len(expnom) > 1:
|
||||
etuds = sco_etud.get_etud_info(filled=1, etudid=expnom, REQUEST=REQUEST)
|
||||
if len(etuds) != 1:
|
||||
@ -119,7 +119,9 @@ def search_etud_in_dept(context, expnom="", REQUEST=None):
|
||||
if len(etuds) == 1:
|
||||
# va directement a la fiche
|
||||
return REQUEST.RESPONSE.redirect(
|
||||
scu.NotesURL() + "/ficheEtud?etudid=" + etuds[0]["etudid"]
|
||||
url_for(
|
||||
"scolar.ficheEtud", scodoc_dept=g.scodoc_dept, etudid=etuds[0]["etudid"]
|
||||
)
|
||||
)
|
||||
|
||||
H = [
|
||||
@ -135,7 +137,9 @@ def search_etud_in_dept(context, expnom="", REQUEST=None):
|
||||
% (len(etuds), expnom),
|
||||
form_search_etud(
|
||||
context,
|
||||
dest_url=dest_url,
|
||||
dest_url=url_for(
|
||||
"scolar.ficheEtud", scodoc_dept=g.scodoc_dept
|
||||
), # sans l'etudid, post du form
|
||||
REQUEST=REQUEST,
|
||||
title="Autre recherche",
|
||||
),
|
||||
@ -143,7 +147,9 @@ def search_etud_in_dept(context, expnom="", REQUEST=None):
|
||||
if len(etuds) > 0:
|
||||
# Choix dans la liste des résultats:
|
||||
for e in etuds:
|
||||
target = dest_url + "?etudid=%s&" % e["etudid"]
|
||||
target = url_for(
|
||||
"scolar.ficheEtud", scodoc_dept=g.scodoc_dept, etudid=e["etudid"]
|
||||
)
|
||||
e["_nomprenom_target"] = target
|
||||
e["inscription_target"] = target
|
||||
e["_nomprenom_td_attrs"] = 'id="%s" class="etudinfo"' % (e["etudid"])
|
||||
@ -169,7 +175,7 @@ def search_etud_in_dept(context, expnom="", REQUEST=None):
|
||||
H.append(
|
||||
form_search_etud(
|
||||
context,
|
||||
dest_url=dest_url,
|
||||
dest_url=url_for("scolar.ficheEtud", scodoc_dept=g.scodoc_dept),
|
||||
REQUEST=REQUEST,
|
||||
title="Autre recherche",
|
||||
)
|
||||
@ -303,16 +309,16 @@ def table_etud_in_accessible_depts(context, expnom=None, REQUEST=None):
|
||||
]
|
||||
for etuds in result:
|
||||
if etuds:
|
||||
DeptId = etuds[0]["dept"]
|
||||
dept_id = etuds[0]["dept"]
|
||||
# H.append('<h3>Département %s</h3>' % DeptId)
|
||||
dest_url = DeptId + "/Scolarite/ficheEtud"
|
||||
for e in etuds:
|
||||
target = dest_url + "?etudid=%s" % e["etudid"]
|
||||
e["_nomprenom_target"] = target
|
||||
e["_nomprenom_target"] = url_for(
|
||||
"scolar.ficheEtud", scodoc_dept=dept_id, etudid=e["etudid"]
|
||||
)
|
||||
e["_nomprenom_td_attrs"] = 'id="%s" class="etudinfo"' % (e["etudid"])
|
||||
|
||||
tab = GenTable(
|
||||
titles={"nomprenom": "Etudiants en " + DeptId},
|
||||
titles={"nomprenom": "Etudiants en " + dept_id},
|
||||
columns_ids=("nomprenom",),
|
||||
rows=etuds,
|
||||
html_sortable=True,
|
||||
|
@ -33,6 +33,8 @@ Ces semestres n'auront qu'un seul inscrit !
|
||||
"""
|
||||
import time
|
||||
|
||||
from flask import url_for, g
|
||||
|
||||
import app.scodoc.sco_utils as scu
|
||||
import app.scodoc.notesdb as ndb
|
||||
from app.scodoc.sco_utils import log
|
||||
@ -97,8 +99,11 @@ def formsemestre_ext_create_form(context, etudid, formsemestre_id, REQUEST=None)
|
||||
</p>
|
||||
"""
|
||||
% (etudid,),
|
||||
"""<h3><a href="ficheEtud?etudid=%s" class="stdlink">Etudiant %s</a></h3>"""
|
||||
% (etudid, etud["nomprenom"]),
|
||||
"""<h3><a href="%s" class="stdlink">Etudiant %s</a></h3>"""
|
||||
% (
|
||||
url_for("scolar.ficheEtud", scodoc_dept=g.scodoc_dept, etudid=etudid),
|
||||
etud["nomprenom"],
|
||||
),
|
||||
]
|
||||
F = html_sco_header.sco_footer(context, REQUEST)
|
||||
orig_sem = sco_formsemestre.get_formsemestre(context, formsemestre_id)
|
||||
@ -204,7 +209,7 @@ def formsemestre_ext_create_form(context, etudid, formsemestre_id, REQUEST=None)
|
||||
tf[2]["formation_id"] = orig_sem["formation_id"]
|
||||
formsemestre_ext_create(context, etudid, tf[2], REQUEST=REQUEST)
|
||||
return REQUEST.RESPONSE.redirect(
|
||||
"%s/ficheEtud?etudid=%s" % (scu.ScoURL(), etudid)
|
||||
url_for("scolar.ficheEtud", scodoc_dept=g.scodoc_dept, etudid=etudid)
|
||||
)
|
||||
|
||||
|
||||
|
@ -29,6 +29,8 @@
|
||||
"""
|
||||
import time
|
||||
|
||||
from flask import url_for, g
|
||||
|
||||
import app.scodoc.sco_utils as scu
|
||||
from app.scodoc.notes_log import log
|
||||
from app.scodoc.scolog import logdb
|
||||
@ -315,8 +317,11 @@ def formsemestre_inscription_with_modules_form(
|
||||
else:
|
||||
H.append("<p>aucune session de formation !</p>")
|
||||
H.append(
|
||||
'<h3>ou</h3> <a class="stdlink" href="%s/ficheEtud?etudid=%s">retour à la fiche de %s</a>'
|
||||
% (scu.ScoURL(), etudid, etud["nomprenom"])
|
||||
'<h3>ou</h3> <a class="stdlink" href="%s">retour à la fiche de %s</a>'
|
||||
% (
|
||||
url_for("scolar.ficheEtud", scodoc_dept=g.scodoc_dept, etudid=etudid),
|
||||
etud["nomprenom"],
|
||||
)
|
||||
)
|
||||
return "\n".join(H) + F
|
||||
|
||||
@ -357,9 +362,20 @@ def formsemestre_inscription_with_modules(
|
||||
% (etud["nomprenom"], sem["titremois"])
|
||||
)
|
||||
H.append(
|
||||
"""<ul><li><a href="ficheEtud?etudid=%s">retour à la fiche de %s</a></li>
|
||||
<li><a href="formsemestre_status?formsemestre_id=%s">retour au tableau de bord de %s</a></li></ul>"""
|
||||
% (etudid, etud["nomprenom"], formsemestre_id, sem["titremois"])
|
||||
"""<ul>
|
||||
<li><a href="%s">retour à la fiche de %s</a></li>
|
||||
<li><a href="%s">retour au tableau de bord de %s</a></li>
|
||||
</ul>"""
|
||||
% (
|
||||
url_for("scolar.ficheEtud", scodoc_dept=g.scodoc_dept, etudid=etudid),
|
||||
etud["nomprenom"],
|
||||
url_for(
|
||||
"notes.formsemestre_status",
|
||||
scodoc_dept=g.scodoc_dept,
|
||||
formsemestre_id=formsemestre_id,
|
||||
),
|
||||
sem["titremois"],
|
||||
)
|
||||
)
|
||||
return "\n".join(H) + F
|
||||
# Check 2: déjà inscrit dans un semestre recouvrant les même dates ?
|
||||
@ -401,7 +417,9 @@ def formsemestre_inscription_with_modules(
|
||||
REQUEST=REQUEST,
|
||||
method="formsemestre_inscription_with_modules",
|
||||
)
|
||||
return REQUEST.RESPONSE.redirect(scu.ScoURL() + "/ficheEtud?etudid=" + etudid)
|
||||
return REQUEST.RESPONSE.redirect(
|
||||
url_for("scolar.ficheEtud", scodoc_dept=g.scodoc_dept, etudid=etudid)
|
||||
)
|
||||
else:
|
||||
# formulaire choix groupe
|
||||
H.append(
|
||||
@ -555,7 +573,7 @@ function chkbx_select(field_id, state) {
|
||||
return "\n".join(H) + "\n" + tf[1] + F
|
||||
elif tf[0] == -1:
|
||||
return REQUEST.RESPONSE.redirect(
|
||||
"%s/ficheEtud?etudid=%s" % (scu.ScoURL(), etudid)
|
||||
url_for("scolar.ficheEtud", scodoc_dept=g.scodoc_dept, etudid=etudid)
|
||||
)
|
||||
else:
|
||||
# Inscriptions aux modules choisis
|
||||
@ -591,8 +609,9 @@ function chkbx_select(field_id, state) {
|
||||
if (not a_inscrire) and (not a_desinscrire):
|
||||
H.append(
|
||||
"""<h3>Aucune modification à effectuer</h3>
|
||||
<p><a class="stdlink" href="%s/ficheEtud?etudid=%s">retour à la fiche étudiant</a></p>"""
|
||||
% (scu.ScoURL(), etudid)
|
||||
<p><a class="stdlink" href="%s">retour à la fiche étudiant</a></p>
|
||||
"""
|
||||
% url_for("scolar.ficheEtud", scodoc_dept=g.scodoc_dept, etudid=etudid)
|
||||
)
|
||||
return "\n".join(H) + F
|
||||
|
||||
@ -643,15 +662,14 @@ function chkbx_select(field_id, state) {
|
||||
<input type="hidden" name="modulesimpls_ainscrire" value="%s"/>
|
||||
<input type="hidden" name="modulesimpls_adesinscrire" value="%s"/>
|
||||
<input type ="submit" value="Confirmer"/>
|
||||
<input type ="button" value="Annuler" onclick="document.location='%s/ficheEtud?etudid=%s';"/>
|
||||
<input type ="button" value="Annuler" onclick="document.location='%s';"/>
|
||||
</form>
|
||||
"""
|
||||
% (
|
||||
etudid,
|
||||
modulesimpls_ainscrire,
|
||||
modulesimpls_adesinscrire,
|
||||
scu.ScoURL(),
|
||||
etudid,
|
||||
url_for("scolar.ficheEtud", scodoc_dept=g.scodoc_dept, etudid=etudid),
|
||||
)
|
||||
)
|
||||
return "\n".join(H) + F
|
||||
@ -712,10 +730,10 @@ def do_moduleimpl_incription_options(
|
||||
H = [
|
||||
html_sco_header.sco_header(context, REQUEST),
|
||||
"""<h3>Modifications effectuées</h3>
|
||||
<p><a class="stdlink" href="%s/ficheEtud?etudid=%s">
|
||||
<p><a class="stdlink" href="%s">
|
||||
Retour à la fiche étudiant</a></p>
|
||||
"""
|
||||
% (scu.ScoURL(), etudid),
|
||||
% url_for("scolar.ficheEtud", scodoc_dept=g.scodoc_dept, etudid=etudid),
|
||||
html_sco_header.sco_footer(context, REQUEST),
|
||||
]
|
||||
return "\n".join(H)
|
||||
@ -780,8 +798,15 @@ def formsemestre_inscrits_ailleurs(context, formsemestre_id, REQUEST=None):
|
||||
H.append("<ul>")
|
||||
for etud in etudlist:
|
||||
H.append(
|
||||
'<li><a href="ficheEtud?etudid=%(etudid)s" class="discretelink">%(nomprenom)s</a> : '
|
||||
% etud
|
||||
'<li><a href="%s" class="discretelink">%s</a> : '
|
||||
% (
|
||||
url_for(
|
||||
"scolar.ficheEtud",
|
||||
scodoc_dept=g.scodoc_dept,
|
||||
etudid=etud["etudid"],
|
||||
),
|
||||
etud["nomprenom"],
|
||||
)
|
||||
)
|
||||
l = []
|
||||
for s in insd[etud["etudid"]]:
|
||||
|
@ -29,6 +29,8 @@
|
||||
"""
|
||||
import six.moves.urllib.request, six.moves.urllib.parse, six.moves.urllib.error, time, datetime
|
||||
|
||||
from flask import url_for, g
|
||||
|
||||
import app.scodoc.notesdb as ndb
|
||||
import app.scodoc.sco_utils as scu
|
||||
from app.scodoc.notes_log import log
|
||||
@ -146,10 +148,9 @@ def formsemestre_validation_etud_form(
|
||||
)
|
||||
|
||||
H.append(
|
||||
'</td><td style="text-align: right;"><a href="%s/ficheEtud?etudid=%s">%s</a></td></tr></table>'
|
||||
'</td><td style="text-align: right;"><a href="%s">%s</a></td></tr></table>'
|
||||
% (
|
||||
scu.ScoURL(),
|
||||
etudid,
|
||||
url_for("scolar.ficheEtud", scodoc_dept=g.scodoc_dept, etudid=etudid),
|
||||
sco_photos.etud_photo_html(
|
||||
context, etud, title="fiche de %s" % etud["nom"], REQUEST=REQUEST
|
||||
),
|
||||
@ -164,8 +165,10 @@ def formsemestre_validation_etud_form(
|
||||
if etud_etat != "I":
|
||||
H.append(
|
||||
tf_error_message(
|
||||
"""Impossible de statuer sur cet étudiant: il est démissionnaire ou défaillant (voir <a href="%s/ficheEtud?etudid=%s">sa fiche</a>)"""
|
||||
% (scu.ScoURL(), etudid)
|
||||
"""Impossible de statuer sur cet étudiant:
|
||||
il est démissionnaire ou défaillant (voir <a href="%s">sa fiche</a>)
|
||||
"""
|
||||
% url_for("scolar.ficheEtud", scodoc_dept=g.scodoc_dept, etudid=etudid)
|
||||
)
|
||||
)
|
||||
return "\n".join(H + Footer)
|
||||
@ -1096,10 +1099,9 @@ def formsemestre_validate_previous_ue(context, formsemestre_id, etudid, REQUEST=
|
||||
"""<h2 class="formsemestre">%s: validation d'une UE antérieure</h2>"""
|
||||
% etud["nomprenom"],
|
||||
(
|
||||
'</td><td style="text-align: right;"><a href="%s/ficheEtud?etudid=%s">%s</a></td></tr></table>'
|
||||
'</td><td style="text-align: right;"><a href="%s">%s</a></td></tr></table>'
|
||||
% (
|
||||
scu.ScoURL(),
|
||||
etudid,
|
||||
url_for("scolar.ficheEtud", scodoc_dept=g.scodoc_dept, etudid=etudid),
|
||||
sco_photos.etud_photo_html(
|
||||
context, etud, title="fiche de %s" % etud["nom"], REQUEST=REQUEST
|
||||
),
|
||||
|
@ -37,6 +37,8 @@ import time
|
||||
import collections
|
||||
import operator
|
||||
|
||||
from flask import url_for, g
|
||||
|
||||
import app.scodoc.sco_utils as scu
|
||||
from app.scodoc import html_sco_header
|
||||
from app.scodoc import sco_abs
|
||||
@ -535,8 +537,11 @@ def groups_table(
|
||||
etud["_emailperso_target"] = "mailto:" + etud["emailperso"]
|
||||
else:
|
||||
etud["_emailperso_target"] = ""
|
||||
etud["_nom_disp_target"] = "ficheEtud?etudid=" + etud["etudid"]
|
||||
etud["_prenom_target"] = "ficheEtud?etudid=" + etud["etudid"]
|
||||
fiche_url = url_for(
|
||||
"scolar.ficheEtud", scodoc_dept=g.scodoc_dept, etudid=etud["etudid"]
|
||||
)
|
||||
etud["_nom_disp_target"] = fiche_url
|
||||
etud["_prenom_target"] = fiche_url
|
||||
|
||||
etud["_nom_disp_td_attrs"] = 'id="%s" class="etudinfo"' % (etud["etudid"])
|
||||
|
||||
@ -937,7 +942,10 @@ def form_choix_saisie_semaine(context, groups_infos, REQUEST=None):
|
||||
moduleimpl_id = query_args.get("moduleimpl_id", [""])[0]
|
||||
if "head_message" in query_args:
|
||||
del query_args["head_message"]
|
||||
destination = "%s?%s" % (REQUEST.URL, six.moves.urllib.parse.urlencode(query_args, True))
|
||||
destination = "%s?%s" % (
|
||||
REQUEST.URL,
|
||||
six.moves.urllib.parse.urlencode(query_args, True),
|
||||
)
|
||||
destination = destination.replace(
|
||||
"%", "%%"
|
||||
) # car ici utilisee dans un format string !
|
||||
|
@ -31,6 +31,8 @@
|
||||
import datetime
|
||||
from operator import itemgetter
|
||||
|
||||
from flask import url_for, g
|
||||
|
||||
import app.scodoc.notesdb as ndb
|
||||
import app.scodoc.sco_utils as scu
|
||||
from app.scodoc.notes_log import log
|
||||
@ -577,9 +579,14 @@ def etuds_select_boxes(
|
||||
c = ""
|
||||
sco_etud.format_etud_ident(etud)
|
||||
if etud["etudid"]:
|
||||
elink = (
|
||||
"""<a class="discretelink %s" href="ficheEtud?etudid=%s">%s</a>"""
|
||||
% (c, etud["etudid"], etud["nomprenom"])
|
||||
elink = """<a class="discretelink %s" href="%s">%s</a>""" % (
|
||||
c,
|
||||
url_for(
|
||||
"scolar.ficheEtud",
|
||||
scodoc_dept=g.scodoc_dept,
|
||||
etudid=etud["etudid"],
|
||||
),
|
||||
etud["nomprenom"],
|
||||
)
|
||||
else:
|
||||
# ce n'est pas un etudiant ScoDoc
|
||||
|
@ -31,6 +31,8 @@ import six.moves.urllib.request, six.moves.urllib.parse, six.moves.urllib.error
|
||||
from types import StringType
|
||||
from operator import itemgetter
|
||||
|
||||
from flask import url_for, g
|
||||
|
||||
import app.scodoc.sco_utils as scu
|
||||
import app.scodoc.notesdb as ndb
|
||||
from app.scodoc.notes_log import log
|
||||
@ -817,8 +819,11 @@ def evaluation_check_absences_html(
|
||||
for etudid in etudids:
|
||||
etud = sco_etud.get_etud_info(etudid=etudid, filled=True)[0]
|
||||
H.append(
|
||||
'<li><a class="discretelink" href="ficheEtud?etudid=%(etudid)s">%(nomprenom)s</a>'
|
||||
% etud
|
||||
'<li><a class="discretelink" href="%s">'
|
||||
% url_for(
|
||||
"scolar.ficheEtud", scodoc_dept=g.scodoc_dept, etudid=etud["etudid"]
|
||||
)
|
||||
+ "%(nomprenom)s</a>" % etud
|
||||
)
|
||||
if linkabs:
|
||||
H.append(
|
||||
|
@ -31,6 +31,8 @@
|
||||
"""
|
||||
from operator import itemgetter
|
||||
|
||||
from flask import url_for, g
|
||||
|
||||
import app.scodoc.sco_utils as scu
|
||||
from app.scodoc import html_sco_header
|
||||
from app.scodoc import sco_formsemestre
|
||||
@ -140,8 +142,11 @@ def _table_etuds_lycees(
|
||||
bottom_titles = None
|
||||
if not no_links:
|
||||
for etud in etuds:
|
||||
etud["_nom_target"] = "ficheEtud?etudid=" + etud["etudid"]
|
||||
etud["_prenom_target"] = "ficheEtud?etudid=" + etud["etudid"]
|
||||
fiche_url = url_for(
|
||||
"scolar.ficheEtud", scodoc_dept=g.scodoc_dept, etudid=etud["etudid"]
|
||||
)
|
||||
etud["_nom_target"] = fiche_url
|
||||
etud["_prenom_target"] = fiche_url
|
||||
etud["_nom_td_attrs"] = 'id="%s" class="etudinfo"' % (etud["etudid"])
|
||||
|
||||
tab = GenTable(
|
||||
@ -230,8 +235,15 @@ def js_coords_lycees(etuds_by_lycee):
|
||||
etuds_by_lycee[codelycee]
|
||||
) + ", ".join(
|
||||
[
|
||||
'<a class="discretelink" href="ficheEtud?etudid=%s" title="">%s</a>'
|
||||
% (e["etudid"], qjs(e["nomprenom"]))
|
||||
'<a class="discretelink" href="%s" title="">%s</a>'
|
||||
% (
|
||||
url_for(
|
||||
"scolar.ficheEtud",
|
||||
scodoc_dept=g.scodoc_dept,
|
||||
etudid=e["etudid"],
|
||||
),
|
||||
qjs(e["nomprenom"]),
|
||||
)
|
||||
for e in etuds_by_lycee[codelycee]
|
||||
]
|
||||
)
|
||||
|
@ -29,6 +29,8 @@
|
||||
"""
|
||||
from operator import itemgetter
|
||||
|
||||
from flask import url_for, g
|
||||
|
||||
import app.scodoc.notesdb as ndb
|
||||
import app.scodoc.sco_utils as scu
|
||||
from app.scodoc.notes_log import log
|
||||
@ -171,8 +173,16 @@ def moduleimpl_inscriptions_edit(
|
||||
% (etud["etudid"], checked)
|
||||
)
|
||||
H.append(
|
||||
"""<a class="discretelink etudinfo" href="ficheEtud?etudid=%s" id="%s">%s</a>"""
|
||||
% (etud["etudid"], etud["etudid"], etud["nomprenom"])
|
||||
"""<a class="discretelink etudinfo" href="%s" id="%s">%s</a>"""
|
||||
% (
|
||||
url_for(
|
||||
"scolar.ficheEtud",
|
||||
scodoc_dept=g.scodoc_dept,
|
||||
etudid=etud["etudid"],
|
||||
),
|
||||
etud["etudid"],
|
||||
etud["nomprenom"],
|
||||
)
|
||||
)
|
||||
H.append("""</input></td>""")
|
||||
|
||||
@ -355,8 +365,15 @@ def moduleimpl_inscriptions_stats(context, formsemestre_id, REQUEST=None):
|
||||
for info in UECaps[ue["ue_id"]]:
|
||||
etud = sco_etud.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
|
||||
'<li class="etud"><a class="discretelink" href="%s">%s</a>'
|
||||
% (
|
||||
url_for(
|
||||
"scolar.ficheEtud",
|
||||
scodoc_dept=g.scodoc_dept,
|
||||
etudid=etud["etudid"],
|
||||
),
|
||||
etud["nomprenom"],
|
||||
)
|
||||
)
|
||||
if info["ue_status"]["event_date"]:
|
||||
H.append(
|
||||
@ -461,8 +478,13 @@ def _fmt_etud_set(context, ins, max_list_size=7):
|
||||
etuds.sort(key=itemgetter("nom"))
|
||||
return ", ".join(
|
||||
[
|
||||
'<a class="discretelink" href="ficheEtud?etudid=%(etudid)s">%(nomprenom)s</a>'
|
||||
% etud
|
||||
'<a class="discretelink" href="%s">%s</a>'
|
||||
% (
|
||||
url_for(
|
||||
"scolar.ficheEtud", scodoc_dept=g.scodoc_dept, etudid=etud["etudid"]
|
||||
),
|
||||
etud["nomprenom"],
|
||||
)
|
||||
for etud in etuds
|
||||
]
|
||||
)
|
||||
|
@ -30,6 +30,7 @@
|
||||
Fiche description d'un étudiant et de son parcours
|
||||
|
||||
"""
|
||||
from flask import url_for, g
|
||||
|
||||
import app.scodoc.sco_utils as scu
|
||||
import app.scodoc.notesdb as ndb
|
||||
@ -384,13 +385,13 @@ def ficheEtud(context, etudid=None, REQUEST=None):
|
||||
else:
|
||||
info["tit_anno"] = ""
|
||||
# Inscriptions
|
||||
if info["sems"]: # XXX rcl unused ? à voir
|
||||
rcl = (
|
||||
"""(<a href="%(ScoURL)s/Notes/formsemestre_validation_etud_form?check=1&etudid=%(etudid)s&formsemestre_id=%(last_formsemestre_id)s&desturl=ficheEtud?etudid=%(etudid)s">récapitulatif parcours</a>)"""
|
||||
% info
|
||||
)
|
||||
else:
|
||||
rcl = ""
|
||||
# if info["sems"]: # XXX rcl unused ? à voir
|
||||
# rcl = (
|
||||
# """(<a href="%(ScoURL)s/Notes/formsemestre_validation_etud_form?check=1&etudid=%(etudid)s&formsemestre_id=%(last_formsemestre_id)s&desturl=ficheEtud?etudid=%(etudid)s">récapitulatif parcours</a>)"""
|
||||
# % info
|
||||
# )
|
||||
# else:
|
||||
# rcl = ""
|
||||
info[
|
||||
"inscriptions_mkup"
|
||||
] = """<div class="ficheinscriptions" id="ficheinscriptions">
|
||||
|
@ -31,6 +31,8 @@ Recapitule tous les semestres validés dans une feuille excel.
|
||||
"""
|
||||
import collections
|
||||
|
||||
from flask import url_for, g
|
||||
|
||||
import app.scodoc.sco_utils as scu
|
||||
from app.scodoc import sco_abs
|
||||
from app.scodoc import sco_core
|
||||
@ -178,8 +180,11 @@ def formsemestre_poursuite_report(
|
||||
infos = []
|
||||
ids = []
|
||||
for etud in etuds:
|
||||
etud["_nom_target"] = "ficheEtud?etudid=" + etud["etudid"]
|
||||
etud["_prenom_target"] = "ficheEtud?etudid=" + etud["etudid"]
|
||||
fiche_url = url_for(
|
||||
"scolar.ficheEtud", scodoc_dept=g.scodoc_dept, etudid=etud["etudid"]
|
||||
)
|
||||
etud["_nom_target"] = fiche_url
|
||||
etud["_prenom_target"] = fiche_url
|
||||
etud["_nom_td_attrs"] = 'id="%s" class="etudinfo"' % (etud["etudid"])
|
||||
info = etud_get_poursuite_info(context, sem, etud)
|
||||
idd = _flatten_info(info)
|
||||
|
@ -51,6 +51,8 @@ from operator import itemgetter
|
||||
from reportlab.platypus import Paragraph
|
||||
from reportlab.lib import styles
|
||||
|
||||
from flask import url_for, g
|
||||
|
||||
import app.scodoc.sco_utils as scu
|
||||
import app.scodoc.notesdb as ndb
|
||||
from app.scodoc.notes_log import log
|
||||
@ -436,8 +438,11 @@ def pvjury_table(
|
||||
"etudid": e["identite"]["etudid"],
|
||||
"code_nip": e["identite"]["code_nip"],
|
||||
"nomprenom": e["identite"]["nomprenom"],
|
||||
"_nomprenom_target": "%s/ficheEtud?etudid=%s"
|
||||
% (scu.ScoURL(), e["identite"]["etudid"]),
|
||||
"_nomprenom_target": url_for(
|
||||
"scolar.ficheEtud",
|
||||
scodoc_dept=g.scodoc_dept,
|
||||
etudid=e["identite"]["etudid"],
|
||||
),
|
||||
"_nomprenom_td_attrs": 'id="%s" class="etudinfo"' % e["identite"]["etudid"],
|
||||
"parcours": e["parcours"],
|
||||
"decision": _descr_decision_sem_abbrev(
|
||||
|
@ -37,6 +37,8 @@ import time
|
||||
import datetime
|
||||
from operator import itemgetter
|
||||
|
||||
from flask import url_for, g
|
||||
|
||||
import app.scodoc.sco_utils as scu
|
||||
from app.scodoc import notesdb as ndb
|
||||
from app.scodoc import html_sco_header
|
||||
@ -1096,8 +1098,11 @@ def table_suivi_parcours(
|
||||
context, etud
|
||||
)
|
||||
codes_etuds[etud["codeparcours"]].append(etud)
|
||||
etud["_nom_target"] = "ficheEtud?etudid=" + etud["etudid"]
|
||||
etud["_prenom_target"] = "ficheEtud?etudid=" + etud["etudid"]
|
||||
fiche_url = url_for(
|
||||
"scolar.ficheEtud", scodoc_dept=g.scodoc_dept, etudid=etud["etudid"]
|
||||
)
|
||||
etud["_nom_target"] = fiche_url
|
||||
etud["_prenom_target"] = fiche_url
|
||||
etud["_nom_td_attrs"] = 'id="%s" class="etudinfo"' % (etud["etudid"])
|
||||
|
||||
titles = {
|
||||
|
@ -43,6 +43,8 @@ from reportlab.lib.colors import Color
|
||||
from reportlab.lib import colors
|
||||
from PIL import Image as PILImage
|
||||
|
||||
from flask import url_for, g
|
||||
|
||||
from app.scodoc.notes_log import log
|
||||
import app.scodoc.sco_utils as scu
|
||||
from app.scodoc.TrivialFormulator import TrivialFormulator
|
||||
@ -154,7 +156,15 @@ def trombino_html(context, groups_infos, REQUEST=None):
|
||||
'<span class="unloaded_img" id="%s"><img border="0" height="90" alt="en cours" src="/ScoDoc/static/icons/loading.jpg"/></span>'
|
||||
% t["etudid"]
|
||||
)
|
||||
H.append('<a href="ficheEtud?etudid=' + t["etudid"] + '">' + foto + "</a>")
|
||||
H.append(
|
||||
'<a href="%s">%s</a>'
|
||||
% (
|
||||
url_for(
|
||||
"scolar.ficheEtud", scodoc_dept=g.scodoc_dept, etudid=t["etudid"]
|
||||
),
|
||||
foto,
|
||||
)
|
||||
)
|
||||
H.append("</span>")
|
||||
H.append(
|
||||
'<span class="trombi_legend"><span class="trombi_prenom">'
|
||||
|
@ -58,6 +58,7 @@ import time
|
||||
from xml.etree import ElementTree
|
||||
|
||||
from flask import g
|
||||
from flask import url_for
|
||||
from flask import current_app
|
||||
|
||||
from app.decorators import (
|
||||
@ -764,8 +765,14 @@ def _gen_form_saisie_groupe(
|
||||
td_matin_class = ("matin_1", "matin_2", "matin_3")[i % 3]
|
||||
|
||||
H.append(
|
||||
'<tr class="%s"><td><b class="etudinfo" id="%s"><a class="discretelink" href="ficheEtud?etudid=%s" target="new">%s</a></b>%s</td>'
|
||||
% (tr_class, etudid, etudid, etud["nomprenom"], capstr)
|
||||
'<tr class="%s"><td><b class="etudinfo" id="%s"><a class="discretelink" href="%s" target="new">%s</a></b>%s</td>'
|
||||
% (
|
||||
tr_class,
|
||||
etudid,
|
||||
url_for("scolar.ficheEtud", scodoc_dept=g.scodoc_dept, etudid=etudid),
|
||||
etud["nomprenom"],
|
||||
capstr,
|
||||
)
|
||||
)
|
||||
etud_abs = sco_abs.list_abs_in_range(
|
||||
context, etudid, begin, end, moduleimpl_id=moduleimpl_id, cursor=cursor
|
||||
@ -1217,7 +1224,9 @@ def _tableBillets(context, billets, etud=None, title=""):
|
||||
b["nomprenom"] = "???" # should not occur
|
||||
else:
|
||||
b["nomprenom"] = e[0]["nomprenom"]
|
||||
b["_nomprenom_target"] = "ficheEtud?etudid=%s" % b["etudid"]
|
||||
b["_nomprenom_target"] = url_for(
|
||||
"scolar.ficheEtud", scodoc_dept=g.scodoc_dept, etudid=b["etudid"]
|
||||
)
|
||||
if etud and not title:
|
||||
title = "Billets d'absence déclarés par %(nomprenom)s" % etud
|
||||
else:
|
||||
@ -1423,8 +1432,12 @@ def ProcessBilletAbsenceForm(context, billet_id, REQUEST=None):
|
||||
REQUEST,
|
||||
page_title="Traitement billet d'absence de %s" % etud["nomprenom"],
|
||||
),
|
||||
'<h2>Traitement du billet %s : <a class="discretelink" href="ficheEtud?etudid=%s">%s</a></h2>'
|
||||
% (billet_id, etudid, etud["nomprenom"]),
|
||||
'<h2>Traitement du billet %s : <a class="discretelink" href="%s">%s</a></h2>'
|
||||
% (
|
||||
billet_id,
|
||||
url_for("scolar.ficheEtud", scodoc_dept=g.scodoc_dept, etudid=etudid),
|
||||
etud["nomprenom"],
|
||||
),
|
||||
]
|
||||
|
||||
tf = TrivialFormulator(
|
||||
|
@ -1033,7 +1033,9 @@ def view_module_abs(context, REQUEST, moduleimpl_id, format="html"):
|
||||
"just": nb_abs_just,
|
||||
"nojust": nb_abs - nb_abs_just,
|
||||
"total": nb_abs,
|
||||
"_nomprenom_target": "ficheEtud?etudid=%s" % etudid,
|
||||
"_nomprenom_target": url_for(
|
||||
"scolar.ficheEtud", scodoc_dept=g.scodoc_dept, etudid=etudid
|
||||
),
|
||||
}
|
||||
)
|
||||
|
||||
@ -1365,8 +1367,8 @@ def formsemestre_desinscription(
|
||||
|
||||
return (
|
||||
html_sco_header.sco_header(context, REQUEST)
|
||||
+ '<p>Etudiant désinscrit !</p><p><a class="stdlink" href="%s/ficheEtud?etudid=%s">retour à la fiche</a>'
|
||||
% (scu.ScoURL(), etudid)
|
||||
+ '<p>Etudiant désinscrit !</p><p><a class="stdlink" href="%s">retour à la fiche</a>'
|
||||
% url_for("scolar.ficheEtud", scodoc_dept=g.scodoc_dept, etudid=etudid)
|
||||
+ html_sco_header.sco_footer(context, REQUEST)
|
||||
)
|
||||
|
||||
|
@ -43,7 +43,7 @@ except ImportError:
|
||||
from zipfile import ZipFile
|
||||
import psycopg2
|
||||
|
||||
from flask import g
|
||||
from flask import g, url_for
|
||||
from flask import current_app
|
||||
|
||||
from config import Config
|
||||
@ -246,8 +246,8 @@ def showEtudLog(context, etudid, format="html", REQUEST=None):
|
||||
page_title="Opérations sur %(nomprenom)s" % etud,
|
||||
html_title="<h2>Opérations effectuées sur l'étudiant %(nomprenom)s</h2>" % etud,
|
||||
filename="log_" + scu.make_filename(etud["nomprenom"]),
|
||||
html_next_section='<ul><li><a href="ficheEtud?etudid=%(etudid)s">fiche de %(nomprenom)s</a></li></ul>'
|
||||
% etud,
|
||||
html_next_section='<ul><li><a href="%s">fiche de %(nomprenom)s</a></li></ul>'
|
||||
% url_for("scolar.ficheEtud", scodoc_dept=g.scodoc_dept, etudid=etudid),
|
||||
preferences=sco_preferences.SemPreferences(
|
||||
context,
|
||||
),
|
||||
@ -511,7 +511,9 @@ def doAddAnnotation(context, etudid, comment, REQUEST):
|
||||
},
|
||||
)
|
||||
logdb(REQUEST, cnx, method="addAnnotation", etudid=etudid)
|
||||
return REQUEST.RESPONSE.redirect("ficheEtud?etudid=" + etudid)
|
||||
return REQUEST.RESPONSE.redirect(
|
||||
url_for("scolar.ficheEtud", scodoc_dept=g.scodoc_dept, etudid=etudid)
|
||||
)
|
||||
|
||||
|
||||
@bp.route("/doSuppressAnnotation")
|
||||
@ -534,7 +536,12 @@ def doSuppressAnnotation(context, etudid, annotation_id, REQUEST):
|
||||
sco_etud.etud_annotations_delete(cnx, annotation_id)
|
||||
|
||||
return REQUEST.RESPONSE.redirect(
|
||||
"ficheEtud?etudid=%s&head_message=Annotation%%20supprimée" % (etudid)
|
||||
url_for(
|
||||
"scolar.ficheEtud",
|
||||
scodoc_dept=g.scodoc_dept,
|
||||
etudid=etudid,
|
||||
head_message="Annotation%%20supprimée",
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
@ -594,7 +601,7 @@ def formChangeCoordonnees(context, etudid, REQUEST):
|
||||
initvalues=adr,
|
||||
submitlabel="Valider le formulaire",
|
||||
)
|
||||
dest_url = scu.ScoURL() + "/ficheEtud?etudid=" + etudid
|
||||
dest_url = url_for("scolar.ficheEtud", scodoc_dept=g.scodoc_dept, etudid=etudid)
|
||||
if tf[0] == 0:
|
||||
return header + "\n".join(H) + tf[1] + html_sco_header.sco_footer(REQUEST)
|
||||
elif tf[0] == -1:
|
||||
@ -666,7 +673,8 @@ def etud_photo_orig_page(context, etudid=None, REQUEST=None):
|
||||
H = [
|
||||
html_sco_header.sco_header(context, REQUEST, page_title=etud["nomprenom"]),
|
||||
"<h2>%s</h2>" % etud["nomprenom"],
|
||||
'<div><a href="ficheEtud?etudid=%s">' % etudid,
|
||||
'<div><a href="%s">'
|
||||
% url_for("scolar.ficheEtud", scodoc_dept=g.scodoc_dept, etudid=etudid),
|
||||
sco_photos.etud_photo_orig_html(context, etud),
|
||||
"</a></div>",
|
||||
html_sco_header.sco_footer(REQUEST),
|
||||
@ -710,7 +718,9 @@ def formChangePhoto(context, etudid=None, REQUEST=None):
|
||||
submitlabel="Valider",
|
||||
cancelbutton="Annuler",
|
||||
)
|
||||
dest_url = scu.ScoURL() + "/ficheEtud?etudid=" + etud["etudid"]
|
||||
dest_url = url_for(
|
||||
"scolar.ficheEtud", scodoc_dept=g.scodoc_dept, etudid=etud["etudid"]
|
||||
)
|
||||
if tf[0] == 0:
|
||||
return (
|
||||
"\n".join(H)
|
||||
@ -743,14 +753,16 @@ def formSuppressPhoto(context, etudid=None, REQUEST=None, dialog_confirmed=False
|
||||
"<p>Confirmer la suppression de la photo de %(nomprenom)s ?</p>" % etud,
|
||||
dest_url="",
|
||||
REQUEST=REQUEST,
|
||||
cancel_url="ficheEtud?etudid=%s" % etudid,
|
||||
cancel_url=url_for(
|
||||
"scolar.ficheEtud", scodoc_dept=g.scodoc_dept, etudid=etudid
|
||||
),
|
||||
parameters={"etudid": etudid},
|
||||
)
|
||||
|
||||
sco_photos.suppress_photo(context, etud, REQUEST=REQUEST)
|
||||
|
||||
return REQUEST.RESPONSE.redirect(
|
||||
scu.ScoURL() + "/ficheEtud?etudid=" + etud["etudid"]
|
||||
url_for("scolar.ficheEtud", scodoc_dept=g.scodoc_dept, etudid=etudid)
|
||||
)
|
||||
|
||||
|
||||
@ -906,7 +918,9 @@ def _do_dem_or_def_etud(
|
||||
},
|
||||
)
|
||||
if REQUEST:
|
||||
return REQUEST.RESPONSE.redirect("ficheEtud?etudid=" + etudid)
|
||||
return REQUEST.RESPONSE.redirect(
|
||||
url_for("scolar.ficheEtud", scodoc_dept=g.scodoc_dept, etudid=etudid)
|
||||
)
|
||||
|
||||
|
||||
@bp.route("/doCancelDem", methods=["GET", "POST"])
|
||||
@ -988,7 +1002,9 @@ def _do_cancel_dem_or_def(
|
||||
"<p>Confirmer l'annulation de la %s ?</p>" % operation_name,
|
||||
dest_url="",
|
||||
REQUEST=REQUEST,
|
||||
cancel_url="ficheEtud?etudid=%s" % etudid,
|
||||
cancel_url=url_for(
|
||||
"scolar.ficheEtud", scodoc_dept=g.scodoc_dept, etudid=etudid
|
||||
),
|
||||
parameters={"etudid": etudid, "formsemestre_id": formsemestre_id},
|
||||
)
|
||||
#
|
||||
@ -1011,7 +1027,9 @@ def _do_cancel_dem_or_def(
|
||||
{"etudid": etudid, "formsemestre_id": formsemestre_id},
|
||||
)
|
||||
cnx.commit()
|
||||
return REQUEST.RESPONSE.redirect("ficheEtud?etudid=%s" % etudid)
|
||||
return REQUEST.RESPONSE.redirect(
|
||||
url_for("scolar.ficheEtud", scodoc_dept=g.scodoc_dept, etudid=etudid)
|
||||
)
|
||||
|
||||
|
||||
@bp.route("/etudident_create_form", methods=["GET", "POST"])
|
||||
@ -1057,8 +1075,8 @@ def _etudident_create_or_edit_form(context, REQUEST, edit):
|
||||
raise ValueError("missing etudid parameter")
|
||||
descr.append(("etudid", {"default": etudid, "input_type": "hidden"}))
|
||||
H.append(
|
||||
'<h2>Modification d\'un étudiant (<a href="ficheEtud?etudid=%s">fiche</a>)</h2>'
|
||||
% etudid
|
||||
'<h2>Modification d\'un étudiant (<a href="%s">fiche</a>)</h2>'
|
||||
% url_for("scolar.ficheEtud", scodoc_dept=g.scodoc_dept, etudid=etudid)
|
||||
)
|
||||
initvalues = sco_etud.etudident_list(cnx, {"etudid": etudid})
|
||||
assert len(initvalues) == 1
|
||||
@ -1443,18 +1461,30 @@ def etudident_delete(context, etudid, dialog_confirmed=False, REQUEST=None):
|
||||
if not dialog_confirmed:
|
||||
return scu.confirm_dialog(
|
||||
context,
|
||||
"""<h2>Confirmer la suppression de l'étudiant <b>%(nomprenom)s</b> ?</h2>
|
||||
"""<h2>Confirmer la suppression de l'étudiant <b>{e[nomprenom]}</b> ?</h2>
|
||||
</p>
|
||||
<p style="top-margin: 2ex; bottom-margin: 2ex;">Prenez le temps de vérifier que vous devez vraiment supprimer cet étudiant !</p>
|
||||
<p>Cette opération <font color="red"><b>irréversible</b></font> efface toute trace de l'étudiant: inscriptions, <b>notes</b>, absences... dans <b>tous les semestres</b> qu'il a fréquenté.</p>
|
||||
<p>Dans la plupart des cas, vous avez seulement besoin de le <ul>désinscrire</ul> d'un semestre ? (dans ce cas passez par sa fiche, menu associé au semestre)</p>
|
||||
<p style="top-margin: 2ex; bottom-margin: 2ex;">Prenez le temps de vérifier
|
||||
que vous devez vraiment supprimer cet étudiant !
|
||||
</p>
|
||||
<p>Cette opération <font color="red"><b>irréversible</b></font>
|
||||
efface toute trace de l'étudiant: inscriptions, <b>notes</b>, absences...
|
||||
dans <b>tous les semestres</b> qu'il a fréquenté.
|
||||
</p>
|
||||
<p>Dans la plupart des cas, vous avez seulement besoin de le <ul>désinscrire</ul>
|
||||
d'un semestre ? (dans ce cas passez par sa fiche, menu associé au semestre)</p>
|
||||
|
||||
<p><a href="ficheEtud?etudid=%(etudid)s">Vérifier la fiche de %(nomprenom)s</a>
|
||||
</p>"""
|
||||
% etud,
|
||||
<p><a href="{fiche_url}">Vérifier la fiche de {e[nomprenom]}</a>
|
||||
</p>""".format(
|
||||
e=etud,
|
||||
fiche_url=url_for(
|
||||
"scolar.ficheEtud", scodoc_dept=g.scodoc_dept, etudid=etudid
|
||||
),
|
||||
),
|
||||
dest_url="",
|
||||
REQUEST=REQUEST,
|
||||
cancel_url="ficheEtud?etudid=%s" % etudid,
|
||||
cancel_url=url_for(
|
||||
"scolar.ficheEtud", scodoc_dept=g.scodoc_dept, etudid=etudid
|
||||
),
|
||||
OK="Supprimer définitivement cet étudiant",
|
||||
parameters={"etudid": etudid},
|
||||
)
|
||||
@ -1583,8 +1613,16 @@ def check_group_apogee(
|
||||
mailstat = "inconnu"
|
||||
nmailmissing += 1
|
||||
H.append(
|
||||
'<tr><td><a href="ficheEtud?etudid=%s">%s</a></td><td>%s</td><td>%s</td><td>%s</td><td>%s</td><td>%s</td></tr>'
|
||||
% (etudid, nom, nom_usuel, prenom, mailstat, code_nip, info_apogee)
|
||||
'<tr><td><a href="%s">%s</a></td><td>%s</td><td>%s</td><td>%s</td><td>%s</td><td>%s</td></tr>'
|
||||
% (
|
||||
url_for("scolar.ficheEtud", scodoc_dept=g.scodoc_dept, etudid=etudid),
|
||||
nom,
|
||||
nom_usuel,
|
||||
prenom,
|
||||
mailstat,
|
||||
code_nip,
|
||||
info_apogee,
|
||||
)
|
||||
)
|
||||
H.append("</table>")
|
||||
H.append("<ul>")
|
||||
|
Loading…
Reference in New Issue
Block a user