Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
S
SCODOC_R6A06
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
GitLab community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Paul Milleville
SCODOC_R6A06
Commits
faf09af6
Commit
faf09af6
authored
Sep 8, 2024
by
Emmanuel Viennet
Browse files
Options
Downloads
Patches
Plain Diff
Tableaux recap: corrige nb UE validables en BUT selon parcours. Fix #987
parent
495aac82
No related branches found
No related tags found
No related merge requests found
Changes
3
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
app/scodoc/sco_recapcomplet.py
+1
-0
1 addition, 0 deletions
app/scodoc/sco_recapcomplet.py
app/static/css/scodoc.css
+8
-0
8 additions, 0 deletions
app/static/css/scodoc.css
app/tables/recap.py
+35
-15
35 additions, 15 deletions
app/tables/recap.py
with
44 additions
and
15 deletions
app/scodoc/sco_recapcomplet.py
+
1
−
0
View file @
faf09af6
...
@@ -260,6 +260,7 @@ def formsemestre_recapcomplet(
...
@@ -260,6 +260,7 @@ def formsemestre_recapcomplet(
<div><tt>=</tt></div><div>UE dispensée</div>
<div><tt>=</tt></div><div>UE dispensée</div>
<div><tt>nan</tt></div><div>valeur non disponible</div>
<div><tt>nan</tt></div><div>valeur non disponible</div>
<div>📍</div><div>code jury non enregistré</div>
<div>📍</div><div>code jury non enregistré</div>
<div><span class=
"
ue_hors_parcours
"
>12.34</span></div><div>UE hors parcours</div>
</div>
</div>
</div>
</div>
"""
"""
...
...
This diff is collapsed.
Click to expand it.
app/static/css/scodoc.css
+
8
−
0
View file @
faf09af6
...
@@ -4636,6 +4636,14 @@ table.table_recap tr.selected td.moy_ue_warning {
...
@@ -4636,6 +4636,14 @@ table.table_recap tr.selected td.moy_ue_warning {
color
:
rgb
(
255
,
0
,
0
);
color
:
rgb
(
255
,
0
,
0
);
}
}
table
.table_recap
td
.ue_hors_parcours
a
,
table
.table_recap
tr
.selected
td
.ue_hors_parcours
a
,
span
.ue_hors_parcours
{
color
:
purple
;
font-style
:
italic
;
font-weight
:
bold
;
}
table
.table_recap
td
.cap
table
.table_recap
td
.col_ues_validables
{
table
.table_recap
td
.cap
table
.table_recap
td
.col_ues_validables
{
white-space
:
nowrap
;
white-space
:
nowrap
;
font-style
:
normal
!important
;
font-style
:
normal
!important
;
...
...
This diff is collapsed.
Click to expand it.
app/tables/recap.py
+
35
−
15
View file @
faf09af6
...
@@ -666,11 +666,21 @@ class RowRecap(tb.Row):
...
@@ -666,11 +666,21 @@ class RowRecap(tb.Row):
if
res
.
is_apc
if
res
.
is_apc
else
"
Moyenne générale du semestre
"
else
"
Moyenne générale du semestre
"
)
)
self
.
add_ues_cols
(
ues_sans_bonus
)
# --- Moyenne d'UE
def
add_ues_cols
(
self
,
ues_sans_bonus
:
list
[
UniteEns
]):
"""
Ajout des colonnes concernant les UEs
- pour chaque UE :
- sa moyenne (et son code en mode jury)
- les moyennes de modules dans l
'
UE
- la colonne UEs avec le nombre d
'
UEs validables
"""
etudid
=
self
.
etud
.
id
table
:
TableRecap
=
self
.
table
res
=
table
.
res
self
.
nb_ues_validables
,
self
.
nb_ues_warning
=
0
,
0
self
.
nb_ues_validables
,
self
.
nb_ues_warning
=
0
,
0
for
ue
in
ues_sans_bonus
:
for
ue
in
ues_sans_bonus
:
ue_status
=
res
.
get_etud_ue_status
(
etud
.
id
,
ue
.
id
)
ue_status
=
res
.
get_etud_ue_status
(
etudid
,
ue
.
id
)
if
ue_status
is
not
None
:
if
ue_status
is
not
None
:
self
.
add_ue_cols
(
ue
,
ue_status
)
self
.
add_ue_cols
(
ue
,
ue_status
)
if
table
.
mode_jury
:
if
table
.
mode_jury
:
...
@@ -679,7 +689,7 @@ class RowRecap(tb.Row):
...
@@ -679,7 +689,7 @@ class RowRecap(tb.Row):
# Bonus (sport) dans cette UE ?
# Bonus (sport) dans cette UE ?
# Le bonus sport appliqué sur cette UE
# Le bonus sport appliqué sur cette UE
if
(
res
.
bonus_ues
is
not
None
)
and
(
ue
.
id
in
res
.
bonus_ues
):
if
(
res
.
bonus_ues
is
not
None
)
and
(
ue
.
id
in
res
.
bonus_ues
):
val
=
res
.
bonus_ues
[
ue
.
id
][
etud
.
id
]
or
""
val
=
res
.
bonus_ues
[
ue
.
id
][
etudid
]
or
""
val_fmt
=
val_fmt_html
=
table
.
fmt_note
(
val
)
val_fmt
=
val_fmt_html
=
table
.
fmt_note
(
val
)
if
val
:
if
val
:
val_fmt_html
=
f
"""
<span class=
"
green-arrow-up
"
></span><span class=
"
sp2l
"
>
{
val_fmt_html
=
f
"""
<span class=
"
green-arrow-up
"
></span><span class=
"
sp2l
"
>
{
...
@@ -696,7 +706,7 @@ class RowRecap(tb.Row):
...
@@ -696,7 +706,7 @@ class RowRecap(tb.Row):
# Les moyennes des modules (ou ressources et SAÉs) dans cette UE
# Les moyennes des modules (ou ressources et SAÉs) dans cette UE
self
.
add_ue_modimpls_cols
(
ue
,
ue_status
[
"
is_capitalized
"
])
self
.
add_ue_modimpls_cols
(
ue
,
ue_status
[
"
is_capitalized
"
])
self
.
nb_ues_etud_parcours
=
len
(
res
.
etud_parcours_ues_ids
(
etud
.
id
))
self
.
nb_ues_etud_parcours
=
len
(
res
.
etud_parcours_ues_ids
(
etudid
))
ue_valid_txt
=
ue_valid_txt_html
=
(
ue_valid_txt
=
ue_valid_txt_html
=
(
f
"
{
self
.
nb_ues_validables
}
/
{
self
.
nb_ues_etud_parcours
}
"
f
"
{
self
.
nb_ues_validables
}
/
{
self
.
nb_ues_etud_parcours
}
"
)
)
...
@@ -705,7 +715,7 @@ class RowRecap(tb.Row):
...
@@ -705,7 +715,7 @@ class RowRecap(tb.Row):
cell_class
=
""
cell_class
=
""
if
self
.
nb_ues_warning
:
if
self
.
nb_ues_warning
:
cell_class
=
"
moy_ue_warning
"
cell_class
=
"
moy_ue_warning
"
elif
self
.
nb_ues_validables
<
len
(
ues_sans_bonus
):
elif
self
.
nb_ues_validables
<
self
.
nb_ues_etud_parcours
:
#
len(ues_sans_bonus):
cell_class
=
"
moy_inf
"
cell_class
=
"
moy_inf
"
self
.
add_cell
(
self
.
add_cell
(
"
ues_validables
"
,
"
ues_validables
"
,
...
@@ -719,7 +729,7 @@ class RowRecap(tb.Row):
...
@@ -719,7 +729,7 @@ class RowRecap(tb.Row):
)
)
def
add_ue_cols
(
self
,
ue
:
UniteEns
,
ue_status
:
dict
,
col_group
:
str
=
None
):
def
add_ue_cols
(
self
,
ue
:
UniteEns
,
ue_status
:
dict
,
col_group
:
str
=
None
):
"
Ajoute résultat UE au row (colonne col_ue)
"
"
Ajoute résultat
d
'
une
UE au row (colonne col_ue)
"
# sous-classé par JuryRow pour ajouter les codes
# sous-classé par JuryRow pour ajouter les codes
table
:
TableRecap
=
self
.
table
table
:
TableRecap
=
self
.
table
formsemestre
:
FormSemestre
=
table
.
res
.
formsemestre
formsemestre
:
FormSemestre
=
table
.
res
.
formsemestre
...
@@ -732,26 +742,36 @@ class RowRecap(tb.Row):
...
@@ -732,26 +742,36 @@ class RowRecap(tb.Row):
if
(
self
.
etud
.
id
,
ue
.
id
)
not
in
table
.
res
.
dispense_ues
if
(
self
.
etud
.
id
,
ue
.
id
)
not
in
table
.
res
.
dispense_ues
else
"
=
"
else
"
=
"
)
)
note_classes
=
[]
cell_classes
=
[]
# Cette UE est-elle dans le parcours de l'étudiant (dans ce semestre) ?
ue_hors_parcours
=
ue
.
id
not
in
self
.
table
.
res
.
etud_parcours_ues_ids
(
self
.
etud
.
id
)
target_attrs
=
{}
# pour décorer la cellule (bulle)
if
isinstance
(
val
,
float
):
if
isinstance
(
val
,
float
):
if
val
<
table
.
barre_moy
:
if
val
<
table
.
barre_moy
:
note
_classes
=
[
"
moy_inf
"
]
cell
_classes
=
[
"
moy_inf
"
]
elif
val
>=
table
.
barre_valid_ue
:
elif
val
>=
table
.
barre_valid_ue
:
note_classes
=
[
"
moy_ue_valid
"
]
cell_classes
=
[
"
moy_ue_valid
"
]
if
not
ue_hors_parcours
:
self
.
nb_ues_validables
+=
1
self
.
nb_ues_validables
+=
1
if
val
<
table
.
barre_warning_ue
:
if
val
<
table
.
barre_warning_ue
:
note
_classes
=
[
"
moy_ue_warning
"
]
# notes très basses
cell
_classes
=
[
"
moy_ue_warning
"
]
# notes très basses
self
.
nb_ues_warning
+=
1
self
.
nb_ues_warning
+=
1
if
ue_status
[
"
is_capitalized
"
]:
if
ue_status
[
"
is_capitalized
"
]:
note_classes
.
append
(
"
ue_capitalized
"
)
cell_classes
.
append
(
"
ue_capitalized
"
)
if
ue_hors_parcours
:
cell_classes
.
append
(
"
ue_hors_parcours
"
)
target_attrs
[
"
title
"
]
=
"
UE hors du parcours actuel de l
'
étudiant
"
self
.
add_cell
(
self
.
add_cell
(
col_id
,
col_id
,
ue
.
acronyme
,
ue
.
acronyme
,
table
.
fmt_note
(
val
),
table
.
fmt_note
(
val
),
group
=
col_group
or
f
"
col_ue_
{
ue
.
id
}
"
,
group
=
col_group
or
f
"
col_ue_
{
ue
.
id
}
"
,
classes
=
note
_classes
,
classes
=
cell
_classes
,
column_classes
=
{
f
"
col_ue_
{
ue
.
id
}
"
,
"
col_moy_ue
"
,
"
col_ue
"
},
column_classes
=
{
f
"
col_ue_
{
ue
.
id
}
"
,
"
col_moy_ue
"
,
"
col_ue
"
},
target_attrs
=
target_attrs
,
)
)
table
.
foot_title_row
.
cells
[
col_id
].
target_attrs
[
table
.
foot_title_row
.
cells
[
col_id
].
target_attrs
[
"
title
"
"
title
"
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
sign in
to comment