diff --git a/patches.d/scribe-backend.patch b/patches.d/scribe-backend.patch index abc5b00..1fd8910 100644 --- a/patches.d/scribe-backend.patch +++ b/patches.d/scribe-backend.patch @@ -1,8 +1,8 @@ diff --git usr/bin/importation_scribe usr/bin/importation_scribe -index 0db4982..c1cb947 100755 +index 0db4982..8d1cb6f 100755 --- usr/bin/importation_scribe +++ usr/bin/importation_scribe -@@ -42,21 +42,22 @@ choix de la source de données et imports +@@ -42,20 +42,22 @@ choix de la source de données et imports - personnels administratifs - comptes invités @@ -13,9 +13,9 @@ index 0db4982..c1cb947 100755 from pyeole.process import system_out, system_code from scribe.storage import init_store from scribe.eoleldap import Ldap --from scribe.ldapconf import SUPPORT_ETAB +from scribe.eoleuser import User -+from scribe.ldapconf import SUPPORT_ETAB, PROF_FILTER, BRANCHE_ETAB ++from scribe.enseignant import Enseignant + from scribe.ldapconf import SUPPORT_ETAB from scribe.eoletools import nscd_start, nscd_stop from scribe.parsing import sconet, aaf, be1d, scribecsv2 from scribe.importation import preferences, writer, config @@ -25,8 +25,35 @@ index 0db4982..c1cb947 100755 # utilitaires de manipulation de la console class OutOfRange(Exception): - """ Exception OutOfRange """ -@@ -458,33 +459,45 @@ class Console: +@@ -198,21 +200,23 @@ def ask_administratifs_prefs(): + ask_prefs(preferences.get_administratifs_prefs()) + + def ask_invites_prefs(): + """ + préférences comptes invités + """ + print("*************************") + print("** Préférences Invités **") + print("*************************") + print() +- ask_prefs(preferences.get_invites_prefs()) ++ prefs = preferences.get_invites_prefs() ++ if not isfile(prefs): ++ ask_prefs(preferences.get_invites_prefs()) + + + #______________________________________________________________________________ + + class Console: + """ + Questions à utiliser en mode console + """ + def __init__(self): + +@@ -455,36 +459,49 @@ class Console: + def do_write_enseignant(self): + """ + écriture des enseignants """ log.add_lock() log.debuglog("Arrêt de LSC...", title=True) @@ -34,13 +61,14 @@ index 0db4982..c1cb947 100755 connexion = Ldap() connexion.connect() if SUPPORT_ETAB: ++ enseignant = Enseignant() ++ enseignant.ldap_admin = connexion prefs = preferences.get_enseignants_prefs() etab = prefs.get_default('etab') etab_prefix = prefs.get_default('etab_prefix') -+ purge_option = 'keep' -+ suffix=BRANCHE_ETAB % {'etab': etab} -+ old_logins = connexion._search('(&{})'.format(PROF_FILTER), 'uid', suffix=suffix) -+ ++ old_logins = connexion._search(f'(&(objectClass=eolegroupe)(type=etablissement)(cn={etab}))', ['memberUid']) ++ if old_logins: ++ old_logins = [ol for ol in old_logins[1].get('memberUid', []) if enseignant._is_enseignant(ol)] else: etab = None etab_prefix = ''