def get_queryset(self): queryset = self.model.objects.select_related('product', 'user').all() queryset = sort_queryset(queryset, self.request, ['score', 'total_votes', 'date_created']) self.desc_ctx = { 'main_filter': _('All reviews'), 'date_filter': '', 'status_filter': '', 'kw_filter': '', 'name_filter': '', } self.form = self.form_class(self.request.GET) if not self.form.is_valid(): return queryset data = self.form.cleaned_data queryset = self.add_filter_status(queryset, data['status']) queryset = self.add_filter_keyword(queryset, data['keyword']) queryset = self.add_filter_name(queryset, data['name']) queryset = self.get_date_from_to_queryset(data['date_from'], data['date_to'], queryset) return queryset
def get_queryset(self): qs = self.model.objects.all().order_by('-date_created') qs = sort_queryset( qs, self.request, ['num_basket_additions', 'num_orders', 'date_created'], '-date_created') return qs
def get_queryset(self): qs = self.model._default_manager.exclude( offer_type=ConditionalOffer.VOUCHER) qs = sort_queryset(qs, self.request, ['name', 'start_datetime', 'end_datetime', 'num_applications', 'total_discount']) self.description = _("All offers") # We track whether the queryset is filtered to determine whether we # show the search form 'reset' button. self.is_filtered = False self.form = self.form_class(self.request.GET) if not self.form.is_valid(): return qs data = self.form.cleaned_data if data['name']: qs = qs.filter(name__icontains=data['name']) self.description = _("Offers matching '%s'") % data['name'] self.is_filtered = True if data['is_active']: self.is_filtered = True today = timezone.now() qs = qs.filter(start_datetime__lte=today, end_datetime__gte=today) return qs
def get_queryset(self): qs = self.model.objects.all().order_by('-date_created') qs = sort_queryset( qs, self.request, ['num_basket_additions', 'num_orders', 'date_created'], '-date_created') self.description_ctx = { 'main_filter': _('All vouchers'), 'name_filter': '', 'code_filter': '' } # If form not submitted, return early is_form_submitted = 'name' in self.request.GET if not is_form_submitted: self.form = self.form_class() return qs.filter(voucher_set__isnull=True) self.form = self.form_class(self.request.GET) if not self.form.is_valid(): return qs data = self.form.cleaned_data if data['name']: qs = qs.filter(name__icontains=data['name']) self.description_ctx['name_filter'] \ = _("with name matching '%s'") % data['name'] if data['code']: qs = qs.filter(code=data['code']) self.description_ctx['code_filter'] \ = _("with code '%s'") % data['code'] if data['is_active']: now = timezone.now() qs = qs.filter(start_datetime__lte=now, end_datetime__gte=now) self.description_ctx['main_filter'] = _('Active vouchers') if not data['in_set']: qs = qs.filter(voucher_set__isnull=True) return qs
def get_queryset(self): # noqa (too complex (19)) """ Build the queryset for this list. """ queryset = sort_queryset(self.base_queryset, self.request, ['number', 'total_incl_tax']) self.form = self.form_class(self.request.GET) if not self.form.is_valid(): return queryset data = self.form.cleaned_data if data['order_number']: queryset = self.base_queryset.filter( number__istartswith=data['order_number']) if data['name']: # If the value is two words, then assume they are first name and # last name parts = data['name'].split() allow_anon = getattr(settings, 'WSHOP_ALLOW_ANON_CHECKOUT', False) if len(parts) == 1: parts = [data['name'], data['name']] else: parts = [parts[0], parts[1:]] filter = Q(user__first_name__istartswith=parts[0]) filter |= Q(user__last_name__istartswith=parts[1]) if allow_anon: filter |= Q(billing_address__first_name__istartswith=parts[0]) filter |= Q(shipping_address__first_name__istartswith=parts[0]) filter |= Q(billing_address__last_name__istartswith=parts[1]) filter |= Q(shipping_address__last_name__istartswith=parts[1]) queryset = queryset.filter(filter).distinct() if data['product_title']: queryset = queryset.filter( lines__title__istartswith=data['product_title']).distinct() if data['upc']: queryset = queryset.filter(lines__upc=data['upc']) if data['partner_sku']: queryset = queryset.filter(lines__partner_sku=data['partner_sku']) if data['date_from'] and data['date_to']: date_to = datetime_combine(data['date_to'], datetime.time.max) date_from = datetime_combine(data['date_from'], datetime.time.min) queryset = queryset.filter(date_placed__gte=date_from, date_placed__lt=date_to) elif data['date_from']: date_from = datetime_combine(data['date_from'], datetime.time.min) queryset = queryset.filter(date_placed__gte=date_from) elif data['date_to']: date_to = datetime_combine(data['date_to'], datetime.time.max) queryset = queryset.filter(date_placed__lt=date_to) if data['voucher']: queryset = queryset.filter( discounts__voucher_code=data['voucher']).distinct() if data['payment_method']: queryset = queryset.filter( sources__source_type__code=data['payment_method']).distinct() if data['status']: queryset = queryset.filter(status=data['status']) return queryset