Exemplo n.º 1
0
 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,
         })
Exemplo n.º 2
0
    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
Exemplo n.º 3
0
    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
Exemplo n.º 4
0
    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
Exemplo n.º 5
0
    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
Exemplo n.º 6
0
 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,
         }
     )
Exemplo n.º 7
0
    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