Steps to reproduce:
- go to some calendar on the month tab
- use the top left day widget and select the 31th of august for instance
- click on the next month tab (marked ">>"):
File "/home/ogrisel/instances/epm/Products/CalZope/browser/navigation.py", line 110, in __init__
new_date = self.calcDate()
File "/home/ogrisel/instances/epm/Products/CalZope/browser/navigation.py", line 199, in calcDate
return date(self.context.getYear(), self.context.getMonth(), self.day)
ValueError: day is out of range for month
Where self.day is 31 which does not exists in september.