Skip to content

Commit

Permalink
Fixes
Browse files Browse the repository at this point in the history
  • Loading branch information
Mateusz Mikołajczyk committed Nov 29, 2011
1 parent 5654c71 commit 248f186
Show file tree
Hide file tree
Showing 5 changed files with 56 additions and 45 deletions.
11 changes: 9 additions & 2 deletions grid/__init__.py
Expand Up @@ -34,7 +34,7 @@ def __init__(self, request, per_page = 50, queryset = None, order_by = None):
order = self.request.GET.get("order", order_by)

if meta:
if not queryset:
if queryset is None:
queryset = meta.model.objects
sortable = getattr(meta, "sortable", ())
nonsortable = getattr(meta, "nonsortable", ())
Expand Down Expand Up @@ -67,4 +67,11 @@ def paginator(self):

@property
def columns(self):
return self._columns
return self._columns

@property
def url(self):
url = self.request.get_full_path()
if not self.request.GET:
url += "?"
return url
4 changes: 2 additions & 2 deletions grid/templatetags/dict.py
Expand Up @@ -11,5 +11,5 @@ def get(dict, key):
return getattr(dict, key)

return None
register.filter(get)

register.filter(get)
10 changes: 10 additions & 0 deletions grid/templatetags/request.py
@@ -0,0 +1,10 @@
from django.template import Library

register = Library()

def page(qdict, value):
newd = qdict.copy()
newd["page"] = value
return newd.urlencode()

register.filter(page)
69 changes: 31 additions & 38 deletions templates/grid/object_list.html
@@ -1,39 +1,32 @@
<div class="box">
{% if title %}
<div class="title">
<h5>{{ title }}</h5>
</div>
{% endif %}
<div class="table">
<table>
<thead>
<tr>
{% for col in grid.columns %}
<th>
{% if col.sortable %}
<a href="{{ grid.request.path }}?order={{ col.order }}&page={{ grid.page.number }}">{{ col.label }}</a>
{% else %}
{{ col.label }}
{% endif %}
</th>
{% endfor %}
</tr>
</thead>
<tbody>
{% if grid.page.object_list %}
{% for row in grid.page.object_list %}
{% include row_template|default:"grid/row.html" %}
<div class="table">
<table>
<thead>
<tr>
{% for col in grid.columns %}
<th>
{% if col.sortable %}
<a href="{{ grid.request.path }}?order={{ col.order }}&page={{ grid.page.number }}">{{ col.label }}</a>
{% else %}
{{ col.label }}
{% endif %}
</th>
{% endfor %}
{% else %}
<tr>
<td colspan="{{ grid.columns|length }}" align="center">Brak rekordów do wyświetlenia</td>
</tr>
{% endif %}
</tbody>
</table>

{% if grid.paginator.num_pages > 1 %}
{% include paginator_template|default:"grid/paginator.html" %}
{% endif %}
</div>
</div>
</tr>
</thead>
<tbody>
{% if grid.page.object_list %}
{% for row in grid.page.object_list %}
{% include row_template|default:"grid/row.html" %}
{% endfor %}
{% else %}
<tr>
<td colspan="{{ grid.columns|length }}" align="center">Brak rekordów do wyświetlenia</td>
</tr>
{% endif %}
</tbody>
</table>

{% if grid.paginator.num_pages > 1 %}
{% include paginator_template|default:"grid/paginator.html" %}
{% endif %}
</div>
7 changes: 4 additions & 3 deletions templates/grid/paginator.html
@@ -1,21 +1,22 @@
{% load request %}
<div class="pagination pagination-left">
<div class="results">
<span>Wyniki od {{ grid.page.start_index }} do {{ grid.page.end_index }} z {{ grid.paginator.count }}</span>
</div>
<ul class="pager">
{% if grid.page.has_previous %}
<li><a href="{{ request.path }}?order={{ request.GET.order }}&page={{grid.page.previous_page_number}}" title="Poprzednia">&laquo; Poprzednia</a></li>
<li><a href="{{ request.path }}?{{ request.GET|page:grid.page.previous_page_number }}" title="Poprzednia">&laquo; Poprzednia</a></li>
{% endif %}
{% for pagenum in grid.paginator.page_range %}
{% ifequal pagenum grid.page.number %}
<li class="current">{{ pagenum }}</li>
{% else %}
<li><a href="{{ request.path }}?order={{ request.GET.order }}&page={{pagenum}}" title="Strona {{pagenum}}">{{pagenum}}</a></li>
<li><a href="{{ request.path }}?{{ request.GET|page:pagenum}}" title="Strona {{pagenum}}">{{pagenum}}</a></li>
{% endifequal %}
{% endfor %}

{% if grid.page.has_next %}
<li><a href="{{ request.path }}?order={{ request.GET.order }}&page={{grid.page.next_page_number}}" title="Kolejna">Kolejna &raquo;</a></li>
<li><a href="{{ request.path }}?{{ request.GET|page:grid.page.next_page_number}}" title="Kolejna">Kolejna &raquo;</a></li>
{% endif %}
</ul>
</div>

0 comments on commit 248f186

Please sign in to comment.