diff roundup/cgi/templating.py @ 2314:7c8d2e9a0566

fix DateHTMLProperty so local() can override user timezone [SF#953678]
author Richard Jones <richard@users.sourceforge.net>
date Sat, 15 May 2004 03:53:43 +0000
parents 6d16b967f89d
children 41bc4936e115
line wrap: on
line diff
--- a/roundup/cgi/templating.py	Fri May 14 22:43:33 2004 +0000
+++ b/roundup/cgi/templating.py	Sat May 15 03:53:43 2004 +0000
@@ -671,7 +671,7 @@
         Also sneak in the lastactivity and action hidden elements.
         """
         return self.input(type="hidden", name="@lastactivity",
-            value=self.activity) + '\n' + \
+            value=self.activity.local(0)) + '\n' + \
             self.input(type="hidden", name="@action", value="edit") + '\n' + \
             self.input(type="submit", name="submit", value=label)
 
@@ -1269,6 +1269,12 @@
         return s
 
 class DateHTMLProperty(HTMLProperty):
+    def __init__(self, client, classname, nodeid, prop, name, value,
+            anonymous=0, offset=None):
+        HTMLProperty.__init__(self, client, classname, nodeid, prop, name,
+                value, anonymous=anonymous)
+        self._offset = offset
+
     def plain(self):
         ''' Render a "plain" representation of the property
         '''
@@ -1276,7 +1282,11 @@
 
         if self._value is None:
             return ''
-        return str(self._value.local(self._db.getUserTimezone()))
+        if self._offset is None:
+            offset = self._db.getUserTimezone()
+        else:
+            offset = self._offset
+        return str(self._value.local(offset))
 
     def now(self):
         ''' Return the current time.
@@ -1346,7 +1356,7 @@
         self.view_check()
 
         return DateHTMLProperty(self._client, self._classname, self._nodeid,
-            self._prop, self._formname, self._value.local(offset))
+            self._prop, self._formname, self._value, offset=offset)
 
 class IntervalHTMLProperty(HTMLProperty):
     def plain(self):

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