Projet

Général

Profil

0001-authentic-agent-refactored-hobo_deploy-command-to-ge.patch

Anonyme, 27 février 2018 12:30

Télécharger (2,66 ko)

Voir les différences:

Subject: [PATCH] authentic agent : refactored hobo_deploy command to get
 username/email/first_name/last_name from hobo.json to create super-users for
 authentic (#21888)

 .../authentic2/management/commands/hobo_deploy.py  | 25 +++++++++++-----------
 1 file changed, 12 insertions(+), 13 deletions(-)
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
-