Projet

Général

Profil

0006-add-import-of-role-details-to-import-wcs-roles-9503.patch

Benjamin Dauvergne, 21 janvier 2016 10:25

Télécharger (2,44 ko)

Voir les différences:

Subject: [PATCH 6/6] add import of role details to import-wcs-roles (#9503)

 .../authentic2/management/commands/import-wcs-roles.py      | 13 +++++++++++--
 1 file changed, 11 insertions(+), 2 deletions(-)
hobo/agent/authentic2/management/commands/import-wcs-roles.py
101 101
            if role.name != role_tpl.name:
102 102
                role.name = role_tpl.name
103 103
                role.save()
104
        # update emails and emails_to_members in RA
104
        # update emails, emails_to_members and details in RA
105 105
        if role_tpl.emails:
106 106
            ra, created = RoleAttribute.objects.get_or_create(
107 107
                role=role, name='emails', kind='json',
......
115 115
        if ra.value != json.dumps(role_tpl.emails_to_members):
116 116
            ra.value = json.dumps(role_tpl.emails_to_members)
117 117
            ra.save()
118
        if role_tpl.details:
119
            value = json.dumps(role_tpl.details)
120
            ra, created = RoleAttribute.objects.get_or_create(
121
                role=role, name='details', kind='json',
122
                defaults={'value': value})
123
            if ra.value != value:
124
                ra.value = value
125
                ra.save()
118 126

  
119 127
    def delete_dead_roles(self):
120 128
        '''Deletes service roles whose id is not in self.seen_ids'''
......
136 144
        if response.status_code == 200:
137 145
            for role in response.json()['data']:
138 146
                new_role = Role(name=role['text'], external_id=str(role['slug']),
139
                            slug=str(role['slug']))
147
                                slug=str(role['slug']))
140 148
                new_role.description = role.get('details', u'')
141 149
                new_role.emails = role.get('emails', [])
142 150
                new_role.emails_to_members = role.get('emails_to_members', False)
151
                new_role.details = role.get('details', '')
143 152
                yield new_role
144 153
        else:
145 154
            self.logger.warn('failed to get roles for %s (response: %s)',
146
-