Example #1
0
 def obj_get_list(self, bundle, domain, **kwargs):
     config = get_document_or_404(CaseExportInstance, domain,
                                  self.config_id)
     query = get_case_export_base_query(domain, config.case_type)
     for filter in config.get_filters():
         query = query.filter(filter.to_es_filter())
     return query
Example #2
0
    def obj_get_list(self, bundle, domain, **kwargs):
        config = get_document_or_404(CaseExportInstance, domain,
                                     self.config_id)
        query = get_case_export_base_query(domain, config.case_type)
        for filter in config.get_filters():
            query = query.filter(filter.to_es_filter())

        if not bundle.request.couch_user.has_permission(
                domain, 'access_all_locations'):
            query = query_location_restricted_cases(query, bundle.request)

        return query
Example #3
0
def _get_base_query(export_instance):
    """
    Return an ESQuery object for the given export instance.
    Includes filters for domain, doc_type, and xmlns/case_type.
    """
    if isinstance(export_instance, FormExportInstance):
        return get_form_export_base_query(export_instance.domain,
                                          export_instance.app_id,
                                          export_instance.xmlns,
                                          export_instance.include_errors)
    if isinstance(export_instance, CaseExportInstance):
        return get_case_export_base_query(export_instance.domain,
                                          export_instance.case_type)
    else:
        raise Exception(
            "Unknown base query for export instance type {}".format(
                type(export_instance)))
Example #4
0
    def obj_get_list(self, bundle, domain, **kwargs):
        config = get_document_or_404(CaseExportInstance, domain,
                                     self.config_id)
        if raise_odata_permissions_issues(bundle.request.couch_user, domain,
                                          config):
            raise ImmediateHttpResponse(
                HttpForbidden(
                    ugettext_noop(
                        "You do not have permission to view this feed.")))
        query = get_case_export_base_query(domain, config.case_type)
        for filter in config.get_filters():
            query = query.filter(filter.to_es_filter())

        if not bundle.request.couch_user.has_permission(
                domain, 'access_all_locations'):
            query = query_location_restricted_cases(query, bundle.request)

        return query
Example #5
0
def _get_base_query(export_instance):
    """
    Return an ESQuery object for the given export instance.
    Includes filters for domain, doc_type, and xmlns/case_type.
    """
    if isinstance(export_instance, FormExportInstance):
        return get_form_export_base_query(
            export_instance.domain,
            export_instance.app_id,
            export_instance.xmlns,
            export_instance.include_errors
        )
    if isinstance(export_instance, CaseExportInstance):
        return get_case_export_base_query(
            export_instance.domain, export_instance.case_type
        )
    else:
        raise Exception(
            "Unknown base query for export instance type {}".format(type(export_instance))
        )
Example #6
0
 def test_get_case_export_base_query(self):
     q = get_case_export_base_query(DOMAIN, DEFAULT_CASE_TYPE)
     result = q.run()
     self.assertEqual(4, len(result.hits))
Example #7
0
 def obj_get_list(self, bundle, domain, **kwargs):
     config = get_document_or_404(CaseExportInstance, domain,
                                  self.config_id)
     return get_case_export_base_query(domain, config.case_type)
 def test_get_case_export_base_query(self):
     q = get_case_export_base_query(DOMAIN, DEFAULT_CASE_TYPE)
     result = q.run()
     self.assertEqual(4, len(result.hits))
Example #9
0
def get_query_results(export_instance, domain, id):
    export = get_document_or_404(export_instance, domain, id)
    query = get_case_export_base_query(domain, export.case_type)
    results = query.run()
    return results