summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorP. Christeas <p_christ@hol.gr>2010-08-12 14:10:18 +0300
committerP. Christeas <p_christ@hol.gr>2010-08-12 14:10:18 +0300
commit71c5192b080c2ee424c524e5a2b14d03b76be72b (patch)
tree80fd77ac4cd0a4b80502b6faefa151a1872625f5
parent05cdd7507de56d8c1f87c43113d7b90c86b718b8 (diff)
caldav: don't bork if client requests foobar.ics
bzr revid: p_christ@hol.gr-20100812111018-tzpw0yixyuwp4dg0
-rw-r--r--addons/caldav/caldav_node.py14
1 files 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: