0001-authentic-agent-refactored-hobo_deploy-command-to-ge.patch
hobo/agent/authentic2/management/commands/hobo_deploy.py | ||
---|---|---|
38 | 38 |
# Activate default translation |
39 | 39 |
activate(settings.LANGUAGE_CODE) |
40 | 40 | |
41 |
# create hobo users in authentic to bootstrap (don't update them, |
|
42 |
# hobo is not a provisioning system) |
|
41 |
# create hobo super-users in authentic to bootstrap |
|
43 | 42 |
for user_dict in hobo_environment.get('users'): |
44 |
user, created = get_user_model().objects.get_or_create( |
|
45 |
username=user_dict.get('username')) |
|
43 |
# without username, we put default values |
|
44 |
username = user_dict.get('username', 'admin') |
|
45 |
email = user_dict.get('email', 'admin@entrouvert.org') |
|
46 |
# get_or_create is used bootstrap hobo from a hobo.json config |
|
47 |
user, created = get_user_model().objects.get_or_create(username=username) |
|
46 | 48 |
if created: |
47 | 49 |
for key, value in user_dict.items(): |
48 | 50 |
setattr(user, key, value) |
51 |
# to comply with some SP |
|
52 |
if not user.first_name: |
|
53 |
user.first_name = username |
|
54 |
if not user.last_name: |
|
55 |
user.last_name = username |
|
56 | ||
49 | 57 |
user.is_staff = True |
50 | 58 |
user.is_superuser = True |
51 |
try: |
|
52 |
admin_name, admin_email = settings.ADMINS[0] |
|
53 |
except (IndexError, ValueError): |
|
54 |
admin_name, admin_email = ('Super Publik', 'admin@entrouvert.org') |
|
55 |
if not user.email: |
|
56 |
user.email = admin_email |
|
57 |
if not user.first_name and not user.last_name: |
|
58 |
# give a name as it's required by some SP |
|
59 |
user.first_name = admin_name |
|
60 | 59 |
user.save() |
61 | 60 | |
62 | 61 |
# create/update user attributes |
63 |
- |