def test_raw_boolean_strings_are_not_cast(self): request_dict = query_dict_to_dict( QueryDict( urlencode({ 'my_string_key': 'true', 'another_string': 'false', 'non_string': 'true', 'non_string_2': 'false', 'string_int': '1', 'non_string_int': '2', 'apple': 'orange' })), "some_domain", ['my_string_key', 'another_string', 'string_int']) self.assertDictEqual( request_dict, { # keys marked as string should not be casted to bool 'apple': 'orange', 'my_string_key': 'true', 'another_string': 'false', 'string_int': '1', # keys not marked as string are casted to bool 'non_string': True, 'non_string_2': False, 'domain': 'some_domain', 'non_string_int': 2, })
def _get_report_data(self, report_config, domain, start, limit, get_params): report = ConfigurableReportDataSource.from_spec( report_config, include_prefilters=True) string_type_params = [ filter.name for filter in report_config.ui_filters if getattr(filter, 'datatype', 'string') == "string" ] filter_values = get_filter_values( report_config.ui_filters, query_dict_to_dict(get_params, domain, string_type_params)) report.set_filter_values(filter_values) page = list(report.get_data(start=start, limit=limit)) columns = [] for column in report.columns: simple_column = { "header": column.header, "slug": column.slug, } if isinstance(column, UCRExpandDatabaseSubcolumn): simple_column['expand_column_value'] = column.expand_value columns.append(simple_column) total_records = report.get_total_records() return page, columns, total_records
def _get_report_data(self, report_config, domain, start, limit, get_params): report = ConfigurableReportDataSource.from_spec(report_config) string_type_params = [ filter.name for filter in report_config.ui_filters if getattr(filter, 'datatype', 'string') == "string" ] filter_values = get_filter_values( report_config.ui_filters, query_dict_to_dict(get_params, domain, string_type_params) ) report.set_filter_values(filter_values) page = list(report.get_data(start=start, limit=limit)) columns = [] for column in report.columns: simple_column = { "header": column.header, "slug": column.slug, } if isinstance(column, UCRExpandDatabaseSubcolumn): simple_column['expand_column_value'] = column.expand_value columns.append(simple_column) total_records = report.get_total_records() return page, columns, total_records
def _get_report_data(self, report_config, domain, start, limit, get_params): report = ReportFactory.from_spec(report_config) filter_values = get_filter_values( report_config.ui_filters, query_dict_to_dict(get_params, domain) ) report.set_filter_values(filter_values) page = list(report.get_data(start=start, limit=limit)) total_records = report.get_total_records() return page, total_records
def _get_report_data(self, report_config, domain, start, limit, get_params): report = ReportFactory.from_spec(report_config) filter_values = get_filter_values( report_config.ui_filters, query_dict_to_dict(get_params, domain)) report.set_filter_values(filter_values) page = list(report.get_data(start=start, limit=limit)) columns = [] for column in report.columns: simple_column = { "header": column.header, "slug": column.slug, } if isinstance(column, UCRExpandDatabaseSubcolumn): simple_column['expand_column_value'] = column.expand_value columns.append(simple_column) total_records = report.get_total_records() return page, columns, total_records
def test_raw_boolean_strings_are_not_cast(self): request_dict = query_dict_to_dict(QueryDict(urlencode( {'my_string_key': 'true', 'another_string': 'false', 'non_string': 'true', 'non_string_2': 'false', 'string_int': '1', 'non_string_int': '2', 'apple': 'orange'})), "some_domain", ['my_string_key', 'another_string', 'string_int'] ) self.assertDictEqual( request_dict, { # keys marked as string should not be casted to bool 'apple': 'orange', 'my_string_key': 'true', 'another_string': 'false', 'string_int': '1', # keys not marked as string are casted to bool 'non_string': True, 'non_string_2': False, 'domain': 'some_domain', 'non_string_int': 2, } )
def _get_report_data(self, report_config, domain, start, limit, get_params): report = ReportFactory.from_spec(report_config) filter_values = get_filter_values( report_config.ui_filters, query_dict_to_dict(get_params, domain) ) report.set_filter_values(filter_values) page = list(report.get_data(start=start, limit=limit)) columns = [] for column in report.columns: simple_column = { "header": column.header, "slug": column.slug, } if isinstance(column, UCRExpandDatabaseSubcolumn): simple_column['expand_column_value'] = column.expand_value columns.append(simple_column) total_records = report.get_total_records() return page, columns, total_records