From 79687807f295d01d2f35a28ab9e213a5afa35a1b Mon Sep 17 00:00:00 2001 From: Philipp Hofer Date: Thu, 30 Apr 2026 11:39:54 +0200 Subject: [PATCH] clean /log by only showing boat reservation for the next 3 days --- src/main.rs | 2 +- src/model/boatreservation.rs | 8 ++++---- src/tera/boatreservation.rs | 7 +++---- src/tera/log.rs | 2 +- templates/includes/macros.html.tera | 2 +- 5 files changed, 10 insertions(+), 11 deletions(-) diff --git a/src/main.rs b/src/main.rs index 0a57574..6cc87a7 100644 --- a/src/main.rs +++ b/src/main.rs @@ -8,7 +8,7 @@ use rot::rest; use rot::tera; use rot::{scheduled, tera::Config}; -use sqlx::{ConnectOptions, pool::PoolOptions, sqlite::SqliteConnectOptions}; +use sqlx::{pool::PoolOptions, sqlite::SqliteConnectOptions, ConnectOptions}; #[macro_use] extern crate rocket; diff --git a/src/model/boatreservation.rs b/src/model/boatreservation.rs index 036dd21..4a2b180 100644 --- a/src/model/boatreservation.rs +++ b/src/model/boatreservation.rs @@ -95,13 +95,13 @@ WHERE end_date >= ? AND start_date <= ? res } - pub async fn all_future(db: &SqlitePool) -> Vec { + pub async fn next_future(db: &SqlitePool) -> Vec { let boatreservations = sqlx::query_as!( Self, " SELECT id, boat_id, start_date, end_date, time_desc, usage, user_id_applicant, user_id_confirmation, created_at FROM boat_reservation -WHERE end_date >= CURRENT_DATE ORDER BY end_date +WHERE end_date >= CURRENT_DATE AND end_date <= date(CURRENT_DATE, '+3 days') ORDER BY end_date " ) .fetch_all(db) @@ -158,10 +158,10 @@ WHERE end_date >= CURRENT_DATE ORDER BY end_date grouped_reservations } - pub async fn all_future_with_groups( + pub async fn next_future_with_groups( db: &SqlitePool, ) -> HashMap> { - let reservations = Self::all_future(db).await; + let reservations = Self::next_future(db).await; Self::with_groups(reservations) } diff --git a/src/tera/boatreservation.rs b/src/tera/boatreservation.rs index b8a8fe7..42654b5 100644 --- a/src/tera/boatreservation.rs +++ b/src/tera/boatreservation.rs @@ -1,11 +1,10 @@ use chrono::NaiveDate; use rocket::{ - FromForm, Route, State, form::Form, get, post, request::FlashMessage, response::{Flash, Redirect}, - routes, + routes, FromForm, Route, State, }; use rocket_dyn_templates::Template; use sqlx::SqlitePool; @@ -27,7 +26,7 @@ async fn index_kiosk( flash: Option>, _kiosk: KioskCookie, ) -> Template { - let boatreservations = BoatReservation::all_future(db).await; + let boatreservations = BoatReservation::next_future(db).await; let mut context = Context::new(); if let Some(msg) = flash { @@ -56,7 +55,7 @@ async fn index( flash: Option>, user: DonauLinzUser, ) -> Template { - let boatreservations = BoatReservation::all_future(db).await; + let boatreservations = BoatReservation::next_future(db).await; let mut context = Context::new(); if let Some(msg) = flash { diff --git a/src/tera/log.rs b/src/tera/log.rs index d6faa00..83e6325 100644 --- a/src/tera/log.rs +++ b/src/tera/log.rs @@ -114,7 +114,7 @@ async fn index(db: &SqlitePool, flash: Option>, mut context: Co context.insert("planned_trips", &Trip::get_for_today(db).await); context.insert( "reservations", - &BoatReservation::all_future_with_groups(db).await, + &BoatReservation::next_future_with_groups(db).await, ); context.insert("coxes", &coxes); context.insert("users", &users); diff --git a/templates/includes/macros.html.tera b/templates/includes/macros.html.tera index 31c3d93..2a8953c 100644 --- a/templates/includes/macros.html.tera +++ b/templates/includes/macros.html.tera @@ -40,7 +40,7 @@ function setChoiceByLabel(choicesInstance, label) { {% endmacro plannedtrips %} {% macro boatreservation() %}
-

Reservierungen ({{ reservations | length }})

+

Reservierungen
in den nächsten 3 Tagen

{% for _, reservations_for_event in reservations %} {% set reservation = reservations_for_event[0] %} -- 2.52.0