Mercurial > p > roundup > code
diff roundup/backends/back_metakit.py @ 926:3216c4f06ec4
Fixes to the search form and saving queries.
Fixes to sorting in back_metakit.py.
| author | Gordon B. McMillan <gmcm@users.sourceforge.net> |
|---|---|
| date | Wed, 31 Jul 2002 22:40:50 +0000 |
| parents | 9f291a3c6d81 |
| children | 51519406b73e |
line wrap: on
line diff
--- a/roundup/backends/back_metakit.py Wed Jul 31 22:04:48 2002 +0000 +++ b/roundup/backends/back_metakit.py Wed Jul 31 22:40:50 2002 +0000 @@ -46,6 +46,8 @@ except KeyError: x = 0 return x + elif classname == 'transactions': + return self.dirty return self.getclass(classname) def getclass(self, classname): return self.classes[classname] @@ -479,10 +481,11 @@ row._isdel = 1 if self.do_journal: self.db.addjournal(self.classname, nodeid, _RETIRE, {}) - iv = self.getindexview(1) - ndx = iv.find(k=getattr(row, self.keyname),i=row.id) - if ndx > -1: - iv.delete(ndx) + if self.keyname: + iv = self.getindexview(1) + ndx = iv.find(k=getattr(row, self.keyname),i=row.id) + if ndx > -1: + iv.delete(ndx) self.db.dirty = 1 self.fireReactors('retire', nodeid, None) def history(self, nodeid): @@ -732,7 +735,24 @@ try: prop = getattr(v, propname) except AttributeError: + print "MK has no property %s" % propname continue + propclass = self.ruprops.get(propname, None) + if propclass is None: + propclass = self.privateprops.get(propname, None) + if propclass is None: + print "Schema has no property %s" % propname + continue + if isinstance(propclass, hyperdb.Link): + linkclass = self.db.getclass(propclass.classname) + lv = linkclass.getview() + lv = lv.rename('id', propname) + v = v.join(lv, prop, 1) + if linkclass.getprops().has_key('order'): + propname = 'order' + else: + propname = linkclass.labelprop() + prop = getattr(v, propname) if isreversed: rev.append(prop) sortspec.append(prop)
