diff --git a/src/model/event.rs b/src/model/event.rs index 6258efb..5ef81e4 100644 --- a/src/model/event.rs +++ b/src/model/event.rs @@ -313,7 +313,7 @@ WHERE trip_details.id=? } //TODO: create unit test - pub async fn update(&self, db: &SqlitePool, update: &EventUpdate<'_>) { + pub async fn update(&self, db: &SqlitePool, user: &EventUser, update: &EventUpdate<'_>) { sqlx::query!( "UPDATE planned_event SET name = ?, planned_amount_cox = ? WHERE id = ?", update.name, @@ -340,6 +340,20 @@ WHERE trip_details.id=? .await .unwrap(); //Okay, as planned_event can only be created with proper DB backing + Log::create( + db, + format!( + "{} updated the event {} on {} at {} from {:?} to {:?}", + user.user.name, + self.name, + tripdetails.day, + tripdetails.planned_starting_time, + self, + update + ), + ) + .await; + if !tripdetails.always_show && update.always_show { Self::advertise( db, diff --git a/src/tera/admin/event.rs b/src/tera/admin/event.rs index e78c465..2bccdcf 100644 --- a/src/tera/admin/event.rs +++ b/src/tera/admin/event.rs @@ -65,7 +65,7 @@ struct UpdateEventForm<'r> { async fn update( db: &State, data: Form>, - _admin: EventUser, + user: EventUser, ) -> Flash { let update = event::EventUpdate { name: data.name, @@ -78,7 +78,7 @@ async fn update( }; match Event::find_by_id(db, data.id).await { Some(planned_event) => { - planned_event.update(db, &update).await; + planned_event.update(db, &user, &update).await; Flash::success(Redirect::to("/planned"), "Event erfolgreich bearbeitet") } None => Flash::error(Redirect::to("/planned"), "Planned event id not found"),