forked from ScoDoc/ScoDoc
Update opolka/ScoDoc from ScoDoc/ScoDoc #2
@ -83,7 +83,6 @@ from app.models.but_validations import (
|
||||
ApcValidationRCUE,
|
||||
)
|
||||
from app.models.etudiants import Identite
|
||||
from app.models.formations import Formation
|
||||
from app.models.formsemestre import FormSemestre
|
||||
from app.models.ues import UniteEns
|
||||
from app.models.validations import ScolarFormSemestreValidation
|
||||
@ -93,7 +92,6 @@ from app.scodoc.codes_cursus import (
|
||||
code_rcue_validant,
|
||||
BUT_CODES_ORDER,
|
||||
CODES_RCUE_VALIDES,
|
||||
CODES_UE_CAPITALISANTS,
|
||||
CODES_UE_VALIDES,
|
||||
RED,
|
||||
UE_STANDARD,
|
||||
|
@ -304,9 +304,16 @@ class NotesTableCompat(ResultatsSemestre):
|
||||
)
|
||||
|
||||
def get_etud_decisions_ue(self, etudid: int) -> dict:
|
||||
"""Decisions du jury pour les UE de cet etudiant, ou None s'il n'y en pas eu.
|
||||
Ne tient pas compte des UE capitalisées.
|
||||
{ ue_id : { 'code' : ADM|CMP|AJ, 'event_date' : "d/m/y", 'ects' : x }
|
||||
"""Decisions du jury pour les UE de cet etudiant dans ce formsemestre,
|
||||
ou None s'il n'y en pas eu.
|
||||
Ne tient pas compte des UE capitalisées ou externes.
|
||||
{ ue_id : {
|
||||
'code' : ADM|CMP|AJ|ADSUP|...,
|
||||
'event_date' : "d/m/y",
|
||||
'ects' : float, nb d'ects validées dans l'UE de ce semestre.
|
||||
}
|
||||
...
|
||||
}
|
||||
Ne renvoie aucune decision d'UE pour les défaillants
|
||||
"""
|
||||
if self.get_etud_etat(etudid) == DEF:
|
||||
|
@ -50,7 +50,7 @@ def load_formsemestre_validations(formsemestre: FormSemestre) -> ValidationsSeme
|
||||
If not in cache, build it and cache it (in g).
|
||||
"""
|
||||
if not hasattr(g, "formsemestre_validation_cache"):
|
||||
g.formsemestre_validations_cache = {} # pylint: disable=C0237
|
||||
g.formsemestre_validations_cache = {}
|
||||
else:
|
||||
if formsemestre.id in g.formsemestre_validations_cache:
|
||||
return g.formsemestre_validations_cache[formsemestre.id]
|
||||
|
@ -201,8 +201,8 @@ CODES_SEM_REO = {NAR} # reorientation
|
||||
CODES_JURY_UE = {ADM, CMP, ADJ, ADJR, ADSUP, AJ, ATJ, RAT, DEF, ABAN, DEM, UEBSL}
|
||||
CODES_UE_VALIDES_DE_DROIT = {ADM, CMP} # validation "de droit"
|
||||
CODES_UE_VALIDES = CODES_UE_VALIDES_DE_DROIT | {ADJ, ADJR, ADSUP}
|
||||
"UE validée"
|
||||
CODES_UE_CAPITALISANTS = {ADM}
|
||||
"UE validée (attribution des ECTS)"
|
||||
CODES_UE_CAPITALISANTS = {ADM} # XXX non utilisé
|
||||
"UE capitalisée"
|
||||
|
||||
CODES_JURY_RCUE = {ADM, ADJ, ADSUP, CMP, AJ, ATJ, RAT, DEF, ABAN}
|
||||
|
@ -367,7 +367,7 @@ def formsemestre_validation_etud_form(
|
||||
|
||||
H.append(
|
||||
f"""<div class="link_defaillance">Ou <a class="stdlink" href="{
|
||||
url_for("scolar.form_def", scodoc_dept=g.scodoc_dept, etudid=etudid,
|
||||
url_for("scolar.form_def", scodoc_dept=g.scodoc_dept, etudid=etudid,
|
||||
formsemestre_id=formsemestre_id)
|
||||
}">déclarer l'étudiant comme défaillant dans ce semestre</a></div>"""
|
||||
)
|
||||
@ -683,7 +683,7 @@ def formsemestre_recap_parcours_table(
|
||||
# 2eme ligne: notes
|
||||
H.append(f"""<tr class="{class_sem} rcp_l2 sem_{sem["formsemestre_id"]}">""")
|
||||
H.append(
|
||||
f"""<td class="rcp_type_sem"
|
||||
f"""<td class="rcp_type_sem"
|
||||
style="background-color:{bgcolor};"> </td>"""
|
||||
)
|
||||
if is_prev:
|
||||
@ -808,7 +808,7 @@ def form_decision_manuelle(Se, formsemestre_id, etudid, desturl="", sortcol=None
|
||||
return true;
|
||||
}
|
||||
</script>
|
||||
|
||||
|
||||
<form method="get" action="formsemestre_validation_etud_manu" name="formvalidmanu" id="formvalidmanu" class="sfv_decisions sfv_decisions_manuelles" onsubmit="return check_sfv_form()">
|
||||
<input type="hidden" name="etudid" value="%s"/>
|
||||
<input type="hidden" name="formsemestre_id" value="%s"/>
|
||||
@ -1028,7 +1028,7 @@ def do_formsemestre_validation_auto(formsemestre_id):
|
||||
]
|
||||
if conflicts:
|
||||
H.append(
|
||||
f"""<p><b>Attention:</b> {len(conflicts)} étudiants non modifiés
|
||||
f"""<p><b>Attention:</b> {len(conflicts)} étudiants non modifiés
|
||||
car décisions différentes déja saisies :
|
||||
<ul>"""
|
||||
)
|
||||
@ -1190,12 +1190,16 @@ def formsemestre_validate_previous_ue(formsemestre: FormSemestre, etud: Identite
|
||||
|
||||
<p class="help">Utiliser cette page pour enregistrer des UEs validées antérieurement,
|
||||
<em>dans un semestre hors ScoDoc</em>.</p>
|
||||
<p class="expl"><b>Les UE validées dans ScoDoc sont
|
||||
automatiquement prises en compte</b>.
|
||||
<p class="expl"><b>Les UE validées dans ScoDoc sont
|
||||
automatiquement prises en compte</b>.
|
||||
</p>
|
||||
<p>Cette page est surtout utile pour les étudiants ayant
|
||||
suivi un début de cursus dans <b>un autre établissement</b>, ou qui
|
||||
suivi un début de cursus dans <b>un autre établissement</b>, ou qui
|
||||
ont suivi une UE à l'étranger ou dans un semestre géré <b>sans ScoDoc</b>.
|
||||
</>
|
||||
<p>Il est aussi nécessaire de valider les UEs antérieures en cas de changement
|
||||
de référentiel de compétence en cours de cursus (par exemple si un étudiant redouble et
|
||||
que le programme change de référentiel entre temps).
|
||||
</p>
|
||||
<p>Pour les semestres précédents gérés avec ScoDoc, passer par la page jury normale.
|
||||
</p>
|
||||
@ -1277,7 +1281,7 @@ def _get_etud_ue_cap_html(etud: Identite, formsemestre: FormSemestre) -> str:
|
||||
H = [
|
||||
f"""<div class="sco_box sco_lightgreen_bg ue_list_etud_validations">
|
||||
<div class="sco_box_title">Validations d'UEs dans cette formation</div>
|
||||
<div class="help">Liste de toutes les UEs validées par {etud.html_link_fiche()},
|
||||
<div class="help">Liste de toutes les UEs validées par {etud.html_link_fiche()},
|
||||
sur des semestres ou déclarées comme "antérieures" (externes).
|
||||
</div>
|
||||
<ul class="liste_validations">"""
|
||||
@ -1296,7 +1300,7 @@ def _get_etud_ue_cap_html(etud: Identite, formsemestre: FormSemestre) -> str:
|
||||
H.append(
|
||||
f"""
|
||||
<form class="inline-form">
|
||||
<button
|
||||
<button
|
||||
data-v_id="{validation.id}" data-type="validation_ue" data-etudid="{etud.id}"
|
||||
>effacer</button>
|
||||
</form>
|
||||
|
@ -23,7 +23,7 @@
|
||||
<div class="scoplement">
|
||||
{% if validation %}
|
||||
<div>Validation de {{niv['ue_'+sem].acronyme}}</div>
|
||||
<div>Jury de {{validation.formsemestre.titre_annee()
|
||||
<div>Jury de {{validation.formsemestre.titre_annee()
|
||||
if validation.formsemestre else "-"}}</div>
|
||||
<div>enregistrée le {{
|
||||
validation.event_date.strftime("%d/%m/%Y à %H:%M")
|
||||
@ -48,9 +48,9 @@
|
||||
<div class="parcour_formation">
|
||||
|
||||
<div class="titre_parcours">
|
||||
Validations de {{sco.etud.html_link_fiche()|safe}}
|
||||
Validations de {{sco.etud.html_link_fiche()|safe}}
|
||||
{% if parcour %}
|
||||
parcours {{parcour.code}} « {{parcour.libelle}} »
|
||||
parcours {{parcour.code}} « {{parcour.libelle}} »
|
||||
{% else %}
|
||||
non inscrit{{sco.etud.e}} à un parcours de la spécialité
|
||||
{% endif %}
|
||||
@ -64,7 +64,7 @@
|
||||
</div>
|
||||
<div class="niveaux">
|
||||
{% for annee, niv in comp['niveaux'].items() %}
|
||||
<div class="niveau comp-c{{color_idx}}-{{annee}}"
|
||||
<div class="niveau comp-c{{color_idx}}-{{annee}}"
|
||||
style="--color: var(--col-c{{color_idx}}-{{annee}});">
|
||||
<div class="titre_niveau n{{annee}}">
|
||||
<span class="parcs">
|
||||
@ -120,10 +120,10 @@
|
||||
if validation.date else "-"
|
||||
}}
|
||||
</div>
|
||||
<div>par le jury de {{validation.formsemestre.titre_annee()
|
||||
<div>par le jury de {{validation.formsemestre.titre_annee()
|
||||
if validation.formsemestre else "-"}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
@ -164,7 +164,7 @@
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
<div class="help">
|
||||
<div class="help">
|
||||
|
||||
<p>Cette page montre les validations d'UEs et de niveaux de compétences (RCUEs)
|
||||
de {{sco.etud.html_link_fiche()|safe}}
|
||||
@ -182,18 +182,26 @@ du référentiel de compétence <a class="stdlink" href="{{
|
||||
</p>
|
||||
|
||||
<p>Seuls les UEs et niveaux de ce référentiel sont montrés. Si le référentiel a
|
||||
changé, enregistrer des validations "antérieures".
|
||||
changé, <a class="stdlink" href="{{
|
||||
url_for( 'notes.formsemestre_validate_previous_ue',
|
||||
scodoc_dept=g.scodoc_dept,
|
||||
etudid=sco.etud.id,
|
||||
formsemestre_id=sco.formsemestre.id)
|
||||
}}">enregistrer des validations "antérieures"</a>.
|
||||
</p>
|
||||
|
||||
<p>Le symbole <span class="parc">TC</span> désigne un niveau du tronc commun
|
||||
(c'est à dire présent dans tous les parcours de la spécialité). </p>
|
||||
(c'est à dire présent dans tous les parcours de la spécialité). </p>
|
||||
|
||||
{% if edit %}
|
||||
<p>Les validations sont enregistrées au fur et à mesure.
|
||||
Attention, cette page permet une saisie "manuelle", la cohérence des décisions
|
||||
n'est pas vérifiée (ni avec les notes, ni avec les décisions d'UEs, ni entre
|
||||
années), et les <tt>ADSUP</tt> ne sont pas automatiquement générés. Privilégiez
|
||||
lorsque c'est possible la saisie par
|
||||
<p>Les validations sont enregistrées au fur et à mesure.</p>
|
||||
<p>
|
||||
⚠️ Attention, cette page permet une saisie "manuelle", la cohérence des décisions
|
||||
n'est pas vérifiée: ni avec les notes, ni avec les décisions d'UEs
|
||||
(qu'il vous faudra probablement saisir aussi), ni entre années.
|
||||
Les <tt>ADSUP</tt> ne sont pas automatiquement générés.
|
||||
<br>
|
||||
Privilégiez lorsque c'est possible la saisie par
|
||||
<a class="stdlink" href="{{url_for('notes.formsemestre_validation_but',
|
||||
scodoc_dept=g.scodoc_dept,
|
||||
etudid=sco.etud.id,
|
||||
@ -216,7 +224,7 @@ function record_rcue_validation(event, niveau_id) {
|
||||
etudid=sco.etud.id
|
||||
)
|
||||
}}';
|
||||
|
||||
|
||||
fetch(record_url, {
|
||||
method: 'POST',
|
||||
headers: {
|
||||
@ -244,4 +252,4 @@ function record_rcue_validation(event, niveau_id) {
|
||||
}
|
||||
</script>
|
||||
|
||||
{% endblock %}
|
||||
{% endblock %}
|
||||
|
@ -129,7 +129,7 @@ cp -p "$SCODOC_DIR"/tools/etc/scodoc9.service "$slash"/etc/systemd/system/ || di
|
||||
|
||||
# Répertoire DEBIAN
|
||||
mv "$SCODOC_DIR"/tools/debian "$slash"/DEBIAN || die "can't install DEBIAN dir"
|
||||
chmod 755 "$slash"/DEBIAN/*inst || die "can't chmod debian scripts"
|
||||
chmod 750 "$slash"/DEBIAN/*inst || die "can't chmod debian scripts"
|
||||
|
||||
# ------------ CREATION DU VIRTUALENV
|
||||
#echo "Creating python3 virtualenv..."
|
||||
|
Loading…
Reference in New Issue
Block a user