From 611ad219fa7301ec2902348f719c123cfc6425a2 Mon Sep 17 00:00:00 2001 From: Helmut Merz Date: Mon, 19 Mar 2012 19:06:15 +0100 Subject: [PATCH] provide appropriate default definition for sort value; extend identifier query to support '*' queries --- expert/field.py | 3 +++ expert/query.py | 8 +++++--- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/expert/field.py b/expert/field.py index 251c1d8..26e1390 100644 --- a/expert/field.py +++ b/expert/field.py @@ -149,6 +149,9 @@ class RelationField(Field): def getValue(self, row): return self.getRawValue(row) + def getSortValue(self, row): + return self.getDisplayValue(row)['title'] + def getDisplayValue(self, row): value = self.getValue(row) if value is None: diff --git a/expert/query.py b/expert/query.py index 63e91ab..a9e9b06 100644 --- a/expert/query.py +++ b/expert/query.py @@ -1,5 +1,5 @@ # -# Copyright (c) 2008 Helmut Merz helmutm@cy55.de +# Copyright (c) 2012 Helmut Merz helmutm@cy55.de # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -18,8 +18,6 @@ """ Generic query functionality for retrieving stuff from a loops database. - -$Id$ """ from BTrees.IIBTree import IITreeSet @@ -58,6 +56,10 @@ def Text(value): @implementer(IQuery) def Identifier(value): + if value.endswith('*'): + v1 = value[:-1] + v2 = value[:-1] + '\x7f' + return Between(identifierIndex, v1, v2) return Eq(identifierIndex, value) @implementer(IQuery)