def has_permissions(self, domain, user): if domain is None: return False if not user.is_active: return False return user.can_view_report(domain, get_ucr_class_name(self.report_config_id))
def _convert_reports_permissions(domain_link, master_results): """Mutates the master result docs to convert dynamic report permissions. """ report_map = get_static_report_mapping(domain_link.master_domain, domain_link.linked_domain) for role_def in master_results: new_report_perms = [ perm for perm in role_def['permissions']['view_report_list'] if 'DynamicReport' not in perm ] for master_id, linked_id in report_map.items(): master_report_perm = get_ucr_class_name(master_id) if master_report_perm in role_def['permissions']['view_report_list']: new_report_perms.append(get_ucr_class_name(linked_id)) role_def['permissions']['view_report_list'] = new_report_perms
def _convert_reports_permissions(domain_link, master_results): """Mutates the master result docs to convert dynamic report permissions. """ report_map = get_static_report_mapping(domain_link.master_domain, domain_link.linked_domain) for role_def in master_results: new_report_perms = [ perm for perm in role_def['permissions']['view_report_list'] if 'DynamicReport' not in perm ] for master_id, linked_id in report_map.items(): master_report_perm = get_ucr_class_name(master_id) if master_report_perm in role_def['permissions']['view_report_list']: new_report_perms.append(get_ucr_class_name(linked_id)) role_def['permissions']['view_report_list'] = new_report_perms
def test_update_web_apps_list(self): self.assertEqual([], UserRole.by_domain(self.linked_domain)) report_mapping = {'master_report_id': 'linked_report_id'} with patch('corehq.apps.linked_domain.updates.get_static_report_mapping', return_value=report_mapping): update_user_roles(self.domain_link) roles = UserRole.by_domain(self.linked_domain) self.assertEqual(1, len(roles)) self.assertEqual(roles[0].permissions.view_web_apps_list, [self.linked_app._id]) self.assertEqual(roles[0].permissions.view_report_list, [get_ucr_class_name('linked_report_id')])
def test_update_report_list(self): self.assertEqual([], UserRole.by_domain(self.linked_domain)) report_mapping = {'master_report_id': 'linked_report_id'} with patch( 'corehq.apps.linked_domain.updates.get_static_report_mapping', return_value=report_mapping): update_user_roles(self.domain_link) roles = {r.name: r for r in UserRole.by_domain(self.linked_domain)} self.assertEqual(2, len(roles)) self.assertEqual(roles['test'].permissions.view_report_list, [get_ucr_class_name('linked_report_id')]) self.assertTrue(roles['test'].is_non_admin_editable) self.assertTrue(roles['other_test'].permissions.edit_web_users) self.assertEqual(roles['other_test'].assignable_by, [roles['test'].get_id])
def _has_permission(domain, user, config_id): if domain is None: return False if not user.is_active: return False return user.can_view_report(domain, get_ucr_class_name(config_id))
def _has_permission(domain, user, config_id): if domain is None: return False if not user.is_active: return False return user.can_view_report(domain, get_ucr_class_name(config_id))