--- a/web/hdabo/views.py Fri Jul 08 12:03:07 2011 +0200
+++ b/web/hdabo/views.py Fri Jul 08 12:09:59 2011 +0200
@@ -183,7 +183,7 @@
@login_required
-def all_tags(request, num_page=None, nb_by_page=None, searched=None):
+def all_tags(request, num_page=None, nb_by_page=None, alpha="false", searched=None):
# If the view is asked after a form sent with post vars, it means that searched is a post var.
if u"searched" in request.POST :
@@ -192,7 +192,7 @@
num_page = 1
# Get paginator and current page
- current_page, p, num_page, nb_by_page = get_current_page(num_page, nb_by_page, searched)
+ current_page, p, num_page, nb_by_page = get_current_page(num_page, nb_by_page, alpha, searched)
prev_page = max(num_page - 1, 1)
next_page = min(num_page + 1, p.num_pages)
@@ -218,7 +218,7 @@
'prev_page':prev_page, 'next_page':next_page, 'last_page':last_page,
'num_page':num_page, 'nb_by_page':nb_by_page, 'searched':searched,
'categories':json.dumps(get_categories()),
- 'search_def':search_def, 'searched':searched},
+ 'search_def':search_def, 'alpha':alpha},
context_instance=RequestContext(request))
@@ -267,16 +267,16 @@
@login_required
-def get_all_tags_table(request, num_page=None, nb_by_page=None, searched=None):
+def get_all_tags_table(request, num_page=None, nb_by_page=None, alpha="false", searched=None):
- current_page, p, num_page, nb_by_page = get_current_page(num_page, nb_by_page, searched) #@UnusedVariable
+ current_page, p, num_page, nb_by_page = get_current_page(num_page, nb_by_page, alpha, searched) #@UnusedVariable
return render_to_response("partial/all_tags_table.html",
- {'tags':current_page.object_list},
+ {'tags':current_page.object_list, 'nb_by_page':nb_by_page, 'searched':searched},
context_instance=RequestContext(request))
-def get_current_page(num_page=None, nb_by_page=None, searched=None):
+def get_current_page(num_page=None, nb_by_page=None, alpha="false", searched=None):
base_queryset = Tag.objects
@@ -285,7 +285,12 @@
regex = "^%s$" % (re.escape(searched).replace(re.escape(settings.SEARCH_STAR_CHARACTER),".*"))
base_queryset = base_queryset.filter(normalized_label__iregex=regex)
- alltags = base_queryset.annotate(num_ds=Count('datasheet')).order_by('-popularity','-num_ds','normalized_label', 'label')
+ alltags = base_queryset.annotate(num_ds=Count('datasheet'))
+ if alpha and (alpha=="true" or alpha=="1") :
+ alltags = alltags.order_by('normalized_label', 'label')
+ else :
+ alltags = alltags.order_by('-popularity','-num_ds', 'normalized_label', 'label')
+ #alltags = alltags.order_by('-popularity','label')
# We build the paginator for the requested list
if nb_by_page :
@@ -359,7 +364,7 @@
if old_pageid != pageid:
TaggedSheet.objects.filter(tag=tag).update(wikipedia_revision_id=revision_id)
- return get_all_tags_table(request=request, num_page=request.POST["num_page"], nb_by_page=request.POST["nb_by_page"], searched=request.POST["searched"])
+ return get_all_tags_table(request=request, num_page=request.POST["num_page"], nb_by_page=request.POST["nb_by_page"], alpha=request.POST["alpha"], searched=request.POST["searched"])
@login_required
@@ -420,7 +425,7 @@
if u"datasheet_id" in request.POST :
return get_tag_table(request=request, ds_id=request.POST["datasheet_id"], valid=0)
else :
- return get_all_tags_table(request=request, num_page=request.POST["num_page"], nb_by_page=request.POST["nb_by_page"], searched=request.POST["searched"])
+ return get_all_tags_table(request=request, num_page=request.POST["num_page"], nb_by_page=request.POST["nb_by_page"], alpha=request.POST["alpha"], searched=request.POST["searched"])
@login_required
@@ -477,7 +482,7 @@
if u"datasheet_id" in request.POST :
return get_tag_table(request=request, ds_id=request.POST["datasheet_id"], valid=0)
else :
- return get_all_tags_table(request=request, num_page=request.POST["num_page"], nb_by_page=request.POST["nb_by_page"], searched=request.POST["searched"])
+ return get_all_tags_table(request=request, num_page=request.POST["num_page"], nb_by_page=request.POST["nb_by_page"], alpha=request.POST["alpha"], searched=request.POST["searched"])
@login_required
@@ -523,7 +528,7 @@
if u"datasheet_id" in request.POST :
return get_tag_table(request=request, ds_id=request.POST["datasheet_id"], valid=0)
else :
- return get_all_tags_table(request=request, num_page=request.POST["num_page"], nb_by_page=request.POST["nb_by_page"], searched=request.POST["searched"])
+ return get_all_tags_table(request=request, num_page=request.POST["num_page"], nb_by_page=request.POST["nb_by_page"], alpha=request.POST["alpha"], searched=request.POST["searched"])
def get_categories():
@@ -549,7 +554,7 @@
if u"datasheet_id" in request.POST :
return get_tag_table(request=request, ds_id=request.POST["datasheet_id"], valid=0)
else :
- return get_all_tags_table(request=request, num_page=request.POST["num_page"], nb_by_page=request.POST["nb_by_page"], searched=request.POST["searched"])
+ return get_all_tags_table(request=request, num_page=request.POST["num_page"], nb_by_page=request.POST["nb_by_page"], alpha=request.POST["alpha"], searched=request.POST["searched"])
@login_required
def reorder_tag_datasheet(request):