From a31bacb3e12932a7e53fcc210f307f2642695da6 Mon Sep 17 00:00:00 2001 From: philipp Date: Mon, 19 Aug 2024 13:39:22 +0200 Subject: [PATCH] create notification if a new event with 'always_show' is entered --- src/model/event.rs | 18 +++++++++++++++++- templates/planned.html.tera | 2 +- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/src/model/event.rs b/src/model/event.rs index e4c2dbc..bbb6e6e 100644 --- a/src/model/event.rs +++ b/src/model/event.rs @@ -8,7 +8,10 @@ use ics::{ use serde::Serialize; use sqlx::{FromRow, Row, SqlitePool}; -use super::{notification::Notification, tripdetails::TripDetails, triptype::TripType, user::User}; +use super::{ + notification::Notification, role::Role, tripdetails::TripDetails, triptype::TripType, + user::User, +}; #[derive(Serialize, Clone, FromRow, Debug, PartialEq)] pub struct Event { @@ -219,6 +222,19 @@ WHERE trip_details.id=? planned_amount_cox: i32, trip_details: &TripDetails, ) { + if trip_details.always_show { + let donau = Role::find_by_name(db, "Donau Linz").await.unwrap(); + Notification::create_for_role( + db, + &donau, + &format!("Am {} um {} wurde ein neues Event angelegt: {} Wir freuen uns wenn du dabei mitmachst, die Anmeldung ist ab sofort offen :-)", trip_details.day, trip_details.planned_starting_time, name), + "Neues Event", + Some(&format!("/planned#{}", trip_details.day)), + None, + ) + .await; + } + sqlx::query!( "INSERT INTO planned_event(name, planned_amount_cox, trip_details_id) VALUES(?, ?, ?)", name, diff --git a/templates/planned.html.tera b/templates/planned.html.tera index 0dfab7c..0cccb5e 100644 --- a/templates/planned.html.tera +++ b/templates/planned.html.tera @@ -67,7 +67,7 @@ {% endif %} {% endfor %} {% endif %} -