[Zope-CMF] Effective Date inconsistencies
Alexander Limi
limi at plone.org
Sat Jun 23 05:18:25 EDT 2007
Hi,
I was trying to do a very simple template operation today:
1. Show the Effective Date if it is identical or more recent than the
Modification Date
2. Show both Effective and Modification Dates if Modification Date >
Effective Date
Should be simple, right?
<p tal:condition="context/EffectiveDate">
Published on […]
</p>
<p tal:condition="python: context.EffectiveDate() <
context.ModificationDate()">
Modified on […]
</p>
Not so:
- EffectiveDate returns a *string* 'None' when it has no value (wtf?)
- Then I think "that's what 'effective' is for" — it return __FLOOR_DATE
if unset, so no False there either.
There seems to be no way of getting the effective date to actually return
a False value.
I am forced to crazy conditions like these:
tal:condition="python:context.EffectiveDate()!='None'">
and
tal:condition="python:context.EffectiveDate()!='None' and
context.EffectiveDate() < context.ModificationDate()">
…and then Stefan says "I don't know whole story of your condition, you may
need to use == and or or whatever, point being you have to guard for
EffectiveDate being 'None'"
At which point I want to ask: Can we fix this in CMF 2.1, so it is
possible to get False values from the date objects? The current situation
seems pretty ridiculous. I might have missed it if there is a better way,
but I couldn't find any.
--
Alexander Limi · http://limi.net
More information about the Zope-CMF
mailing list