def find_case_ids(self, domain): query = (CaseSearchES().domain(domain).filter( exact_case_property_text_query('current_status', 'closed')).filter( case_property_missing("all_activity_complete_date")).case_type( self.case_type).owner(INACTIVE_LOCATION_IDS)) if self.case_type == 'contact': query = (query.modified_range(gte=datetime.date(2022, 2, 2)).NOT( exact_case_property_text_query('final_disposition', 'converted_to_pui'))) return list(query.scroll_ids())
def _equality(node): """Returns the filter for an equality operation (=, !=) """ if isinstance(node.left, Step) and ( isinstance(node.right, integer_types + (string_types, float, FunctionCall))): # This is a leaf node case_property_name = serialize(node.left) value = _unwrap_function(node.right) if value == '': q = case_property_missing(case_property_name) else: q = exact_case_property_text_query(case_property_name, value) if node.op == '!=': return filters.NOT(q) return q if isinstance(node.right, Step): _raise_step_RHS(node) raise CaseFilterError( _("We didn't understand what you were trying to do with {}").format(serialize(node)), serialize(node) )
def _equality(node): """Returns the filter for an equality operation (=, !=) """ if isinstance(node.left, Step) and (isinstance( node.right, integer_types + (string_types, float, FunctionCall))): # This is a leaf node case_property_name = serialize(node.left) value = _unwrap_function(node.right) if value == '': q = case_property_missing(case_property_name) else: q = exact_case_property_text_query(case_property_name, value) if node.op == '!=': return filters.NOT(q) return q if isinstance(node.right, Step): _raise_step_RHS(node) raise CaseFilterError( _("We didn't understand what you were trying to do with {}"). format(serialize(node)), serialize(node))
def _equality(node): """Returns the filter for an equality operation (=, !=) """ acceptable_rhs_types = (int, str, float, FunctionCall, UnaryExpression) if isinstance(node.left, Step) and (isinstance(node.right, acceptable_rhs_types)): # This is a leaf node case_property_name = serialize(node.left) value = _unwrap_function(node.right) if value == '': q = case_property_missing(case_property_name) elif fuzzy: q = case_property_text_query(case_property_name, value, fuzziness='AUTO') else: q = exact_case_property_text_query(case_property_name, value) if node.op == '!=': return filters.NOT(q) return q if isinstance(node.right, Step): _raise_step_RHS(node) raise CaseFilterError( _("We didn't understand what you were trying to do with {}"). format(serialize(node)), serialize(node))
def _get_custom_property_filter(key, val): prop = key[len(CUSTOM_PROPERTY_PREFIX):] if val == "": return case_search.case_property_missing(prop) return case_search.exact_case_property_text_query(prop, val)