# HG changeset patch # User Paul Boddie # Date 1442678327 -7200 # Node ID 53408cd94020d4d57aa883934bce1be4827fb489 # Parent 07be124ea8244b843b3d3d0a1ef025cbdac78dd7 Normalised attendees to allow reliable testing; fixed attendee removal to prevent attendees being marked for removal due to the actual removal of ones earlier in the list. diff -r 07be124ea824 -r 53408cd94020 imipweb/event.py --- a/imipweb/event.py Sat Sep 19 17:23:16 2015 +0200 +++ b/imipweb/event.py Sat Sep 19 17:58:47 2015 +0200 @@ -20,7 +20,7 @@ """ from datetime import date, timedelta -from imiptools.data import get_uri, uri_dict, uri_values +from imiptools.data import get_uri, uri_dict, uri_items, uri_values from imiptools.dates import format_datetime, get_datetime_item, \ to_date, to_timezone from imiptools.mail import Messenger @@ -392,6 +392,8 @@ # is new, or if it is the current user being removed. if args.has_key("remove"): + still_to_remove = [] + for i in args["remove"]: try: attendee = attendees[int(i)] @@ -402,6 +404,10 @@ if not existing or not self.obj.is_shared() or attendee == self.user: attendees.remove(attendee) + else: + still_to_remove.append(i) + + args["remove"] = still_to_remove return attendees @@ -491,7 +497,7 @@ for name, label in self.property_items: field = name.lower() - items = self.obj.get_items(name) or [] + items = uri_items(self.obj.get_items(name) or []) rowspan = len(items) if name == "ATTENDEE":