0006-add-import-of-role-details-to-import-wcs-roles-9503.patch
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 |
- |