load-pratic-ldif: allow modifying existing users
This commit is contained in:
parent
a0b156ffab
commit
c83b694f58
|
@ -185,14 +185,20 @@ class PraticLDIFParser(ldif.LDIFParser):
|
|||
'phone': 'telephoneNumber',
|
||||
}
|
||||
others = self.resolve_mapping(mapping, entry)
|
||||
uid = others['uid']
|
||||
last_login_duration = int(entry.get('cdg59lastConnectionDuration', [0])[0])
|
||||
is_admin = entry.get('cdg59isAdmin', ['FALSE'])[0] == 'TRUE'
|
||||
user = User(
|
||||
collectivity=collectivity,
|
||||
is_active=is_active,
|
||||
last_login_duration=last_login_duration,
|
||||
is_admin=is_admin,
|
||||
**others)
|
||||
try:
|
||||
user = User.objects.get(uid=uid, collectivity=collectivity)
|
||||
for k, v in others.iteritems():
|
||||
setattr(user, k, v)
|
||||
except User.DoesNotExist:
|
||||
user = User(
|
||||
collectivity=collectivity,
|
||||
is_active=is_active,
|
||||
last_login_duration=last_login_duration,
|
||||
is_admin=is_admin,
|
||||
**others)
|
||||
if 'cdg59lastConnectionTime' in entry:
|
||||
last_login = datetime.fromtimestamp(int(entry['cdg59lastConnectionTime'][0]))
|
||||
last_login = make_aware(last_login, get_default_timezone())
|
||||
|
@ -202,7 +208,6 @@ class PraticLDIFParser(ldif.LDIFParser):
|
|||
user.password = password
|
||||
user.clean()
|
||||
self.users.append(user)
|
||||
#accesses
|
||||
for siid in entry.get('cdg59serviceAccesses', []):
|
||||
def g(siid):
|
||||
def f():
|
||||
|
|
Reference in New Issue