added enhancement 1626, marker shown in grid also for default orderby
This commit is contained in:
+19
-10
@@ -13,12 +13,7 @@ Holds:
|
|||||||
- form_factory: provides a SQLFORM for an non-db backed table
|
- form_factory: provides a SQLFORM for an non-db backed table
|
||||||
|
|
||||||
"""
|
"""
|
||||||
try:
|
|
||||||
from urlparse import parse_qs as psq
|
|
||||||
except ImportError:
|
|
||||||
from cgi import parse_qs as psq
|
|
||||||
import os
|
import os
|
||||||
import copy
|
|
||||||
from http import HTTP
|
from http import HTTP
|
||||||
from html import XmlComponent
|
from html import XmlComponent
|
||||||
from html import XML, SPAN, TAG, A, DIV, CAT, UL, LI, TEXTAREA, BR, IMG, SCRIPT
|
from html import XML, SPAN, TAG, A, DIV, CAT, UL, LI, TEXTAREA, BR, IMG, SCRIPT
|
||||||
@@ -2193,18 +2188,32 @@ class SQLFORM(FORM):
|
|||||||
headcols = []
|
headcols = []
|
||||||
if selectable:
|
if selectable:
|
||||||
headcols.append(TH(_class=ui.get('default')))
|
headcols.append(TH(_class=ui.get('default')))
|
||||||
|
|
||||||
|
ordermatch, marker = orderby, ''
|
||||||
|
if orderby:
|
||||||
|
#if orderby is a single column, remember to put the marker
|
||||||
|
if isinstance(orderby, Expression):
|
||||||
|
if orderby.first and not orderby.second:
|
||||||
|
ordermatch, marker = orderby.first, '~'
|
||||||
|
ordermatch = marker + str(ordermatch)
|
||||||
for field in columns:
|
for field in columns:
|
||||||
if not field.readable:
|
if not field.readable:
|
||||||
continue
|
continue
|
||||||
key = str(field)
|
key = str(field)
|
||||||
header = headers.get(str(field), field.label or key)
|
header = headers.get(str(field), field.label or key)
|
||||||
if sortable and not isinstance(field, Field.Virtual):
|
if sortable and not isinstance(field, Field.Virtual):
|
||||||
if key == order:
|
marker = ''
|
||||||
key, marker = '~' + order, sorter_icons[0]
|
if order:
|
||||||
elif key == order[1:]:
|
if key == order:
|
||||||
marker = sorter_icons[1]
|
key, marker = '~' + order, sorter_icons[0]
|
||||||
|
elif key == order[1:]:
|
||||||
|
marker = sorter_icons[1]
|
||||||
else:
|
else:
|
||||||
marker = ''
|
print 'a', key, ordermatch
|
||||||
|
if key == ordermatch:
|
||||||
|
key, marker = '~' + order, sorter_icons[0]
|
||||||
|
elif key == ordermatch[1:]:
|
||||||
|
marker = sorter_icons[1]
|
||||||
header = A(header, marker, _href=url(vars=dict(
|
header = A(header, marker, _href=url(vars=dict(
|
||||||
keywords=request.vars.keywords or '',
|
keywords=request.vars.keywords or '',
|
||||||
order=key)), _class=trap_class())
|
order=key)), _class=trap_class())
|
||||||
|
|||||||
Reference in New Issue
Block a user