N’utiliser l’étab effectif que pour les groupes
This commit is contained in:
@ -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)
|
||||||
|
Reference in New Issue
Block a user