forked from ScoDoc/ScoDoc
Fixes: trombino_copy_photos, import fichiers associés
This commit is contained in:
parent
5ab0dec6af
commit
7f92a21b53
@ -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 = [
|
||||||
|
@ -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(
|
||||||
"%", "%%"
|
"%", "%%"
|
||||||
|
@ -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"
|
||||||
|
@ -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]
|
||||||
|
|
||||||
|
@ -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"]:
|
||||||
|
@ -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"
|
||||||
|
@ -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")
|
||||||
|
@ -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)
|
||||||
|
@ -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)
|
||||||
|
Loading…
Reference in New Issue
Block a user