Example #1
0
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())
Example #2
0
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())
Example #3
0
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())
Example #4
0
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())
Example #5
0
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())
Example #6
0
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())
Example #7
0
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())
Example #8
0
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())