Test de comparaison des logins
This commit is contained in:
@ -1,5 +1,43 @@
|
|||||||
|
diff --git usr/lib/python3/dist-packages/bin/importation_scribe usr/lib/python3/dist-packages/bin/importation_scribe
|
||||||
|
index 0db4982..76453df 100755
|
||||||
|
--- usr/lib/python3/dist-packages/bin/importation_scribe
|
||||||
|
+++ usr/lib/python3/dist-packages/bin/importation_scribe
|
||||||
|
@@ -49,7 +49,7 @@ from os.path import isfile, dirname
|
||||||
|
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.ldapconf import SUPPORT_ETAB, BRANCHE_ETAB, PROF_FILTER
|
||||||
|
from scribe.eoletools import nscd_start, nscd_stop
|
||||||
|
from scribe.parsing import sconet, aaf, be1d, scribecsv2
|
||||||
|
from scribe.importation import preferences, writer, config
|
||||||
|
@@ -465,6 +465,9 @@ class Console:
|
||||||
|
prefs = preferences.get_enseignants_prefs()
|
||||||
|
etab = prefs.get_default('etab')
|
||||||
|
etab_prefix = prefs.get_default('etab_prefix')
|
||||||
|
+ branche_etab = BRANCHE_ETAB % etab
|
||||||
|
+ purge_option = 'keep'
|
||||||
|
+ old_logins = connexion._search(PROF_FILTER, 'uid', suffix=branche_etab)
|
||||||
|
else:
|
||||||
|
etab = None
|
||||||
|
etab_prefix = ''
|
||||||
|
@@ -476,8 +479,13 @@ class Console:
|
||||||
|
etab=etab, etab_prefix=etab_prefix)
|
||||||
|
writer.verify_option(store=self.store, connexion=connexion,
|
||||||
|
etab_prefix=etab_prefix)
|
||||||
|
- writer.write_enseignant(store=self.store, connexion=connexion,
|
||||||
|
+ logins = writer.write_enseignant(store=self.store, connexion=connexion,
|
||||||
|
etab=etab)
|
||||||
|
+ if SUPPORT_ETAB:
|
||||||
|
+ print(logins)
|
||||||
|
+ print(old_logins)
|
||||||
|
+ print(set(old_logins).difference(set(logins)))
|
||||||
|
+
|
||||||
|
if self.data_type in ['sconet', 'aaf']:
|
||||||
|
writer.write_service(store=self.store, connexion=connexion,
|
||||||
|
etab=etab, etab_prefix=etab_prefix)
|
||||||
diff --git usr/lib/python3/dist-packages/scribe/importation/writer.py usr/lib/python3/dist-packages/scribe/importation/writer.py
|
diff --git usr/lib/python3/dist-packages/scribe/importation/writer.py usr/lib/python3/dist-packages/scribe/importation/writer.py
|
||||||
index 34ce0fb..1f7ea1a 100644
|
index 34ce0fb..40865d5 100644
|
||||||
--- usr/lib/python3/dist-packages/scribe/importation/writer.py
|
--- usr/lib/python3/dist-packages/scribe/importation/writer.py
|
||||||
+++ usr/lib/python3/dist-packages/scribe/importation/writer.py
|
+++ usr/lib/python3/dist-packages/scribe/importation/writer.py
|
||||||
@@ -841,9 +841,6 @@ def _maj_enseignant(enseignant, user, login, etab, administratif=False):
|
@@ -841,9 +841,6 @@ def _maj_enseignant(enseignant, user, login, etab, administratif=False):
|
||||||
@ -12,7 +50,15 @@ index 34ce0fb..1f7ea1a 100644
|
|||||||
for joint in enseignant.get_classes():
|
for joint in enseignant.get_classes():
|
||||||
groups.append('profs-%s' % str(joint.classe.nom))
|
groups.append('profs-%s' % str(joint.classe.nom))
|
||||||
if joint.profprincipal:
|
if joint.profprincipal:
|
||||||
@@ -900,10 +897,10 @@ def write_enseignant(store, connexion, etab=None, current_ead_user=config.DEFAUL
|
@@ -881,6 +878,7 @@ def write_enseignant(store, connexion, etab=None, current_ead_user=config.DEFAUL
|
||||||
|
insertion des enseignants
|
||||||
|
"""
|
||||||
|
num = 0
|
||||||
|
+ logins = []
|
||||||
|
log.infolog("Intégration des enseignants...", title=True)
|
||||||
|
log.write_header(config.ENS_HEADER, config.ENS_INFO)
|
||||||
|
user = LdapEnseignant()
|
||||||
|
@@ -900,10 +898,10 @@ def write_enseignant(store, connexion, etab=None, current_ead_user=config.DEFAUL
|
||||||
else:
|
else:
|
||||||
login = ''
|
login = ''
|
||||||
else:
|
else:
|
||||||
@ -25,7 +71,15 @@ index 34ce0fb..1f7ea1a 100644
|
|||||||
else:
|
else:
|
||||||
# nouvel enseignant
|
# nouvel enseignant
|
||||||
if str(enseignant.nom) == '' or str(enseignant.prenom) == '':
|
if str(enseignant.nom) == '' or str(enseignant.prenom) == '':
|
||||||
@@ -923,6 +920,9 @@ def write_enseignant(store, connexion, etab=None, current_ead_user=config.DEFAUL
|
@@ -916,6 +914,7 @@ def write_enseignant(store, connexion, etab=None, current_ead_user=config.DEFAUL
|
||||||
|
continue
|
||||||
|
# enregistrement du login attribué
|
||||||
|
enseignant.login = str(login)
|
||||||
|
+ logins.append(enseignant.login)
|
||||||
|
num += 1
|
||||||
|
if num % config.DEBUG_NUM == 0:
|
||||||
|
log.debuglog("%d enseignants traités..." % num)
|
||||||
|
@@ -923,8 +922,12 @@ def write_enseignant(store, connexion, etab=None, current_ead_user=config.DEFAUL
|
||||||
_sync_passwords(user, new_passwords, change_pwd=change_pwd)
|
_sync_passwords(user, new_passwords, change_pwd=change_pwd)
|
||||||
_create_dirs(user, quota, new_passwords)
|
_create_dirs(user, quota, new_passwords)
|
||||||
log.infolog("TOTAL : %d enseignants" % num)
|
log.infolog("TOTAL : %d enseignants" % num)
|
||||||
@ -34,8 +88,11 @@ index 34ce0fb..1f7ea1a 100644
|
|||||||
+ #user.ldap_admin._search(PROF_FILTER, attrlist=['uid'], suffix=branche_etab % {'etab': etab})
|
+ #user.ldap_admin._search(PROF_FILTER, attrlist=['uid'], suffix=branche_etab % {'etab': etab})
|
||||||
if num != 0:
|
if num != 0:
|
||||||
log.copy_info(config.ENS_INFO, user=current_ead_user)
|
log.copy_info(config.ENS_INFO, user=current_ead_user)
|
||||||
|
+ return logins
|
||||||
|
|
||||||
@@ -1027,7 +1027,7 @@ def write_administratif(store, connexion, etab=None, current_ead_user=config.DEF
|
|
||||||
|
# -------------------- administratifs -------------------- #
|
||||||
|
@@ -1027,7 +1030,7 @@ def write_administratif(store, connexion, etab=None, current_ead_user=config.DEF
|
||||||
# personnel existe
|
# personnel existe
|
||||||
_maj_administratif(administratif, user, login)
|
_maj_administratif(administratif, user, login)
|
||||||
else:
|
else:
|
||||||
@ -45,19 +102,19 @@ index 34ce0fb..1f7ea1a 100644
|
|||||||
# le personnel a été crée comme un professeur...
|
# le personnel a été crée comme un professeur...
|
||||||
log.infolog("(%s a un compte enseignant)" % login)
|
log.infolog("(%s a un compte enseignant)" % login)
|
||||||
diff --git usr/lib/python3/dist-packages/scribe/linker.py usr/lib/python3/dist-packages/scribe/linker.py
|
diff --git usr/lib/python3/dist-packages/scribe/linker.py usr/lib/python3/dist-packages/scribe/linker.py
|
||||||
index 71fb28d..44afa7a 100644
|
index 4cc6082..94099e9 100644
|
||||||
--- usr/lib/python3/dist-packages/scribe/linker.py
|
--- usr/lib/python3/dist-packages/scribe/linker.py
|
||||||
+++ usr/lib/python3/dist-packages/scribe/linker.py
|
+++ usr/lib/python3/dist-packages/scribe/linker.py
|
||||||
@@ -10,7 +10,7 @@
|
@@ -10,7 +10,7 @@
|
||||||
et l'annuaire ldap
|
et l'annuaire ldap
|
||||||
"""
|
"""
|
||||||
from scribe.ldapconf import ELEVE_FILTER, PROF_FILTER, ADMINISTRATIF_FILTER, \
|
from scribe.ldapconf import ELEVE_FILTER, PROF_FILTER, ADMINISTRATIF_FILTER, \
|
||||||
-RESPONSABLE_FILTER, USER_FILTER, AUTRE_FILTER
|
-RESPONSABLE_FILTER, USER_FILTER, AUTRE_FILTER, LDAP_MODE
|
||||||
+RESPONSABLE_FILTER, USER_FILTER, AUTRE_FILTER, BRANCHE_ETAB
|
+RESPONSABLE_FILTER, USER_FILTER, AUTRE_FILTER, LDAP_MODE, BRANCHE_ETAB
|
||||||
from scribe.eoletools import deformate_date, strip_adresse
|
from scribe.eoletools import deformate_date, strip_adresse
|
||||||
from scribe.eoleldap import Ldap
|
from scribe.eoleldap import Ldap
|
||||||
|
|
||||||
@@ -99,7 +99,7 @@ def _responsable_exists(responsable, user):
|
@@ -103,7 +103,7 @@ def _responsable_exists(responsable, user):
|
||||||
return res['uid'][0]
|
return res['uid'][0]
|
||||||
return ''
|
return ''
|
||||||
|
|
||||||
@ -66,7 +123,7 @@ index 71fb28d..44afa7a 100644
|
|||||||
"""
|
"""
|
||||||
recherche si un enseignant existe déjà dans l'annuaire
|
recherche si un enseignant existe déjà dans l'annuaire
|
||||||
enseignant : storage.Enseignant()
|
enseignant : storage.Enseignant()
|
||||||
@@ -129,8 +129,12 @@ def _enseignant_exists(enseignant, user):
|
@@ -133,8 +133,12 @@ def _enseignant_exists(enseignant, user):
|
||||||
# beurk (homonymes) -> à améliorer
|
# beurk (homonymes) -> à améliorer
|
||||||
#filtres.append("(&%s(cn=%s %s)(objectClass=enseignant))" % (USER_FILTER,
|
#filtres.append("(&%s(cn=%s %s)(objectClass=enseignant))" % (USER_FILTER,
|
||||||
# str(enseignant.prenom), str(enseignant.nom)))
|
# str(enseignant.prenom), str(enseignant.nom)))
|
||||||
|
Reference in New Issue
Block a user