def get_possible_reports(domain_name): from corehq.apps.reports.dispatcher import (ProjectReportDispatcher, CustomProjectReportDispatcher) from corehq.apps.data_interfaces.dispatcher import DataInterfaceDispatcher # todo: exports should be its own permission at some point? report_map = (ProjectReportDispatcher().get_reports(domain_name) + CustomProjectReportDispatcher().get_reports(domain_name) + DataInterfaceDispatcher().get_reports(domain_name)) reports = [] domain = Domain.get_by_name(domain_name) for heading, models in report_map: for model in models: if getattr(model, 'parent_report_class', None): report_to_check_if_viewable = model.parent_report_class else: report_to_check_if_viewable = model if report_to_check_if_viewable.show_in_user_roles(domain=domain_name, project=domain): reports.append({ 'path': model.__module__ + '.' + model.__name__, 'name': model.name }) for slug, name, is_visible in get_extra_permissions(): if is_visible(domain): reports.append({'path': slug, 'name': name}) return reports
def get_possible_reports(domain_name): from corehq.apps.reports.dispatcher import (ProjectReportDispatcher, CustomProjectReportDispatcher) from corehq.apps.data_interfaces.dispatcher import DataInterfaceDispatcher # todo: exports should be its own permission at some point? report_map = (ProjectReportDispatcher().get_reports(domain_name) + CustomProjectReportDispatcher().get_reports(domain_name) + DataInterfaceDispatcher().get_reports(domain_name)) reports = [] domain = Domain.get_by_name(domain_name) for heading, models in report_map: for model in models: if model.show_in_navigation(domain=domain_name, project=domain): reports.append({ 'path': model.__module__ + '.' + model.__name__, 'name': model.name }) return reports