# HG changeset patch # User Paul Boddie # Date 1428175212 -7200 # Node ID 5f6011c50e61b5632dc9848ab2173cd4fd3b2c4d # Parent 5acbb64fdc5ddd4a8a6f202f95a14ddb939df46b Fixed attendee loading (where no attendees are present) and removal (where an existing attendee is present but has not responded, or where the organiser is removing themself). diff -r 5acbb64fdc5d -r 5f6011c50e61 imipweb/event.py --- a/imipweb/event.py Sat Apr 04 21:07:29 2015 +0200 +++ b/imipweb/event.py Sat Apr 04 21:20:12 2015 +0200 @@ -502,8 +502,9 @@ is_organiser = get_uri(obj.get_value("ORGANIZER")) == self.user initial_load = not args.has_key("editing") + existing_attendees = uri_values(obj.get_values("ATTENDEE") or []) attendees = is_organiser and self.handle_attendees(obj) or \ - (initial_load or not is_organiser) and uri_values(obj.get_values("ATTENDEE")) or [] + (initial_load or not is_organiser) and existing_attendees or [] (dtstart, dtstart_attr), (dtend, dtend_attr) = self.get_event_period(obj) self.show_object_datetime_controls(dtstart, dtend) @@ -614,7 +615,7 @@ # Permit the removal of newly-added attendees. - remove_type = partstat and "checkbox" or "submit" + remove_type = (value in existing_attendees and value != self.user) and "checkbox" or "submit" self._control("remove", remove_type, value, value in args.get("remove", []), id="remove-%d" % i, class_="remove")