def _init_counts(self): groups, _ = es_wrapper('groups', domain=self.domain, q=self.q, doc_type='Group', size=0, return_count=True) users, _ = es_wrapper('users', domain=self.domain, q=self.q, size=0, return_count=True) self.group_start = len(self.basics) self.user_start = self.group_start + groups self.total_results = self.user_start + users
def get_groups(self, start, size): fields = ['_id', 'name'] reporting_filter = {"term": {"reporting": "true"}} groups = es_wrapper('groups', domain=self.domain, q=self.q, doc_type='Group', fields=fields, start_at=start, size=size, sort_by='name', order='asc', filters=[reporting_filter]) return [group_tuple(g) for g in groups]
def group_es_call(self, **kwargs): reporting_filter = {"term": {"reporting": "true"}} return es_wrapper('groups', domain=self.domain, q=self.group_query, doc_type='Group', filters=[reporting_filter], **kwargs)
def user_es_call(self, query, **kwargs): query = {"bool": {"must": [ {"query_string": { "query": q, "fields": ["first_name", "last_name", "username"], }} for q in self.get_es_query_strings(query) ]}} if query and query.strip() else None return es_wrapper('users', domain=self.domain, q=query, **kwargs)
def group_es_call(self, query, group_type="reporting", **kwargs): query = {"bool": {"must": [ {"query_string": { "query": q, "default_field": "name", }} for q in self.get_es_query_strings(query) ]}} if query and query.strip() else None type_filter = {"term": {group_type: "true"}} return es_wrapper('groups', domain=self.domain, q=query, filters=[type_filter], doc_type='Group', **kwargs)
def group_es_call(self, group_type="reporting", **kwargs): # Valid group_types are "reporting" and "case_sharing" return es_wrapper('groups', domain=self.domain, q=self.group_query, filters=[{ "term": { group_type: "true" } }], doc_type='Group', **kwargs)
def user_es_call(self, **kwargs): return es_wrapper('users', domain=self.domain, q=self.user_query, **kwargs)
def group_es_call(self, group_type="reporting", **kwargs): # Valid group_types are "reporting" and "case_sharing" return es_wrapper('groups', domain=self.domain, q=self.group_query, filters=[{"term": {group_type: "true"}}], doc_type='Group', **kwargs)
def get_users(self, start, size): fields = ['_id', 'username', 'first_name', 'last_name'] users = es_wrapper('users', domain=self.domain, q=self.q, fields=fields, start_at=start, size=size, sort_by='username', order='asc') return [user_tuple(u) for u in users]