From 87b958f024ae4671a8c8840cbaace485b1354f5a Mon Sep 17 00:00:00 2001 From: Benjamin Dauvergne Date: Wed, 20 Jan 2016 15:32:26 +0100 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(-) diff --git a/hobo/agent/authentic2/management/commands/import-wcs-roles.py b/hobo/agent/authentic2/management/commands/import-wcs-roles.py index 9d212d4..1c796fc 100644 --- a/hobo/agent/authentic2/management/commands/import-wcs-roles.py +++ b/hobo/agent/authentic2/management/commands/import-wcs-roles.py @@ -101,7 +101,7 @@ class WcsRoleImporter(object): if role.name != role_tpl.name: role.name = role_tpl.name role.save() - # update emails and emails_to_members in RA + # update emails, emails_to_members and details in RA if role_tpl.emails: ra, created = RoleAttribute.objects.get_or_create( role=role, name='emails', kind='json', @@ -115,6 +115,14 @@ class WcsRoleImporter(object): if ra.value != json.dumps(role_tpl.emails_to_members): ra.value = json.dumps(role_tpl.emails_to_members) ra.save() + if role_tpl.details: + value = json.dumps(role_tpl.details) + ra, created = RoleAttribute.objects.get_or_create( + role=role, name='details', kind='json', + defaults={'value': value}) + if ra.value != value: + ra.value = value + ra.save() def delete_dead_roles(self): '''Deletes service roles whose id is not in self.seen_ids''' @@ -136,10 +144,11 @@ class WcsRoleImporter(object): if response.status_code == 200: for role in response.json()['data']: new_role = Role(name=role['text'], external_id=str(role['slug']), - slug=str(role['slug'])) + slug=str(role['slug'])) new_role.description = role.get('details', u'') new_role.emails = role.get('emails', []) new_role.emails_to_members = role.get('emails_to_members', False) + new_role.details = role.get('details', '') yield new_role else: self.logger.warn('failed to get roles for %s (response: %s)', -- 2.1.4