comparison 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
comparison
equal deleted inserted replaced
2313:8d5c95c33447 2314:7c8d2e9a0566
669 """Generate a submit button. 669 """Generate a submit button.
670 670
671 Also sneak in the lastactivity and action hidden elements. 671 Also sneak in the lastactivity and action hidden elements.
672 """ 672 """
673 return self.input(type="hidden", name="@lastactivity", 673 return self.input(type="hidden", name="@lastactivity",
674 value=self.activity) + '\n' + \ 674 value=self.activity.local(0)) + '\n' + \
675 self.input(type="hidden", name="@action", value="edit") + '\n' + \ 675 self.input(type="hidden", name="@action", value="edit") + '\n' + \
676 self.input(type="submit", name="submit", value=label) 676 self.input(type="submit", name="submit", value=label)
677 677
678 def journal(self, direction='descending'): 678 def journal(self, direction='descending'):
679 ''' Return a list of HTMLJournalEntry instances. 679 ''' Return a list of HTMLJournalEntry instances.
1267 checked="checked") 1267 checked="checked")
1268 s += 'No' 1268 s += 'No'
1269 return s 1269 return s
1270 1270
1271 class DateHTMLProperty(HTMLProperty): 1271 class DateHTMLProperty(HTMLProperty):
1272 def __init__(self, client, classname, nodeid, prop, name, value,
1273 anonymous=0, offset=None):
1274 HTMLProperty.__init__(self, client, classname, nodeid, prop, name,
1275 value, anonymous=anonymous)
1276 self._offset = offset
1277
1272 def plain(self): 1278 def plain(self):
1273 ''' Render a "plain" representation of the property 1279 ''' Render a "plain" representation of the property
1274 ''' 1280 '''
1275 self.view_check() 1281 self.view_check()
1276 1282
1277 if self._value is None: 1283 if self._value is None:
1278 return '' 1284 return ''
1279 return str(self._value.local(self._db.getUserTimezone())) 1285 if self._offset is None:
1286 offset = self._db.getUserTimezone()
1287 else:
1288 offset = self._offset
1289 return str(self._value.local(offset))
1280 1290
1281 def now(self): 1291 def now(self):
1282 ''' Return the current time. 1292 ''' Return the current time.
1283 1293
1284 This is useful for defaulting a new value. Returns a 1294 This is useful for defaulting a new value. Returns a
1344 ''' Return the date/time as a local (timezone offset) date/time. 1354 ''' Return the date/time as a local (timezone offset) date/time.
1345 ''' 1355 '''
1346 self.view_check() 1356 self.view_check()
1347 1357
1348 return DateHTMLProperty(self._client, self._classname, self._nodeid, 1358 return DateHTMLProperty(self._client, self._classname, self._nodeid,
1349 self._prop, self._formname, self._value.local(offset)) 1359 self._prop, self._formname, self._value, offset=offset)
1350 1360
1351 class IntervalHTMLProperty(HTMLProperty): 1361 class IntervalHTMLProperty(HTMLProperty):
1352 def plain(self): 1362 def plain(self):
1353 ''' Render a "plain" representation of the property 1363 ''' Render a "plain" representation of the property
1354 ''' 1364 '''

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