fix: import etudiants hors semestre

This commit is contained in:
Emmanuel Viennet 2021-09-29 20:08:18 +02:00
parent 51fec2d301
commit 1f125d3a1d
4 changed files with 21 additions and 24 deletions

View File

@ -568,9 +568,8 @@ def excel_bytes_to_list(bytes_content):
return _excel_to_list(filelike) return _excel_to_list(filelike)
except: except:
raise ScoValueError( raise ScoValueError(
""" """Le fichier xlsx attendu n'est pas lisible !
scolars_import_excel_file: un contenu xlsx semble corrompu! Peut-être avez-vous fourni un fichier au mauvais format (txt, xls, ..)
peut-être avez vous fourni un fichier au mauvais format (txt, xls, ..)
""" """
) )
@ -580,8 +579,7 @@ def excel_file_to_list(filename):
return _excel_to_list(filename) return _excel_to_list(filename)
except: except:
raise ScoValueError( raise ScoValueError(
"""scolars_import_excel_file: un contenu xlsx """Le fichier xlsx attendu n'est pas lisible !
semble corrompu !
Peut-être avez-vous fourni un fichier au mauvais format (txt, xls, ...) Peut-être avez-vous fourni un fichier au mauvais format (txt, xls, ...)
""" """
) )

View File

@ -25,16 +25,16 @@
# #
############################################################################## ##############################################################################
""" Importation des etudiants à partir de fichiers CSV """ Importation des étudiants à partir de fichiers CSV
""" """
import collections import collections
import io
import os import os
import re import re
import time import time
from datetime import date from datetime import date
import flask
from flask import g, url_for from flask import g, url_for
import app.scodoc.sco_utils as scu import app.scodoc.sco_utils as scu
@ -252,7 +252,7 @@ def students_import_excel(
def scolars_import_excel_file( def scolars_import_excel_file(
datafile, datafile: io.BytesIO,
formsemestre_id=None, formsemestre_id=None,
check_homonyms=True, check_homonyms=True,
require_ine=False, require_ine=False,
@ -414,8 +414,7 @@ def scolars_import_excel_file(
if NbHomonyms: if NbHomonyms:
NbImportedHomonyms += 1 NbImportedHomonyms += 1
# Insert in DB tables # Insert in DB tables
formsemestre_to_invalidate.add( formsemestre_id_etud = _import_one_student(
_import_one_student(
cnx, cnx,
formsemestre_id, formsemestre_id,
values, values,
@ -424,7 +423,6 @@ def scolars_import_excel_file(
created_etudids, created_etudids,
linenum, linenum,
) )
)
# Verification proportion d'homonymes: si > 10%, abandonne # Verification proportion d'homonymes: si > 10%, abandonne
log("scolars_import_excel_file: detected %d homonyms" % NbImportedHomonyms) log("scolars_import_excel_file: detected %d homonyms" % NbImportedHomonyms)
@ -522,7 +520,7 @@ def _import_one_student(
annee_courante, annee_courante,
created_etudids, created_etudids,
linenum, linenum,
): ) -> int:
""" """
Import d'un étudiant et inscription dans le semestre. Import d'un étudiant et inscription dans le semestre.
Return: id du semestre dans lequel il a été inscrit. Return: id du semestre dans lequel il a été inscrit.
@ -566,7 +564,7 @@ def _import_one_student(
) )
do_formsemestre_inscription_with_modules( do_formsemestre_inscription_with_modules(
args["formsemestre_id"], int(args["formsemestre_id"]),
etudid, etudid,
group_ids, group_ids,
etat="I", etat="I",

View File

@ -1757,6 +1757,7 @@ def check_group_apogee(group_id, etat=None, fix=False, fixmail=False):
@scodoc7func @scodoc7func
def form_students_import_excel(formsemestre_id=None): def form_students_import_excel(formsemestre_id=None):
"formulaire import xls" "formulaire import xls"
formsemestre_id = int(formsemestre_id) if formsemestre_id else None
if formsemestre_id: if formsemestre_id:
sem = sco_formsemestre.get_formsemestre(formsemestre_id) sem = sco_formsemestre.get_formsemestre(formsemestre_id)
dest_url = ( dest_url = (
@ -1889,7 +1890,7 @@ Les champs avec un astérisque (*) doivent être présents (nulls non autorisés
else: else:
return sco_import_etuds.students_import_excel( return sco_import_etuds.students_import_excel(
tf[2]["csvfile"], tf[2]["csvfile"],
formsemestre_id=formsemestre_id, formsemestre_id=int(formsemestre_id) if formsemestre_id else None,
check_homonyms=tf[2]["check_homonyms"], check_homonyms=tf[2]["check_homonyms"],
require_ine=tf[2]["require_ine"], require_ine=tf[2]["require_ine"],
) )

View File

@ -1,7 +1,7 @@
# -*- mode: python -*- # -*- mode: python -*-
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
SCOVERSION = "9.0.44" SCOVERSION = "9.0.45"
SCONAME = "ScoDoc" SCONAME = "ScoDoc"