1.1 --- a/imip_manager.py Mon Feb 02 19:43:41 2015 +0100
1.2 +++ b/imip_manager.py Mon Feb 02 19:52:55 2015 +0100
1.3 @@ -312,6 +312,9 @@
1.4 def remove_request(self, uid):
1.5 return self.store.dequeue_request(self.user, uid)
1.6
1.7 + def remove_event(self, uid):
1.8 + return self.store.remove_event(self.user, uid)
1.9 +
1.10 # Presentation methods.
1.11
1.12 def new_page(self, title):
1.13 @@ -443,8 +446,9 @@
1.14
1.15 elif args.has_key("discard"):
1.16
1.17 - # Remove the request from the list.
1.18 + # Remove the request and the object.
1.19
1.20 + self.remove_event(uid)
1.21 self.remove_request(uid)
1.22
1.23 else:
2.1 --- a/imip_store.py Mon Feb 02 19:43:41 2015 +0100
2.2 +++ b/imip_store.py Mon Feb 02 19:52:55 2015 +0100
2.3 @@ -24,7 +24,7 @@
2.4 from imiptools.data import make_calendar, to_stream
2.5 from imiptools.filesys import fix_permissions, FileBase
2.6 from os.path import exists, isfile, join
2.7 -from os import listdir
2.8 +from os import listdir, remove
2.9
2.10 class FileStore(FileBase):
2.11
2.12 @@ -70,6 +70,21 @@
2.13
2.14 return True
2.15
2.16 + def remove_event(self, user, uid):
2.17 +
2.18 + "Remove an event for 'user' having the given 'uid'."
2.19 +
2.20 + filename = self.get_object_in_store(user, "objects", uid)
2.21 + if not filename:
2.22 + return False
2.23 +
2.24 + try:
2.25 + remove(filename)
2.26 + except OSError:
2.27 + return False
2.28 +
2.29 + return True
2.30 +
2.31 def get_freebusy(self, user):
2.32
2.33 "Get free/busy details for the given 'user'."