Example #1
0
 def from_spec(cls, spec):
     from corehq.apps.userreports.reports.data_source import ConfigurableReportDataSource
     return ConfigurableReportDataSource(
         domain=spec.domain,
         config_or_config_id=spec.config_id,
         filters=[ReportFilter.wrap(f) for f in spec.filters],
         aggregation_columns=spec.aggregation_columns,
         columns=[ReportColumn.wrap(colspec) for colspec in spec.columns],
     )
Example #2
0
 def from_spec(cls, spec):
     from corehq.apps.userreports.reports.data_source import ConfigurableReportDataSource
     return ConfigurableReportDataSource(
         domain=spec.domain,
         config_or_config_id=spec.config_id,
         filters=[ReportFilter.wrap(f) for f in spec.filters],
         aggregation_columns=spec.aggregation_columns,
         columns=spec.report_columns,
     )
 def test_numeric_filter_value(self):
     filter = ReportFilter.wrap(
         {
             "type": "numeric",
             "field": "number_of_children_field",
             "slug": "number_of_children_slug",
             "display": "Number of Children",
         }
     )
     NumericFilterValue(filter, None)
     NumericFilterValue(filter, {"operator": "<", "operand": 3})
     with self.assertRaises(AssertionError):
         NumericFilterValue(filter, {"operator": "sql injection", "operand": 3})
Example #4
0
 def test_numeric_filter_value(self):
     filter = ReportFilter.wrap({
         "type": "numeric",
         "field": "number_of_children_field",
         "slug": "number_of_children_slug",
         "display": "Number of Children",
     })
     NumericFilterValue(filter, None)
     NumericFilterValue(filter, {'operator': '<', 'operand': 3})
     with self.assertRaises(AssertionError):
         NumericFilterValue(filter, {
             'operator': 'sql injection',
             'operand': 3
         })
        def get_query_value(compare_as_string):

            spec = {
                "type": "date",
                "field": "modified_on_field",
                "slug": "my_slug",
                "display": "date Modified",
                "compare_as_string": compare_as_string,
            }
            reports_core_filter = ReportFilterFactory.from_spec(spec)
            reports_core_value = reports_core_filter.get_value(
                {"my_slug-start": "2015-06-07", "my_slug-end": "2015-06-08"}
            )

            filter = ReportFilter.wrap(spec)
            return filter.create_filter_value(reports_core_value).to_sql_values()
Example #6
0
        def get_query_value(compare_as_string):

            spec = {
                "type": "date",
                "field": "modified_on_field",
                "slug": "my_slug",
                "display": "date Modified",
                "compare_as_string": compare_as_string,
            }
            reports_core_filter = ReportFilterFactory.from_spec(spec)
            reports_core_value = reports_core_filter.get_value({
                "my_slug-start":
                "2015-06-07",
                "my_slug-end":
                "2015-06-08",
            })

            filter = ReportFilter.wrap(spec)
            return filter.create_filter_value(
                reports_core_value).to_sql_values()