Esempio n. 1
0
def basketPage(request, page = 1):
    """
    The function for the basket page.
    It checks whether the user who opened it is already authenticated or not.
    If it's then shows all the purchased books and provides simple information
    about how much money is needed to be paid for how many books.
    """

    if not request.user.is_authenticated():
        return HttpResponseRedirect('/')

    purchased_books = Purchases.objects.filter(user = request.user)

    books = paginator(purchased_books, page)

    money = 0

    for book in purchased_books:
        money += book.book.price

    data = {'books' : books,
        'purchased_books' : purchased_books.count(),
        'money' : money,
        'url' : settings.URL }

    return direct_to_template(request, 'basket.html', data)
Esempio n. 2
0
def search(request, page = 1):
    found_entries = ''

    type    = request.POST.get('type')
    queryString = request.POST.get('searchBox')

    if queryString == '':
        return HttpResponseRedirect('/')

    if type == 'Author':
        entry_query = getQuery(queryString, ['author__name'])
        found_entries = Books.objects.filter(entry_query)
    elif type == 'Price':
        if not queryString.isdigit():
            return HttpResponseRedirect('/')
        found_entries = Books.objects.filter(price = queryString)
    elif type == 'Title':
        entry_query = getQuery(queryString, ['title'])
        found_entries = Books.objects.filter(entry_query)

    bookP = paginator(found_entries, page)

    data = {'url' : settings.URL,
            'books' : bookP }

    return direct_to_template(request, 'searchPage.html', data)
Esempio n. 3
0
def categoryPage(request, chosen_category = None, page = '1', ordered_by = 'pub_date'):
    books = paginator(Books.objects.filter(category = chosen_category).order_by(ordered_by), page)
    purchased_books = 0

    if request.user.is_authenticated():
        purchased_books = Purchases.objects.filter(user = request.user).count()

    data = {'categories' : Categories.objects.all().order_by('name'),
            'books' : books,
            'purchased_books' : purchased_books,
            'url' : settings.URL,
            'category' : chosen_category,
            'ordered_by' : ordered_by }

    return direct_to_template(request, 'books.html', data)