0001-fix-crypted-password-import-9588.patch
mandayejs/mandaye/management/commands/migrate-ldap-users.py | ||
---|---|---|
2 | 2 | |
3 | 3 |
import json |
4 | 4 |
import ldif |
5 |
import logging |
|
5 | 6 | |
6 | 7 |
from django.core.management.base import BaseCommand, CommandError |
7 | 8 |
from django.db import IntegrityError |
... | ... | |
9 | 10 | |
10 | 11 |
from mandayejs.mandaye.models import UserCredentials |
11 | 12 | |
13 |
logger = logging.getLogger(__name__) |
|
12 | 14 | |
13 | 15 |
class Command(BaseCommand): |
14 | 16 |
args = '<ldif_file>' |
... | ... | |
33 | 35 |
for data in parsed_data: |
34 | 36 |
data = { k : ''.join(v) for k,v in data.items()} |
35 | 37 |
try: |
36 |
user = User(username=data.get('idpUniqueID'), last_name=data.get('spLogin')) |
|
38 |
user, created = User.objects.get_or_create(username=data.get('idpUniqueID'), |
|
39 |
last_name=data.get('spLogin')) |
|
37 | 40 |
user.save() |
38 | 41 |
uc = UserCredentials(user=user, locators=json.loads(data.get('spPostValues'))) |
42 |
uc.decrypt() |
|
39 | 43 |
uc.save() |
40 | 44 |
self.stdout.write('{idpUniqueID} imported'.format(**data)) |
45 |
logger.debug('{idpUniqueID} imported'.format(**data)) |
|
41 | 46 |
except (IntegrityError,) as e: |
47 |
logger.debug(e) |
|
42 | 48 |
continue |
43 | 49 | |
44 |
- |