From 71c5192b080c2ee424c524e5a2b14d03b76be72b Mon Sep 17 00:00:00 2001 From: "P. Christeas" Date: Thu, 12 Aug 2010 14:10:18 +0300 Subject: [PATCH] caldav: don't bork if client requests foobar.ics bzr revid: p_christ@hol.gr-20100812111018-tzpw0yixyuwp4dg0 --- addons/caldav/caldav_node.py | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/addons/caldav/caldav_node.py b/addons/caldav/caldav_node.py index 5ebe38cc308..700caafa0f0 100644 --- a/addons/caldav/caldav_node.py +++ b/addons/caldav/caldav_node.py @@ -86,11 +86,11 @@ class node_calendar_collection(nodes.node_dir): res.append(node_calendar(cal.name, self, self.context, cal)) if (not name) or ext: res.append(res_node_calendar(cal.name+'.ics', self, self.context, cal)) - # May be both of them! + # May be both of them! return res def _get_dav_owner(self, cr): - # Todo? + # Todo? return False def _get_ttag(self, cr): @@ -206,7 +206,15 @@ class node_calendar(nodes.node_class): if name: if name.endswith('.ics'): name = name[:-4] - where.append(('id','=',int(name))) + try: + where.append(('id','=',int(name))) + except ValueError: + # if somebody requests any other name than the ones we + # generate (non-numeric), it just won't exist + # FIXME: however, this confuses Evolution (at least), which + # thinks the .ics node hadn't been saved. + return [] + if not domain: domain = [] #for opr1, opt, opr2 in domain: