Browse Source

pagination for transaction_list

master
Frederic 11 years ago
parent
commit
93869a745d
  1. 11
      cash/templates/cash/transaction_list.html
  2. 6
      cash/urls.py
  3. 15
      cash/views.py

11
cash/templates/cash/transaction_list.html

@ -8,9 +8,9 @@ @@ -8,9 +8,9 @@
{% if transaction_list %}
{% if detailed %}
<a href="{% url 'transactions' %}" class="btn btn-default">weniger Details</a>
<a href="{% url 'transactions' transaction_list.number %}" class="btn btn-default">weniger Details</a>
{% else %}
<a href="{% url 'transactions_detailed' %}" class="btn btn-default">mehr Details</a>
<a href="{% url 'transactions_detailed' transaction_list.number %}" class="btn btn-default">mehr Details</a>
{% endif %}
<br/>
@ -27,6 +27,13 @@ @@ -27,6 +27,13 @@
{% endfor %}
</table>
<ul class="pagination">
<li {% if not transaction_list.has_previous %}class="disabled"{% endif %}><a href="{% if transaction_list.has_previous %}{% if detailed %}{% url 'transactions_detailed' page=transaction_list.previous_page_number %}{% else %}{% url 'transactions' page=transaction_list.previous_page_number %}{% endif %}{% endif %}">&laquo;</a></li>
<li><span>Seite {{ transaction_list.number }} von {{ transaction_list.paginator.num_pages }}</span></li>
<li {% if not transaction_list.has_next %}class="disabled"{% endif %}><a href="{% if transaction_list.has_next %}{% if detailed %}{% url 'transactions_detailed' page=transaction_list.next_page_number %}{% else %}{% url 'transactions' page=transaction_list.next_page_number %}{% endif %}{% endif %}">&raquo;</a></li>
</ul>
{% else %}
Es wurden noch keine Transaktionen durchgeführt.
{% endif %}

6
cash/urls.py

@ -6,9 +6,11 @@ urlpatterns = patterns('', @@ -6,9 +6,11 @@ urlpatterns = patterns('',
url(r'^product/(?P<pk>\d+)/$', views.ProductView.as_view(), name='product'),
url(r'transactions/$', views.transactions, name='transactions'),
url(r'transactions/$', views.transactions, {'detailed': False, 'page':1}, name='transactions'),
url(r'transactions/detailed/$', views.transactions, {'detailed': True},
url(r'transactions/(?P<page>\d+)/$', views.transactions, {'detailed': False}, name='transactions'),
url(r'transactions/(?P<page>\d+)/detailed/$', views.transactions, {'detailed': True},
name='transactions_detailed'),
url(r'products/((?P<category_id>\d+)/)?$', views.products, name='products'),

15
cash/views.py

@ -3,6 +3,7 @@ from django import forms @@ -3,6 +3,7 @@ from django import forms
from django.shortcuts import render_to_response, get_object_or_404
from django.contrib.auth.decorators import login_required
from django.template import RequestContext
from django.core import paginator
from cash.models import *
@login_required
@ -15,10 +16,18 @@ class ProductView(generic.DetailView): @@ -15,10 +16,18 @@ class ProductView(generic.DetailView):
@login_required
def transactions(request, detailed=False):
def transactions(request, detailed, page):
a = request.user.account
transaction_list = Transaction.objects.filter(account=a).order_by(
'-timestamp')
transactions = Transaction.objects.filter(account=a).order_by('-timestamp')
if page is None:
page = 1
pagi = paginator.Paginator(transactions, 10)
try:
transaction_list = pagi.page(page)
except paginator.EmptyPage:
transaction_list = paginator.page(paginator.num_pages)
context = RequestContext(request, { 'transaction_list': transaction_list,
'detailed': detailed })

Loading…
Cancel
Save