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   

Roundup Issue Tracker: http://roundup-tracker.org/