def add_co_person_roles(co_person: dict) -> None: co_person_id = co_person.get('Id') co_roles = api.coperson_roles_view_per_coperson( coperson_id=co_person_id).get('CoPersonRoles', []) ns_person = NotaryServiceUser.objects.filter( co_person_id=co_person_id).first() if co_roles and ns_person: for co_role in co_roles: co_role_id = co_role.get('Id') ns_role = Role.objects.filter(co_role_id=co_role_id).first() if ns_role: logger.info('{0} - Found CoPersonRole: {1} - {2}'.format( datetime.datetime.now().ctime(), ns_role.co_cou.name, ns_role.co_role_id)) else: co_cou_id = co_role.get('CouId', None) if co_cou_id: ns_role = Role() ns_role.co_role_id = co_role_id ns_role.co_person_id = co_person_id ns_role.co_cou = ComanageCou.objects.filter( co_cou_id=co_cou_id).first() ns_role.save() ns_person.roles.add(ns_role) ns_person.save() logger.info('{0} - Add CoPersonRole: {1} - {2}'.format( datetime.datetime.now().ctime(), ns_role.co_cou.name, ns_role.co_role_id)) else: logger.warning( '{0} - Missing CouId: CoPersonRole - {1}'.format( datetime.datetime.now().ctime(), co_role_id))
def create_co_person_role(co_person_id: int, co_cou_id: int) -> bool: response = False new_co_person_role = api.coperson_roles_add(coperson_id=co_person_id, cou_id=co_cou_id) if new_co_person_role: co_role_id = new_co_person_role.get('Id') ns_person = NotaryServiceUser.objects.filter( co_person_id=co_person_id).first() ns_role = Role() ns_role.co_role_id = co_role_id ns_role.co_person_id = co_person_id ns_role.co_cou = ComanageCou.objects.filter( co_cou_id=co_cou_id).first() ns_role.save() ns_person.roles.add(ns_role) ns_person.save() logger.info('{0} - Add CoPersonRole: {1} - {2}'.format( datetime.datetime.now().ctime(), ns_role.co_cou.name, ns_role.co_role_id)) response = True else: logger.info( '{0} - Failed to add CoPersonRole - CoPersonId: {1}'.format( datetime.datetime.now().ctime(), co_person_id)) return response