Revision e1dc6dec snf-astakos-app/astakos/im/views.py

b/snf-astakos-app/astakos/im/views.py
971 971

  
972 972
    # validate sorting
973 973
    sorting = 'groupname'
974
    ordering = ''
974 975
    sort_form = AstakosGroupSortForm(request.GET)
975 976
    if sort_form.is_valid():
976 977
        sorting = sort_form.cleaned_data.get('sorting')
977
    query = query+" ORDER BY %s ASC" %sorting
978
        ordering = request.GET.get('ordering', 'ASC' )
979
        
980
    query = query+" ORDER BY %s %s" %(sorting, ordering)
978 981

  
979 982
    q = AstakosGroup.objects.raw(query)
980 983

  
......
983 986
        q.model._meta.app_label,
984 987
        q.model._meta.object_name.lower()
985 988
    )
989
    
986 990
    extra_context = dict(
987 991
        is_search=False,
988 992
        q=q,
989 993
        sorting=sorting,
990
        page=request.GET.get('page', 1)
994
        page=request.GET.get('page', 1),
995
        ordering=ordering,
991 996
    )
992 997
    return render_response(template_name,
993 998
                           context_instance=get_context(request, extra_context)
......
1103 1108
        form = AstakosGroupSearchForm(get_query(request))
1104 1109
        if form.is_valid():
1105 1110
            q = form.cleaned_data['q'].strip()
1106

  
1111
            
1107 1112
    sorting = 'groupname'
1113
    order_dict = {'ASC':'', 'DESC':'-'  }
1114
    ordering = ''
1115
    sort_order = 'groupname' 
1108 1116
    if q:
1109 1117
        queryset = AstakosGroup.objects.select_related()
1110 1118
        queryset = queryset.filter(~Q(kind__name='default'))
......
1141 1149
                    })
1142 1150

  
1143 1151
        # validate sorting
1152
        
1153
        
1144 1154
        sort_form = AstakosGroupSortForm(request.GET)
1145 1155
        if sort_form.is_valid():
1146 1156
            sorting = sort_form.cleaned_data.get('sorting')
1147
        queryset = queryset.order_by(sorting)
1157
            ordering = request.GET.get('ordering','ASC')
1158
            sort_order = order_dict[ordering]+sorting
1159
        queryset = queryset.order_by(sort_order)
1148 1160

  
1149 1161
    else:
1150 1162
        queryset = AstakosGroup.objects.none()
......
1157 1169
        extra_context=dict(form=form,
1158 1170
                           is_search=True,
1159 1171
                           q=q,
1160
                           sorting=sorting))
1172
                           sorting=sorting,
1173
                           ordering=ordering))
1161 1174

  
1162 1175

  
1163 1176
@require_http_methods(["GET", "POST"])
......
1192 1205

  
1193 1206
    # validate sorting
1194 1207
    sorting = 'groupname'
1208
    order_dict = {'ASC':'', 'DESC':'-'  }
1209
    ordering = ''
1210
    sort_order = 'groupname'
1195 1211
    sort_form = AstakosGroupSortForm(request.GET)
1212
    
1196 1213
    if sort_form.is_valid():
1197 1214
        sorting = sort_form.cleaned_data.get('sorting')
1198
    q = q.order_by(sorting)
1199

  
1215
        ordering = request.GET.get('ordering','ASC')
1216
        sort_order = order_dict[ordering]+sorting
1217
    q = q.order_by(sort_order)
1218
    
1200 1219
    return object_list(
1201 1220
        request,
1202 1221
        q,
......
1205 1224
        template_name='im/astakosgroup_list.html',
1206 1225
        extra_context=dict(form=AstakosGroupSearchForm(),
1207 1226
                           is_search=True,
1208
                           sorting=sorting))
1227
                           sorting=sorting,
1228
                           ordering=ordering))
1209 1229

  
1210 1230

  
1211 1231
#@require_http_methods(["POST"])
......
1471 1491
        template='im/how_it_works.html',
1472 1492
        context_instance=get_context(request),)
1473 1493

  
1494
def test(v):
1495
    res = 'foo'
1496
    return res

Also available in: Unified diff