Mercurial > p > roundup > code
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 ''' |
