0001-import-wcs-roles-import-roles-.emails-and-.emails_to.patch
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 |
- |