Esempio n. 1
0
def staff_purchase(request):
    user = request.REQUEST.get('user')
    if user:
        purchases = get_merged_purchases(User.get(pk=user))
    else:
        purchases = Purchase.objects.all()

    book = request.REQUEST.get('book')
    if book:
        purchases = purchases.filter(publication__book=Book.get(pk=book))
        
    status = request.REQUEST.get('status') or 'RSX'
    purchases = purchases.filter(status__in=status)
    
    sort = request.REQUEST.get('sort')
    if sort:
        purchases = purchases.annotate(downloads=Count('download')).order_by(sort.strip("+"))
        
    purchasepager = Pager(request, purchases.count(), pagesize=50)
    purchases = purchases[purchasepager.slice]
    
    toggle_pending = request.GET.copy()
    toggle_pending["status"] = ['RSX', 'PRSCX'][status == 'RSX']
    toggle_pending = '?' + toggle_pending.urlencode()

    return render_to_response("bookstore/staff_purchases.html", locals())