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 |
if ra.value != json.dumps(role.emails):
|
|
93 |
ra.value = json.dumps(role.emails)
|
|
94 |
ra.save()
|
|
95 |
ra, created = RoleAttribute.objects.get_or_create(
|
|
96 |
role=role, name='emails_to_members', kind='json',
|
|
97 |
defaults={'value': json.dumps(role.emails_to_members)})
|
|
98 |
if ra.value != json.dumps(role.emails_to_members):
|
|
99 |
ra.value = json.dumps(role.emails_to_members)
|
|
100 |
ra.save()
|
87 |
101 |
|
88 |
102 |
def delete_dead_roles(self):
|
89 |
103 |
'''Deletes service roles whose id is not in self.seen_ids'''
|
... | ... | |
104 |
118 |
response = requests.get(signed_url, verify=app_settings.A2_VERIFY_SSL)
|
105 |
119 |
if response.status_code == 200:
|
106 |
120 |
for role in response.json()['data']:
|
107 |
|
yield Role(name=role['text'], external_id=str(role['slug']),
|
108 |
|
slug=str(role['slug']))
|
|
121 |
role = Role(name=role['text'], external_id=str(role['slug']),
|
|
122 |
slug=str(role['slug']))
|
|
123 |
role.description = role.get('details', u'')
|
|
124 |
role.emails = role.get('emails', [])
|
|
125 |
role.emails_to_members = role.get('emails_to_members', False)
|
109 |
126 |
else:
|
110 |
127 |
self.logger.warn('failed to get roles for %s (response: %s)',
|
111 |
128 |
self.wcs_url, response.status_code)
|
112 |
|
-
|