Mercurial > p > roundup > code
diff roundup/backends/back_metakit.py @ 1176:bd3b57859c37
On second thought, that last checkin was dumb.
The old, nasty, for-purely-historical-reasons journaltag-as-username has
gone away now. The code should handle existing journaltag-as-username
entries, but will use userid from now on.
| author | Richard Jones <richard@users.sourceforge.net> |
|---|---|
| date | Fri, 20 Sep 2002 05:08:00 +0000 |
| parents | 762f48bfbc0b |
| children | 24a1a5de1203 |
line wrap: on
line diff
--- a/roundup/backends/back_metakit.py Fri Sep 20 01:48:34 2002 +0000 +++ b/roundup/backends/back_metakit.py Fri Sep 20 05:08:00 2002 +0000 @@ -48,10 +48,16 @@ # --- defined in ping's spec def __getattr__(self, classname): if classname == 'curuserid': + if self.journaltag is None: + return None + try: self.curuserid = x = int(self.classes['user'].lookup(self.journaltag)) except KeyError: - x = 0 + if self.journaltag == 'admin': + self.curuserid = x = 1 + else: + x = 0 return x elif classname == 'transactions': return self.dirty @@ -194,7 +200,7 @@ self.privateprops = { 'id' : hyperdb.String(), 'activity' : hyperdb.Date(), 'creation' : hyperdb.Date(), - 'creator' : hyperdb.String() } + 'creator' : hyperdb.Link('user') } self.auditors = {'create': [], 'set': [], 'retire': []} # event -> list of callables self.reactors = {'create': [], 'set': [], 'retire': []} # ditto view = self.__getview() @@ -291,7 +297,7 @@ if propvalues.has_key('id'): raise KeyError, '"id" is reserved' if self.db.journaltag is None: - raise DatabaseError, 'Database open read-only' + raise hyperdb.DatabaseError, 'Database open read-only' view = self.getview(1) # node must exist & not be retired id = int(nodeid) @@ -341,7 +347,7 @@ # must be a string or None if value is not None and not isinstance(value, type('')): raise ValueError, 'property "%s" link value be a string'%( - propname) + key) # Roundup sets to "unselected" by passing None if value is None: value = 0
