N’utiliser l’étab effectif que pour les groupes

This commit is contained in:
2025-08-19 11:45:06 +02:00
parent e7670893f2
commit 8f40d08755

View File

@ -73,10 +73,10 @@ index 0db4982..47f5c80 100755
nscd_start() nscd_start()
log.del_lock() log.del_lock()
diff --git usr/lib/python3/dist-packages/scribe/enseignants.py usr/lib/python3/dist-packages/scribe/enseignants.py diff --git usr/lib/python3/dist-packages/scribe/enseignants.py usr/lib/python3/dist-packages/scribe/enseignants.py
index 69f3411..e8c39d5 100644 index 69f3411..97bf905 100644
--- usr/lib/python3/dist-packages/scribe/enseignants.py --- usr/lib/python3/dist-packages/scribe/enseignants.py
+++ usr/lib/python3/dist-packages/scribe/enseignants.py +++ usr/lib/python3/dist-packages/scribe/enseignants.py
@@ -145,38 +145,30 @@ class Enseignant(User): @@ -145,45 +145,37 @@ class Enseignant(User):
rep = join(AD_HOME_PATH, login) rep = join(AD_HOME_PATH, login)
# répertoire supérieur # répertoire supérieur
clear_acl(rep) clear_acl(rep)
@ -111,11 +111,20 @@ index 69f3411..e8c39d5 100644
""" """
Mise à niveau Enseignant via l'extraction Mise à niveau Enseignant via l'extraction
""" """
if 'etab' in args: - if 'etab' in args:
user_dn = self.get_user_dn(login, force_etab=args.get('etab')) #USER_DN % dict(uid=login, _type=self._type) - user_dn = self.get_user_dn(login, force_etab=args.get('etab')) #USER_DN % dict(uid=login, _type=self._type)
+ if 'etab' in args: # cas multi-étab => enseignant dans une UO spécifique
+ user_dn = self.get_user_dn(login, force_etab='00000000') #USER_DN % dict(uid=login, _type=self._type)
else: else:
user_dn = self.get_user_dn(login) #USER_DN % dict(uid=login, _type=self._type) user_dn = self.get_user_dn(login) #USER_DN % dict(uid=login, _type=self._type)
datas = [] datas = []
if not_empty(args, 'mail_acad'):
datas.append((MOD_REPLACE, 'FederationKey',
args['mail_acad'].lower()))
if not_empty(args, 'int_id'):
datas.append((MOD_REPLACE, 'intid', args['int_id'] ))
if not_empty(args, 'entpersonjointure'):
datas.append((MOD_REPLACE, 'ENTPersonJointure', args['entpersonjointure']))
@@ -196,21 +188,21 @@ class Enseignant(User): @@ -196,21 +188,21 @@ class Enseignant(User):
datas.append((MOD_REPLACE, 'ENTAuxEnsCategoDiscipline', args['disciplines'])) datas.append((MOD_REPLACE, 'ENTAuxEnsCategoDiscipline', args['disciplines']))
datas.append((MOD_REPLACE, 'sn', args['nom'])) datas.append((MOD_REPLACE, 'sn', args['nom']))
@ -263,9 +272,32 @@ index 05569fd..c092698 100644
def _get_ead_type(self, login): def _get_ead_type(self, login):
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..d4a2f27 100644 index 34ce0fb..626143b 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
@@ -810,21 +810,21 @@ def _new_enseignant(enseignant, user, prefs, etab=None, new_passwords=[]):
'classe':classe,
'groups':groups,
'entlogin':False,
'disciplines':eval(enseignant.disciplines),
'entpersonjointure':str(enseignant.entpersonjointure),
# préférences générales
'quota':prefs.get_default('quota'),
'profil':prefs.get_default('profil'),
'shell':prefs.get_default('shell') == 'oui',
'change_pwd':prefs.get_default('change_pwd') == 'oui' if FORCED_PASSWORD_MODIFICATION_ALLOWED else False,
- 'etab': etab,
+ 'etab': etab if etab is None else '00000000',
'syncpassword': not EOLE_AD,
}
# création de l'enseignant
user._add(**my_enseignant)
info = "%(nom)s;%(prenom)s;%(login)s;%(password)s"
log.write_info(info % my_enseignant, config.ENS_INFO)
if EOLE_AD:
new_passwords.append((login, password))
return login
@@ -832,25 +832,26 @@ def _maj_enseignant(enseignant, user, login, etab, administratif=False): @@ -832,25 +832,26 @@ def _maj_enseignant(enseignant, user, login, etab, administratif=False):
""" """
traitement d'un enseignant existant (mise à jour) traitement d'un enseignant existant (mise à jour)