Projet

Général

Profil

0001-import-wcs-roles-import-roles-.emails-and-.emails_to.patch

Benjamin Dauvergne, 15 septembre 2015 09:53

Télécharger (2,24 ko)

Voir les différences:

Subject: [PATCH 1/3] import-wcs-roles: import roles .emails and
 .emails_to_members fields (#8217)

As we are moving from and w.c.s. role master to an authentic as role
master, we must first import as much data from w.c.s. roles as possible
into authentic.
 .../authentic2/management/commands/import-wcs-roles.py      | 13 ++++++++++++-
 1 file changed, 12 insertions(+), 1 deletion(-)
hobo/agent/authentic2/management/commands/import-wcs-roles.py
84 84
            if role.name != role_tpl.name:
85 85
                role.name = role_tpl.name
86 86
                role.save()
87
        # update emails and emails_to_members in RA
88
        if role.emails:
89
            ra, created = RoleAttribute.objects.get_or_create(
90
                role=role, name='emails', kind='json',
91
                defaults={'value': json.dumps(role.emails))
92
        ra, created = RoleAttribute.objects.get_or_create(
93
            role=role, name='emails_to_members', kind='json',
94
            defaults={'value': json.dumps(role.emails_to_members))
95

  
87 96

  
88 97
    def delete_dead_roles(self):
89 98
        '''Deletes service roles whose id is not in self.seen_ids'''
......
104 113
        response = requests.get(signed_url, verify=app_settings.A2_VERIFY_SSL)
105 114
        if response.status_code == 200:
106 115
            for role in response.json()['data']:
107
                yield Role(name=role['text'], external_id=str(role['slug']),
116
                role = Role(name=role['text'], external_id=str(role['slug']),
108 117
                           slug=str(role['slug']))
118
                role.emails = role['emails']
119
                role.emails_to_members = role['emails_to_members']
109 120
        else:
110 121
            self.logger.warn('failed to get roles for %s (response: %s)',
111 122
                             self.wcs_url, response.status_code)
112
-