Ébauche de prise en charge dans la fiche enseignant dans l’EAD
This commit is contained in:
@@ -200,7 +200,7 @@ index 69f3411..19ba7a1 100644
|
||||
Mise à niveau d'un compte enseignant
|
||||
"""
|
||||
diff --git usr/lib/python3/dist-packages/scribe/eoleldap.py usr/lib/python3/dist-packages/scribe/eoleldap.py
|
||||
index 45ec338..c3c6bfe 100644
|
||||
index 45ec338..0ec3129 100644
|
||||
--- usr/lib/python3/dist-packages/scribe/eoleldap.py
|
||||
+++ usr/lib/python3/dist-packages/scribe/eoleldap.py
|
||||
@@ -8,21 +8,21 @@
|
||||
@@ -281,7 +281,7 @@ index 45ec338..c3c6bfe 100644
|
||||
+ if _type == 'login':
|
||||
+ etab = [cn[1]['cn'][0] for cn in self.ldap_admin._search(f'(&(objectClass=eolegroupe)(type=Etablissement)(memberUid={name}))', ['cn'])]
|
||||
+ else:
|
||||
+ etab = result[1]['cn']
|
||||
+ etab = [result[0].split(',ou=')[-3]]
|
||||
+ if not multi_etabs:
|
||||
+ etab = etab[0]
|
||||
+ except:
|
||||
@@ -298,10 +298,37 @@ index 45ec338..c3c6bfe 100644
|
||||
else:
|
||||
raise Exception('Unknown mode')
|
||||
diff --git usr/lib/python3/dist-packages/scribe/eoleuser.py usr/lib/python3/dist-packages/scribe/eoleuser.py
|
||||
index 05569fd..74d9485 100644
|
||||
index 05569fd..3cafe9f 100644
|
||||
--- usr/lib/python3/dist-packages/scribe/eoleuser.py
|
||||
+++ usr/lib/python3/dist-packages/scribe/eoleuser.py
|
||||
@@ -410,20 +410,25 @@ class User(LdapEntry):
|
||||
@@ -361,23 +361,25 @@ class User(LdapEntry):
|
||||
def _inscription(self, login, groupe, sync=True, etab=None, check_etab=True, touch=True):
|
||||
"""
|
||||
Inscription d'un utilisateur à un groupe
|
||||
"""
|
||||
etabgroup = None
|
||||
if SUPPORT_ETAB:
|
||||
etabgroup = self.get_etab_from_group(groupe)
|
||||
if check_etab:
|
||||
# vérification de la cohérence
|
||||
if etab is None:
|
||||
- etabuser = self.get_etab(login)
|
||||
+ etabuser = self.get_etab(login, multi_etabs=True)
|
||||
else:
|
||||
#on force l'établissement de l'utilisateur (#4827)
|
||||
+ if not isinstance(etab, list):
|
||||
+ etab = [etab]
|
||||
etabuser = etab
|
||||
if etabgroup != etabuser:
|
||||
raise Exception("L'utilisateur {0} ne fait pas partie du même établissement que le groupe {1} : {2} - {3}".format(login, groupe, etabuser, etabgroup))
|
||||
if not self.has_ftp:
|
||||
return True
|
||||
grp = Group()
|
||||
grp.ldap_admin = self.ldap_admin
|
||||
gtype = grp.c_get_group_type(groupe)
|
||||
if self.profil != 'eleve' and gtype in ['Classe', 'Niveau', 'Option']:
|
||||
# groupes réservés élèves
|
||||
@@ -410,20 +412,25 @@ class User(LdapEntry):
|
||||
grp = Group()
|
||||
grp.ldap_admin = self.ldap_admin
|
||||
if touch:
|
||||
@@ -327,7 +354,7 @@ index 05569fd..74d9485 100644
|
||||
rmtree(ftpdir)
|
||||
makedirs(ftpdir, 0o500)
|
||||
system('/bin/chown %s %s' % (login, ftpdir))
|
||||
@@ -594,27 +599,27 @@ class User(LdapEntry):
|
||||
@@ -594,27 +601,27 @@ class User(LdapEntry):
|
||||
authldap = Ldap(binddn=user_dn,
|
||||
passwd=password)
|
||||
try:
|
||||
|
Reference in New Issue
Block a user