From 2c4b2a965b7f666f7ce71fcbdce2985448f7e96e Mon Sep 17 00:00:00 2001 From: Sofia Papagiannaki Date: Fri, 28 Sep 2012 15:48:44 +0300 Subject: [PATCH 1/1] Fix members sorting in group detail --- .../im/templates/im/astakosgroup_detail.html | 40 ++++++++++---------- snf-astakos-app/astakos/im/templatetags/filters.py | 7 +++- 2 files changed, 26 insertions(+), 21 deletions(-) diff --git a/snf-astakos-app/astakos/im/templates/im/astakosgroup_detail.html b/snf-astakos-app/astakos/im/templates/im/astakosgroup_detail.html index 8e2d2b1..dafe133 100644 --- a/snf-astakos-app/astakos/im/templates/im/astakosgroup_detail.html +++ b/snf-astakos-app/astakos/im/templates/im/astakosgroup_detail.html @@ -67,7 +67,7 @@
Owner
{{ o.owners }}
{% for o in owners %} - {% if user == o %} + {% if object.is_owner %} Me {% else%} {{o.realname}} ({{o.email}}) @@ -96,15 +96,15 @@
{% with page|concat:sorting as args %} - {% with object.members|paginate:args as members%} - {% if members %} + {% with object.membership_set.select_related.all|paginate:args as membership %} + {% if membership %}
@@ -118,20 +118,20 @@ - {% for p in members.object_list %} + {% for m in membership.object_list %} - {{p.email}} - {{p.realname}} - {% if p in owners %} + {{m.person.email}} + {{m.person.realname}} + {% if m.person in owners %} Owner {% else %} - {% if p.is_approved %} + {% if m.is_approved %} Approved {% else %} - Pending - {% if o.is_owner %} - Accept - Reject + Pending + {% if object.is_owner %} + Accept + Reject {% endif %} {% endif %} @@ -142,16 +142,16 @@ diff --git a/snf-astakos-app/astakos/im/templatetags/filters.py b/snf-astakos-app/astakos/im/templatetags/filters.py index 065e1a6..80e5875 100644 --- a/snf-astakos-app/astakos/im/templatetags/filters.py +++ b/snf-astakos-app/astakos/im/templatetags/filters.py @@ -36,6 +36,7 @@ import datetime from django import template from django.core.paginator import Paginator, InvalidPage +from django.db.models.query import QuerySet from astakos.im.settings import PAGINATE_BY @@ -97,7 +98,11 @@ def rcut(value, chars = '/'): def paginate(l, args): page, delim, sorting = args.partition(DELIM) if sorting: - l.sort(key=lambda i: getattr(i, sorting)) + if isinstance(l, QuerySet): + l = l.order_by(sorting) + elif isinstance(l, list): + l.sort(key=lambda i: getattr(i, sorting)) + paginator = Paginator(l, PAGINATE_BY) try: -- 1.7.10.4