def create_export_filter(request, domain, export_type='form'): from corehq.apps.reports.fields import FilterUsersField app_id = request.GET.get('app_id', None) group, users = get_group_params(domain, **json_request(request.GET)) user_filters, use_user_filters = FilterUsersField.get_user_filter(request) if export_type == 'case': if user_filters and use_user_filters: users_matching_filter = map( lambda x: x.get('user_id'), get_all_users_by_domain(domain, user_filter=user_filters, simplified=True)) filter = SerializableFunction(case_users_filter, users=users_matching_filter) else: filter = SerializableFunction(case_group_filter, group=group) else: filter = SerializableFunction(instances) & SerializableFunction( app_export_filter, app_id=app_id) filter &= SerializableFunction(datespan_export_filter, datespan=request.datespan) if user_filters and use_user_filters: users_matching_filter = map( lambda x: x.get('user_id'), get_all_users_by_domain(domain, user_filter=user_filters, simplified=True)) filter &= SerializableFunction(users_filter, users=users_matching_filter) else: filter &= SerializableFunction(group_filter, group=group) return filter
def create_export_filter(request, domain, export_type='form'): from corehq.apps.reports.fields import FilterUsersField app_id = request.GET.get('app_id', None) group, users = get_group_params(domain, **json_request(request.GET)) user_filters, use_user_filters = FilterUsersField.get_user_filter(request) if export_type == 'case': if user_filters and use_user_filters: users_matching_filter = map(lambda x: x.get('user_id'), get_all_users_by_domain(domain, user_filter=user_filters, simplified=True)) filter = SerializableFunction(case_users_filter, users=users_matching_filter) else: filter = SerializableFunction(case_group_filter, group=group) else: filter = SerializableFunction(app_export_filter, app_id=app_id) filter &= SerializableFunction(datespan_export_filter, datespan=request.datespan) if user_filters and use_user_filters: users_matching_filter = map(lambda x: x.get('user_id'), get_all_users_by_domain(domain, user_filter=user_filters, simplified=True)) filter &= SerializableFunction(users_filter, users=users_matching_filter) else: filter &= SerializableFunction(group_filter, group=group) return filter
def user_filter(self): return FilterUsersField.get_user_filter(self.request)[0]
def user_filter(self): if self._user_filter is None: self._user_filter, _ = FilterUsersField.get_user_filter(self.request) return self._user_filter