Fixes: trombino_copy_photos, import fichiers associés

This commit is contained in:
Emmanuel Viennet 2021-09-08 00:34:45 +02:00
parent 5ab0dec6af
commit 7f92a21b53
9 changed files with 24 additions and 30 deletions

View File

@ -313,7 +313,7 @@ def do_formsemestre_archive(
# tous les inscrits du semestre # tous les inscrits du semestre
group_ids = [sco_groups.get_default_group(formsemestre_id)] group_ids = [sco_groups.get_default_group(formsemestre_id)]
groups_infos = sco_groups_view.DisplayedGroupsInfos( groups_infos = sco_groups_view.DisplayedGroupsInfos(
group_ids, formsemestre_id=formsemestre_id, REQUEST=REQUEST group_ids, formsemestre_id=formsemestre_id
) )
groups_filename = "-" + groups_infos.groups_filename groups_filename = "-" + groups_infos.groups_filename
etudids = [m["etudid"] for m in groups_infos.members] etudids = [m["etudid"] for m in groups_infos.members]
@ -403,7 +403,7 @@ def formsemestre_archive(REQUEST, formsemestre_id, group_ids=[]):
# tous les inscrits du semestre # tous les inscrits du semestre
group_ids = [sco_groups.get_default_group(formsemestre_id)] group_ids = [sco_groups.get_default_group(formsemestre_id)]
groups_infos = sco_groups_view.DisplayedGroupsInfos( groups_infos = sco_groups_view.DisplayedGroupsInfos(
group_ids, formsemestre_id=formsemestre_id, REQUEST=REQUEST group_ids, formsemestre_id=formsemestre_id
) )
H = [ H = [

View File

@ -34,12 +34,12 @@
import collections import collections
import datetime import datetime
import operator import operator
import six.moves.urllib.request, six.moves.urllib.parse, six.moves.urllib.error import urllib
from urllib.parse import parse_qs from urllib.parse import parse_qs
import time import time
from flask import url_for, g from flask import url_for, g, request
import app.scodoc.sco_utils as scu import app.scodoc.sco_utils as scu
from app.scodoc import html_sco_header from app.scodoc import html_sco_header
@ -86,7 +86,6 @@ def groups_view(
group_ids, group_ids,
formsemestre_id=formsemestre_id, formsemestre_id=formsemestre_id,
etat=etat, etat=etat,
REQUEST=REQUEST,
select_all_when_unspecified=True, select_all_when_unspecified=True,
) )
# Formats spéciaux: download direct # Formats spéciaux: download direct
@ -301,7 +300,6 @@ class DisplayedGroupsInfos(object):
etat=None, etat=None,
select_all_when_unspecified=False, select_all_when_unspecified=False,
moduleimpl_id=None, # used to find formsemestre when unspecified moduleimpl_id=None, # used to find formsemestre when unspecified
REQUEST=None,
): ):
if isinstance(group_ids, int): if isinstance(group_ids, int):
if group_ids: if group_ids:
@ -334,7 +332,7 @@ class DisplayedGroupsInfos(object):
for group_id in group_ids: for group_id in group_ids:
gq.append("group_ids=" + str(group_id)) gq.append("group_ids=" + str(group_id))
self.groups_query_args = "&".join(gq) self.groups_query_args = "&".join(gq)
self.base_url = REQUEST.URL0 + "?" + self.groups_query_args self.base_url = request.base_url + "?" + self.groups_query_args
self.group_ids = group_ids self.group_ids = group_ids
self.groups = [] self.groups = []
groups_titles = [] groups_titles = []
@ -918,7 +916,7 @@ def form_choix_saisie_semaine(groups_infos, REQUEST=None):
del query_args["head_message"] del query_args["head_message"]
destination = "%s?%s" % ( destination = "%s?%s" % (
REQUEST.URL, REQUEST.URL,
six.moves.urllib.parse.urlencode(query_args, True), urllib.parse.urlencode(query_args, True),
) )
destination = destination.replace( destination = destination.replace(
"%", "%%" "%", "%%"

View File

@ -157,7 +157,6 @@ def sco_import_generate_excel_sample(
exclude_cols=[], exclude_cols=[],
extra_cols=[], extra_cols=[],
group_ids=[], group_ids=[],
REQUEST=None,
): ):
"""Generates an excel document based on format fmt """Generates an excel document based on format fmt
(format is the result of sco_import_format()) (format is the result of sco_import_format())
@ -188,7 +187,7 @@ def sco_import_generate_excel_sample(
titles += extra_cols titles += extra_cols
titlesStyles += [style] * len(extra_cols) titlesStyles += [style] * len(extra_cols)
if group_ids: if group_ids:
groups_infos = sco_groups_view.DisplayedGroupsInfos(group_ids, REQUEST=REQUEST) groups_infos = sco_groups_view.DisplayedGroupsInfos(group_ids)
members = groups_infos.members members = groups_infos.members
log( log(
"sco_import_generate_excel_sample: group_ids=%s %d members" "sco_import_generate_excel_sample: group_ids=%s %d members"

View File

@ -622,7 +622,7 @@ def formsemestre_pvjury_pdf(formsemestre_id, group_ids=[], etudid=None, REQUEST=
group_ids = [sco_groups.get_default_group(formsemestre_id)] group_ids = [sco_groups.get_default_group(formsemestre_id)]
groups_infos = sco_groups_view.DisplayedGroupsInfos( groups_infos = sco_groups_view.DisplayedGroupsInfos(
group_ids, formsemestre_id=formsemestre_id, REQUEST=REQUEST group_ids, formsemestre_id=formsemestre_id
) )
etudids = [m["etudid"] for m in groups_infos.members] etudids = [m["etudid"] for m in groups_infos.members]
@ -800,7 +800,7 @@ def formsemestre_lettres_individuelles(formsemestre_id, group_ids=[], REQUEST=No
# tous les inscrits du semestre # tous les inscrits du semestre
group_ids = [sco_groups.get_default_group(formsemestre_id)] group_ids = [sco_groups.get_default_group(formsemestre_id)]
groups_infos = sco_groups_view.DisplayedGroupsInfos( groups_infos = sco_groups_view.DisplayedGroupsInfos(
group_ids, formsemestre_id=formsemestre_id, REQUEST=REQUEST group_ids, formsemestre_id=formsemestre_id
) )
etudids = [m["etudid"] for m in groups_infos.members] etudids = [m["etudid"] for m in groups_infos.members]

View File

@ -620,7 +620,6 @@ def saisie_notes_tableur(evaluation_id, group_ids=[], REQUEST=None):
formsemestre_id=formsemestre_id, formsemestre_id=formsemestre_id,
select_all_when_unspecified=True, select_all_when_unspecified=True,
etat=None, etat=None,
REQUEST=REQUEST,
) )
H = [ H = [
@ -793,7 +792,6 @@ def feuille_saisie_notes(evaluation_id, group_ids=[], REQUEST=None):
formsemestre_id=formsemestre_id, formsemestre_id=formsemestre_id,
select_all_when_unspecified=True, select_all_when_unspecified=True,
etat=None, etat=None,
REQUEST=REQUEST,
) )
groups = sco_groups.listgroups(groups_infos.group_ids) groups = sco_groups.listgroups(groups_infos.group_ids)
gr_title_filename = sco_groups.listgroups_filename(groups) gr_title_filename = sco_groups.listgroups_filename(groups)
@ -891,7 +889,6 @@ def saisie_notes(evaluation_id, group_ids=[], REQUEST=None):
formsemestre_id=formsemestre_id, formsemestre_id=formsemestre_id,
select_all_when_unspecified=True, select_all_when_unspecified=True,
etat=None, etat=None,
REQUEST=REQUEST,
) )
if E["description"]: if E["description"]:

View File

@ -78,7 +78,7 @@ def trombino(
etat = None # may be passed as '' etat = None # may be passed as ''
# Informations sur les groupes à afficher: # Informations sur les groupes à afficher:
groups_infos = sco_groups_view.DisplayedGroupsInfos( groups_infos = sco_groups_view.DisplayedGroupsInfos(
group_ids, formsemestre_id=formsemestre_id, etat=etat, REQUEST=REQUEST group_ids, formsemestre_id=formsemestre_id, etat=etat
) )
# #
@ -247,7 +247,7 @@ def _trombino_zip(groups_infos):
# Copy photos from portal to ScoDoc # Copy photos from portal to ScoDoc
def trombino_copy_photos(group_ids=[], REQUEST=None, dialog_confirmed=False): def trombino_copy_photos(group_ids=[], REQUEST=None, dialog_confirmed=False):
"Copy photos from portal to ScoDoc (overwriting local copy)" "Copy photos from portal to ScoDoc (overwriting local copy)"
groups_infos = sco_groups_view.DisplayedGroupsInfos(group_ids, REQUEST=REQUEST) groups_infos = sco_groups_view.DisplayedGroupsInfos(group_ids)
back_url = "groups_view?%s&curtab=tab-photos" % groups_infos.groups_query_args back_url = "groups_view?%s&curtab=tab-photos" % groups_infos.groups_query_args
portal_url = sco_portal_apogee.get_portal_url() portal_url = sco_portal_apogee.get_portal_url()
@ -485,14 +485,13 @@ def photos_generate_excel_sample(group_ids=[], REQUEST=None):
"photo_filename", "photo_filename",
], ],
extra_cols=["fichier_photo"], extra_cols=["fichier_photo"],
REQUEST=REQUEST,
) )
return sco_excel.send_excel_file(REQUEST, data, "ImportPhotos" + scu.XLSX_SUFFIX) return sco_excel.send_excel_file(REQUEST, data, "ImportPhotos" + scu.XLSX_SUFFIX)
def photos_import_files_form(group_ids=[], REQUEST=None): def photos_import_files_form(group_ids=[], REQUEST=None):
"""Formulaire pour importation photos""" """Formulaire pour importation photos"""
groups_infos = sco_groups_view.DisplayedGroupsInfos(group_ids, REQUEST=REQUEST) groups_infos = sco_groups_view.DisplayedGroupsInfos(group_ids)
back_url = "groups_view?%s&curtab=tab-photos" % groups_infos.groups_query_args back_url = "groups_view?%s&curtab=tab-photos" % groups_infos.groups_query_args
H = [ H = [
@ -541,7 +540,7 @@ def photos_import_files_form(group_ids=[], REQUEST=None):
def photos_import_files(group_ids=[], xlsfile=None, zipfile=None, REQUEST=None): def photos_import_files(group_ids=[], xlsfile=None, zipfile=None, REQUEST=None):
"""Importation des photos""" """Importation des photos"""
groups_infos = sco_groups_view.DisplayedGroupsInfos(group_ids, REQUEST=REQUEST) groups_infos = sco_groups_view.DisplayedGroupsInfos(group_ids)
back_url = "groups_view?%s&curtab=tab-photos" % groups_infos.groups_query_args back_url = "groups_view?%s&curtab=tab-photos" % groups_infos.groups_query_args
filename_title = "fichier_photo" filename_title = "fichier_photo"
page_title = "Téléchargement des photos des étudiants" page_title = "Téléchargement des photos des étudiants"

View File

@ -61,7 +61,7 @@ def pdf_trombino_tours(
"""Generation du trombinoscope en fichier PDF""" """Generation du trombinoscope en fichier PDF"""
# Informations sur les groupes à afficher: # Informations sur les groupes à afficher:
groups_infos = sco_groups_view.DisplayedGroupsInfos( groups_infos = sco_groups_view.DisplayedGroupsInfos(
group_ids, formsemestre_id=formsemestre_id, REQUEST=REQUEST group_ids, formsemestre_id=formsemestre_id
) )
DeptName = sco_preferences.get_preference("DeptName") DeptName = sco_preferences.get_preference("DeptName")
@ -296,7 +296,7 @@ def pdf_feuille_releve_absences(
# Informations sur les groupes à afficher: # Informations sur les groupes à afficher:
groups_infos = sco_groups_view.DisplayedGroupsInfos( groups_infos = sco_groups_view.DisplayedGroupsInfos(
group_ids, formsemestre_id=formsemestre_id, REQUEST=REQUEST group_ids, formsemestre_id=formsemestre_id
) )
DeptName = sco_preferences.get_preference("DeptName") DeptName = sco_preferences.get_preference("DeptName")

View File

@ -312,7 +312,7 @@ def SignaleAbsenceGrHebdo(
moduleimpl_id = None moduleimpl_id = None
groups_infos = sco_groups_view.DisplayedGroupsInfos( groups_infos = sco_groups_view.DisplayedGroupsInfos(
group_ids, moduleimpl_id=moduleimpl_id, REQUEST=REQUEST group_ids, moduleimpl_id=moduleimpl_id
) )
if not groups_infos.members: if not groups_infos.members:
return ( return (
@ -474,7 +474,7 @@ def SignaleAbsenceGrSemestre(
REQUEST=None, REQUEST=None,
): ):
"""Saisie des absences sur une journée sur un semestre (ou intervalle de dates) entier""" """Saisie des absences sur une journée sur un semestre (ou intervalle de dates) entier"""
groups_infos = sco_groups_view.DisplayedGroupsInfos(group_ids, REQUEST=REQUEST) groups_infos = sco_groups_view.DisplayedGroupsInfos(group_ids)
if not groups_infos.members: if not groups_infos.members:
return ( return (
html_sco_header.sco_header(page_title="Saisie des absences") html_sco_header.sco_header(page_title="Saisie des absences")
@ -847,7 +847,7 @@ def EtatAbsencesGr(
datedebut = ndb.DateDMYtoISO(debut) datedebut = ndb.DateDMYtoISO(debut)
datefin = ndb.DateDMYtoISO(fin) datefin = ndb.DateDMYtoISO(fin)
# Informations sur les groupes à afficher: # Informations sur les groupes à afficher:
groups_infos = sco_groups_view.DisplayedGroupsInfos(group_ids, REQUEST=REQUEST) groups_infos = sco_groups_view.DisplayedGroupsInfos(group_ids)
formsemestre_id = groups_infos.formsemestre_id formsemestre_id = groups_infos.formsemestre_id
sem = groups_infos.formsemestre sem = groups_infos.formsemestre
@ -971,13 +971,11 @@ ou entrez une date pour visualiser les absents un jour donné :
@scodoc @scodoc
@permission_required(Permission.ScoView) @permission_required(Permission.ScoView)
@scodoc7func @scodoc7func
def EtatAbsencesDate( def EtatAbsencesDate(group_ids=[], date=None): # list of groups to display
group_ids=[], date=None, REQUEST=None # list of groups to display
):
# ported from dtml # ported from dtml
"""Etat des absences pour un groupe à une date donnée""" """Etat des absences pour un groupe à une date donnée"""
# Informations sur les groupes à afficher: # Informations sur les groupes à afficher:
groups_infos = sco_groups_view.DisplayedGroupsInfos(group_ids, REQUEST=REQUEST) groups_infos = sco_groups_view.DisplayedGroupsInfos(group_ids)
H = [html_sco_header.sco_header(page_title="Etat des absences")] H = [html_sco_header.sco_header(page_title="Etat des absences")]
if date: if date:
dateiso = ndb.DateDMYtoISO(date) dateiso = ndb.DateDMYtoISO(date)

View File

@ -283,7 +283,10 @@ sco_publish(
) )
sco_publish( sco_publish(
"/trombino_copy_photos", sco_trombino.trombino_copy_photos, Permission.ScoView "/trombino_copy_photos",
sco_trombino.trombino_copy_photos,
Permission.ScoView,
methods=["GET", "POST"],
) )
sco_publish("/groups_view", sco_groups_view.groups_view, Permission.ScoView) sco_publish("/groups_view", sco_groups_view.groups_view, Permission.ScoView)