diff --git a/Ideas.txt b/Ideas.txt index d24f60aa4811f38c2bcb7e9a138b45fa93cd7b18..318bd1131c5bc204895c667a8517d3c7a3cf74c5 100644 --- a/Ideas.txt +++ b/Ideas.txt @@ -10,8 +10,7 @@ Template: - Attribute that keeps track of where you are in a given flow structure Events: -- Possibility for event to start one day and finish another (ask if its the next day) -- Possibility to see all events planned by the committee and allow to delete them +- Add possibility to delete events Check error when not fulfilling some flow of the access handler or event handler (not possibility of continuing interaction) diff --git a/src/Committees-Parrot.py b/src/Committees-Parrot.py index 31426f7a7dd83ab28416ae1a07ca25570e87fcd6..e57b18ca85dd42e6ad231e86f7a01a3d6c0946aa 100644 --- a/src/Committees-Parrot.py +++ b/src/Committees-Parrot.py @@ -234,6 +234,9 @@ class event_changer: self.event = [event for event in self.events if event["summary"] == call_data][0] return True, 'property', None if self.state == self.State.PROPERTY: + if call_data == 'Delete Event': + self.state = self.State.OTHER_EVENT + return False, 'delete', self.event self.state = self.State.VALUE self.property = call_data return True, 'value', None @@ -254,7 +257,7 @@ class event_changer: self.keyboard = self._build_keyboard(event_names) def _build_properties(self): - properties = [['Date'], ['Start'], ['End'], ['Name'], ['Description']] + properties = [['Date'], ['Start'], ['End'], ['Name'], ['Description'], ['Delete Event']] self.keyboard = self._build_keyboard(properties) def _build_more(self): @@ -395,6 +398,10 @@ class Event_handler: key, state, event = self.event_changer.process(data) + if not key and state == 'delete': + gc.deleteEvent(event) + await query.edit_message_text(text="Alright") + return self.state.HUB if not key and state == 'event': await query.edit_message_text(text="Alright") return self.state.HUB diff --git a/src/utils/gc.py b/src/utils/gc.py index 40906ad8e19bb43bffb754ea360736f4d1f7276d..4faef9bdac790343b876a77cf45770414d39b58d 100644 --- a/src/utils/gc.py +++ b/src/utils/gc.py @@ -60,6 +60,10 @@ def changeTime(formatted_time, new_time, next_day): date = str(date_obj) return date + 'T' + new_time + ':00' +def deleteEvent(event): + service = get_calendar_service() + service.events().delete(calendarId=calendar_id, eventId=event["id"]).execute() + def timeFormat(date, time): return str(date) + 'T' + time + ':00'