diff --git a/app/src/main/java/com/github/swent/echo/compose/event/EventScreen.kt b/app/src/main/java/com/github/swent/echo/compose/event/EventScreen.kt index 8cfa45f30..611727417 100644 --- a/app/src/main/java/com/github/swent/echo/compose/event/EventScreen.kt +++ b/app/src/main/java/com/github/swent/echo/compose/event/EventScreen.kt @@ -94,8 +94,7 @@ fun EventScreen( ) { if (canDelete) { DeleteEventButton(enabled = isOnline) { - // TODO: delete the event in the repository - onEventDeleted() + eventViewModel.deleteEvent(onEventDeleted) } } OutlinedButton( diff --git a/app/src/main/java/com/github/swent/echo/viewmodels/event/EventViewModel.kt b/app/src/main/java/com/github/swent/echo/viewmodels/event/EventViewModel.kt index 1d7b8e179..48ce9118e 100644 --- a/app/src/main/java/com/github/swent/echo/viewmodels/event/EventViewModel.kt +++ b/app/src/main/java/com/github/swent/echo/viewmodels/event/EventViewModel.kt @@ -148,6 +148,18 @@ constructor( } } + // delete the current event in the repository + fun deleteEvent(onEventDeleted: () -> Unit) { + viewModelScope.launch { + try { + repository.deleteEvent(event.value) + onEventDeleted() + } catch (e: RepositoryStoreWhileNoInternetException) { + _status.value = EventStatus.Error(R.string.event_creation_error_network_failure) + } + } + } + /** change event status from error to modified */ fun dismissError() { if (_status.value is EventStatus.Error) { diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 0b6b8a515..959d04446 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -49,7 +49,7 @@ The end date is before the start date The title is empty The maximum number of participants is too low - Network problem while saving event. Please retry. + Network problem while saving or deleting event. Please retry. EPFL Section Class