1
0
forked from ScoDoc/ScoDoc
This commit is contained in:
Emmanuel Viennet 2024-09-02 10:36:01 +02:00
commit 5336913ba5
7 changed files with 56 additions and 39 deletions

2
.gitignore vendored
View File

@ -175,7 +175,7 @@ Thumbs.db
copy
# Symlinks static ScoDoc
app/static/links/[0-9]*.*[0-9]
app/static/links/[0-9]*.*
# Essais locaux
xp/

View File

@ -255,7 +255,7 @@ class ScoSMTPHandler(SMTPHandler):
return subject
class ReverseProxied(object):
class ReverseProxied:
"""Adaptateur wsgi qui nous permet d'avoir toutes les URL calculées en https
sauf quand on est en dev.
La variable HTTP_X_FORWARDED_PROTO est positionnée par notre config nginx"""
@ -649,8 +649,6 @@ def scodoc_flash_status_messages():
def critical_error(msg):
"""Handle a critical error: flush all caches, display message to the user"""
import app.scodoc.sco_utils as scu
log(f"\n*** CRITICAL ERROR: {msg}")
subject = f"CRITICAL ERROR: {msg}".strip()[:68]
send_scodoc_alarm(subject, msg)

View File

@ -958,7 +958,10 @@ du programme" (menu "Semestre") si vous avez un semestre en cours);
</div>
"""
)
H.append("<p><ul>")
H.append(
"""<div class="scobox formation-actions">
<ul>"""
)
if has_perm_change:
H.append(
f"""
@ -971,7 +974,7 @@ du programme" (menu "Semestre") si vous avez un semestre en cours);
"""
)
if not len(formsemestres):
if formsemestres:
H.append(
f"""
<li><a class="stdlink" href="{
@ -1019,38 +1022,46 @@ du programme" (menu "Semestre") si vous avez un semestre en cours);
}">Liste détaillée des modules de la formation</a> (debug)
</li>
</ul>
</p>"""
</div>
"""
)
if has_perm_change:
H.append(
if has_perm_change or current_user.has_permission(Permission.EditFormSemestre):
H.append("""<div class="scobox">""")
if has_perm_change and len(formsemestres):
H.append(
"""
<div class="scobox-title">
<a name="sems">Semestres ou sessions de cette formation</a>
</div>
"""
<h3> <a name="sems">Semestres ou sessions de cette formation</a></h3>
<p><ul>"""
)
for formsemestre in formsemestres:
H.append(f"""<li>{formsemestre.html_link_status()}""")
if not formsemestre.etat:
H.append(" [verrouillé]")
else:
H.append(
f""" &nbsp;<a class="stdlink" href="{url_for("notes.formsemestre_editwithmodules",
scodoc_dept=g.scodoc_dept, formsemestre_id=formsemestre.id
)}">Modifier</a>"""
)
H.append("</li>")
H.append("</ul>")
)
if current_user.has_permission(Permission.EditFormSemestre):
H.append(
f"""<ul>
<li><b><a class="stdlink" href="{
url_for('notes.formsemestre_createwithmodules', scodoc_dept=g.scodoc_dept,
formation_id=formation_id, semestre_id=1)
}">Mettre en place un nouveau semestre de formation {formation.acronyme}</a></b>
</li>
</ul>"""
)
# <li>(debug) <a class="stdlink" href="check_form_integrity?formation_id=%(formation_id)s">Vérifier cohérence</a></li>
H.append("<ul>")
for formsemestre in formsemestres:
H.append(f"""<li>{formsemestre.html_link_status()}""")
if not formsemestre.etat:
H.append(" [verrouillé]")
else:
H.append(
f""" &nbsp;<a class="stdlink"
href="{url_for("notes.formsemestre_editwithmodules",
scodoc_dept=g.scodoc_dept, formsemestre_id=formsemestre.id
)}">Modifier</a>"""
)
H.append("</li>")
H.append("</ul>")
if current_user.has_permission(Permission.EditFormSemestre):
H.append(
f"""<ul>
<li><b><a class="stdlink" href="{
url_for('notes.formsemestre_createwithmodules', scodoc_dept=g.scodoc_dept,
formation_id=formation_id, semestre_id=1)
}">Mettre en place un nouveau semestre de formation {formation.acronyme}</a></b>
</li>
</ul>"""
)
H.append("</div>")
warn, _ = sco_formsemestre_validation.check_formation_ues(formation)
H.append(warn)
@ -1128,7 +1139,9 @@ def _ue_table_ues(
scodoc_dept=g.scodoc_dept,
ue_id=ue["ue_id"],
)
ue["code_apogee_str"] = f""", Apo: <span
ue[
"code_apogee_str"
] = f""", Apo: <span
class="{klass}" data-url="{edit_url}" id="{ue['ue_id']}"
data-placeholder="{scu.APO_MISSING_CODE_STR}">{
ue["code_apogee"] or ""

View File

@ -1697,6 +1697,7 @@ h2.formsemestre,
width: 100%;
padding-top: 5px;
padding-bottom: 10px;
margin-left: 4px;
}
.formsemestre_page_title table.semtitle td.infos table {

View File

@ -215,3 +215,7 @@ span.formation_module_ue {
span.notes_module_list_buts {
margin-right: 5px;
}
div.formation-actions li {
margin-top: 12px;
}

View File

@ -103,7 +103,7 @@
border: none;
text-transform: none;
font-weight: normal;
font-size: 12px;
font-size: 1rem;
padding: 4px 8px;
border-radius: 4px;
@ -186,6 +186,7 @@
.sco-formsemestre-menu{
margin-top: 4px;
margin-right: 16px;
}
}
@ -340,7 +341,7 @@
}
.sco-formsemestre-menu .dropdown-content .sco-formsemestre-menu-item {
padding: 0.25rem 0.5rem;
padding: 0.25rem 0.1rem;
list-style: none;
width: 100%;
display: block;

View File

@ -4,5 +4,5 @@ Architecture: amd64
Maintainer: Emmanuel Viennet <emmanuel@viennet.net>
Description: ScoDoc 9
Un logiciel pour le suivi de la scolarité universitaire.
Depends: adduser, curl, gcc, graphviz, graphviz-dev, libpq-dev, postfix|exim4, cracklib-runtime, libcrack2-dev, libpango-1.0-0, pango1.0-tools, python3-dev, python3-venv, python3-pip, python3-wheel, nginx, postgresql, libpq-dev, redis
Depends: adduser, curl, gcc, graphviz, graphviz-dev, postfix|exim4, cracklib-runtime, libcrack2-dev, libpango-1.0-0, pango1.0-tools, python3-dev, python3-venv, python3-pip, python3-wheel, nginx, postgresql, libpq-dev, redis
Recommends: ufw