def index(request): objects = BlogEntry.objects.filter( is_draft=False, title__isnull=False ).exclude( title__exact="None" ).order_by('-date_added') if request.GET.get('tag'): tag = request.GET.get('tag') objects = objects.filter(tags__name__in=[tag]) try: p = int(request.GET.get('page', '1')) except ValueError: p = 1 paginator = Paginator(objects, 10) # If page request (9999) is out of range, deliver last page of results. try: entries = paginator.page(p) except (EmptyPage, InvalidPage): entries = paginator.page(paginator.num_pages) teas = _get_products(request, random=True)[:2] return _render(request, "blog/home.html", locals())
def category(request, slug): curr = _get_currency(request) if slug == _("teas") or slug == _("teaware"): products = None category = get_object_or_404(Category, slug=slug) categories = Category.objects.filter(parent_category__slug=slug) for c in categories: c.products = _get_products(request, c.slug) else: category = get_object_or_404(Category, slug=slug) products = _get_products(request, category.slug) basket = _get_basket(request) if basket and products: for x in products: basket_item = BasketItem.objects.filter(basket=basket, item=x.get_lowest_price(curr)) x.price = x.get_lowest_price(curr) if basket_item.count() > 0: x.basket_quantity = basket_item[0].quantity return _render(request, "shop/category.html", locals())
def category(request, slug): curr = _get_currency(request) if slug == _('teas') or slug == _('teaware'): products = None category = get_object_or_404(Category, slug=slug) categories = Category.objects.filter(parent_category__slug=slug) for c in categories: c.products = _get_products(request, c.slug) else: category = get_object_or_404(Category, slug=slug) products = _get_products(request, category.slug) basket = _get_basket(request) if basket and products: for x in products: basket_item = BasketItem.objects.filter( basket=basket, item=x.get_lowest_price(curr)) x.price = x.get_lowest_price(curr) if basket_item.count() > 0: x.basket_quantity = basket_item[0].quantity return _render(request, "shop/category.html", locals())
def page(request, slug): page = get_object_or_404(Page, slug=slug) if page.slug == _("contact-us"): form = ContactForm() if page.slug == _("learn"): pages = Page.objects.filter(parent__parent__slug=_("learn")).order_by("?")[:10] template = "shop/page.html" if page.template: template = page.template teas = _get_products(request, random=True)[:2] return _render(request, template, locals())
def page(request, slug): page = get_object_or_404(Page, slug=slug) if page.slug == _('contact-us'): form = ContactForm() if page.slug == _('learn'): pages = Page.objects.filter( parent__parent__slug=_('learn')).order_by('?')[:10] template = "shop/page.html" if page.template: template = page.template teas = _get_products(request, random=True)[:2] return _render(request, template, locals())
def tea_view(request, slug): try: added = request.session['ADDED'] except: added = None if added: try: thing = get_object_or_404(BasketItem, id=request.session['ADDED']) from shop.templatetags.convert_weights import convert_weights weight = convert_weights(request, thing.item.weight) message = _("1 x %(weight)s%(unit)s added to your basket!") % { 'weight': weight, 'unit': RequestContext(request)['weight_unit'] } request.session['ADDED'] = None except: pass tea = get_object_or_404(Product, slug=slug) try: review = Review.objects.filter(is_published=True, product=tea, lang=get_language()).order_by('?')[0] except: pass # IF IT'S A MONTHLY ITEM, LET'S REDIRECT HERE: if tea.slug == _('monthly-tea-box'): return monthly_tea_box(request) recommended = _get_products(request, random=True, exclude=tea.id)[:4] prices = UniqueProduct.objects.filter( is_active=True, parent_product=tea, currency=_get_currency(request)).order_by('weight') # IN CASE OF DEALS ON THE PAGE multiple_form = AddMultipleItemsToBasket() return _render(request, "shop/tea_view.html", locals())
def tea_view(request, slug): try: added = request.session["ADDED"] except: added = None if added: try: thing = get_object_or_404(BasketItem, id=request.session["ADDED"]) from shop.templatetags.convert_weights import convert_weights weight = convert_weights(request, thing.item.weight) message = _("1 x %(weight)s%(unit)s added to your basket!") % { "weight": weight, "unit": RequestContext(request)["weight_unit"], } request.session["ADDED"] = None except: pass tea = get_object_or_404(Product, slug=slug) try: review = Review.objects.filter(is_published=True, product=tea, lang=get_language()).order_by("?")[0] except: pass # IF IT'S A MONTHLY ITEM, LET'S REDIRECT HERE: if tea.slug == _("monthly-tea-box"): return monthly_tea_box(request) recommended = _get_products(request, random=True, exclude=tea.id)[:4] prices = UniqueProduct.objects.filter(is_active=True, parent_product=tea, currency=_get_currency(request)).order_by( "weight" ) # IN CASE OF DEALS ON THE PAGE multiple_form = AddMultipleItemsToBasket() return _render(request, "shop/tea_view.html", locals())
def index(request): objects = BlogEntry.objects.filter( is_draft=False, title__isnull=False).exclude( title__exact="None").order_by('-date_added') if request.GET.get('tag'): tag = request.GET.get('tag') objects = objects.filter(tags__name__in=[tag]) try: p = int(request.GET.get('page', '1')) except ValueError: p = 1 paginator = Paginator(objects, 10) # If page request (9999) is out of range, deliver last page of results. try: entries = paginator.page(p) except (EmptyPage, InvalidPage): entries = paginator.page(paginator.num_pages) teas = _get_products(request, random=True)[:2] return _render(request, "blog/home.html", locals())