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())