Skip to content

Commit 6ca4eaf

Browse files
committed
merge changes.txt date update
2 parents b996b08 + 130f9b5 commit 6ca4eaf

File tree

1 file changed

+15
-5
lines changed

1 file changed

+15
-5
lines changed

roundup/cgi/templating.py

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2636,12 +2636,19 @@ def sorted(self, property, reverse=False, NoneFirst=False):
26362636

26372637
value = list(self.__iter__())
26382638

2639-
# determine orderprop for property.
2640-
if value:
2641-
orderprop = value[0]._db.getclass(property).orderprop()
2642-
else: # return empty list, nothing to sort.
2639+
if not value:
2640+
# return empty list, nothing to sort.
26432641
return value
26442642

2643+
# determine orderprop for property if property is a link or multilink
2644+
prop = self._db.getclass(self._classname).getprops()[property]
2645+
if type(prop) in [hyperdb.Link, hyperdb.Multilink]:
2646+
orderprop = value[0]._db.getclass(prop.classname).orderprop()
2647+
sort_by_link = True
2648+
else:
2649+
orderprop = property
2650+
sort_by_link = False
2651+
26452652
def keyfunc(v):
26462653
# Return tuples made of (group order (int), base python
26472654
# type) to sort function.
@@ -2652,7 +2659,10 @@ def keyfunc(v):
26522659
if not prop._value:
26532660
return (NoneCode, None)
26542661

2655-
val = prop[orderprop]._value
2662+
if sort_by_link:
2663+
val = prop[orderprop]._value
2664+
else:
2665+
val = prop._value
26562666

26572667
if val is None: # verify orderprop is set to a value
26582668
return (NoneCode, None)

0 commit comments

Comments
 (0)