From d3b2d78f9fc556c4d90bf7b7d2986d84c1f73e29 Mon Sep 17 00:00:00 2001 From: Philipp Hofer Date: Mon, 9 Jun 2025 08:33:50 +0200 Subject: [PATCH] log if a cox creates a trip --- src/model/planned/trip/create.rs | 3 +++ src/model/planned/tripdetails.rs | 15 +++++++++++++++ 2 files changed, 18 insertions(+) diff --git a/src/model/planned/trip/create.rs b/src/model/planned/trip/create.rs index 46f8bf7..8455f68 100644 --- a/src/model/planned/trip/create.rs +++ b/src/model/planned/trip/create.rs @@ -1,5 +1,6 @@ use super::Trip; use crate::model::{ + log::Log, notification::Notification, planned::{tripdetails::TripDetails, triptype::TripType}, user::{ErgoUser, SteeringUser, User}, @@ -34,6 +35,8 @@ impl Trip { .execute(db) .await; + Log::create(db, format!("{user} created a new trip: {trip_details}")).await; + Self::notify_trips_same_datetime(db, trip_details, user).await; } diff --git a/src/model/planned/tripdetails.rs b/src/model/planned/tripdetails.rs index 1908f6d..c898425 100644 --- a/src/model/planned/tripdetails.rs +++ b/src/model/planned/tripdetails.rs @@ -8,6 +8,7 @@ use super::{ trip::{Trip, TripWithDetails}, triptype::TripType, }; +use std::fmt::Display; #[derive(FromRow, Debug, Serialize, Deserialize)] pub struct TripDetails { @@ -22,6 +23,20 @@ pub struct TripDetails { pub is_locked: bool, } +impl Display for TripDetails { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + f.write_str(&format!( + "Ausfahrt am {} um {} mit {} Personen", + self.day, self.planned_starting_time, self.max_people + ))?; + if let Some(notes) = &self.notes { + f.write_str(&format!(" Notizen: {notes}"))?; + } + + Ok(()) + } +} + #[derive(FromForm, Serialize)] pub struct TripDetailsToAdd<'r> { //TODO: properly parse `planned_starting_time` -- 2.49.0