Compare commits
4 Commits
de357c3db3
...
clean-log
| Author | SHA1 | Date | |
|---|---|---|---|
| 79687807f2 | |||
| 09defdc1f4 | |||
| 1beb6ebfe9 | |||
| 55666a6eff |
+1
-1
@@ -8,7 +8,7 @@ use rot::rest;
|
|||||||
use rot::tera;
|
use rot::tera;
|
||||||
use rot::{scheduled, tera::Config};
|
use rot::{scheduled, tera::Config};
|
||||||
|
|
||||||
use sqlx::{ConnectOptions, pool::PoolOptions, sqlite::SqliteConnectOptions};
|
use sqlx::{pool::PoolOptions, sqlite::SqliteConnectOptions, ConnectOptions};
|
||||||
|
|
||||||
#[macro_use]
|
#[macro_use]
|
||||||
extern crate rocket;
|
extern crate rocket;
|
||||||
|
|||||||
@@ -95,13 +95,13 @@ WHERE end_date >= ? AND start_date <= ?
|
|||||||
res
|
res
|
||||||
}
|
}
|
||||||
|
|
||||||
pub async fn all_future(db: &SqlitePool) -> Vec<BoatReservationWithDetails> {
|
pub async fn next_future(db: &SqlitePool) -> Vec<BoatReservationWithDetails> {
|
||||||
let boatreservations = sqlx::query_as!(
|
let boatreservations = sqlx::query_as!(
|
||||||
Self,
|
Self,
|
||||||
"
|
"
|
||||||
SELECT id, boat_id, start_date, end_date, time_desc, usage, user_id_applicant, user_id_confirmation, created_at
|
SELECT id, boat_id, start_date, end_date, time_desc, usage, user_id_applicant, user_id_confirmation, created_at
|
||||||
FROM boat_reservation
|
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)
|
.fetch_all(db)
|
||||||
@@ -158,10 +158,10 @@ WHERE end_date >= CURRENT_DATE ORDER BY end_date
|
|||||||
|
|
||||||
grouped_reservations
|
grouped_reservations
|
||||||
}
|
}
|
||||||
pub async fn all_future_with_groups(
|
pub async fn next_future_with_groups(
|
||||||
db: &SqlitePool,
|
db: &SqlitePool,
|
||||||
) -> HashMap<String, Vec<BoatReservationWithDetails>> {
|
) -> HashMap<String, Vec<BoatReservationWithDetails>> {
|
||||||
let reservations = Self::all_future(db).await;
|
let reservations = Self::next_future(db).await;
|
||||||
Self::with_groups(reservations)
|
Self::with_groups(reservations)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,11 +1,10 @@
|
|||||||
use chrono::NaiveDate;
|
use chrono::NaiveDate;
|
||||||
use rocket::{
|
use rocket::{
|
||||||
FromForm, Route, State,
|
|
||||||
form::Form,
|
form::Form,
|
||||||
get, post,
|
get, post,
|
||||||
request::FlashMessage,
|
request::FlashMessage,
|
||||||
response::{Flash, Redirect},
|
response::{Flash, Redirect},
|
||||||
routes,
|
routes, FromForm, Route, State,
|
||||||
};
|
};
|
||||||
use rocket_dyn_templates::Template;
|
use rocket_dyn_templates::Template;
|
||||||
use sqlx::SqlitePool;
|
use sqlx::SqlitePool;
|
||||||
@@ -27,7 +26,7 @@ async fn index_kiosk(
|
|||||||
flash: Option<FlashMessage<'_>>,
|
flash: Option<FlashMessage<'_>>,
|
||||||
_kiosk: KioskCookie,
|
_kiosk: KioskCookie,
|
||||||
) -> Template {
|
) -> Template {
|
||||||
let boatreservations = BoatReservation::all_future(db).await;
|
let boatreservations = BoatReservation::next_future(db).await;
|
||||||
|
|
||||||
let mut context = Context::new();
|
let mut context = Context::new();
|
||||||
if let Some(msg) = flash {
|
if let Some(msg) = flash {
|
||||||
@@ -56,7 +55,7 @@ async fn index(
|
|||||||
flash: Option<FlashMessage<'_>>,
|
flash: Option<FlashMessage<'_>>,
|
||||||
user: DonauLinzUser,
|
user: DonauLinzUser,
|
||||||
) -> Template {
|
) -> Template {
|
||||||
let boatreservations = BoatReservation::all_future(db).await;
|
let boatreservations = BoatReservation::next_future(db).await;
|
||||||
|
|
||||||
let mut context = Context::new();
|
let mut context = Context::new();
|
||||||
if let Some(msg) = flash {
|
if let Some(msg) = flash {
|
||||||
|
|||||||
+1
-1
@@ -114,7 +114,7 @@ async fn index(db: &SqlitePool, flash: Option<FlashMessage<'_>>, mut context: Co
|
|||||||
context.insert("planned_trips", &Trip::get_for_today(db).await);
|
context.insert("planned_trips", &Trip::get_for_today(db).await);
|
||||||
context.insert(
|
context.insert(
|
||||||
"reservations",
|
"reservations",
|
||||||
&BoatReservation::all_future_with_groups(db).await,
|
&BoatReservation::next_future_with_groups(db).await,
|
||||||
);
|
);
|
||||||
context.insert("coxes", &coxes);
|
context.insert("coxes", &coxes);
|
||||||
context.insert("users", &users);
|
context.insert("users", &users);
|
||||||
|
|||||||
@@ -230,6 +230,17 @@
|
|||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
{% elif "NoMembership" in member %}
|
||||||
|
{% if allowed_to_edit %}
|
||||||
|
<div class="grid pt-3">
|
||||||
|
<a href="/admin/user/{{ user.id }}/delete"
|
||||||
|
class="btn btn-alert"
|
||||||
|
onclick="return confirm('Willst du die Daten von {{ user.name }} wirklich löschen?');">
|
||||||
|
{% include "includes/delete-icon" %}
|
||||||
|
Daten löschen
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
{% endif %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% if "Scheckbuch" in member or "Schnupperant" in member or "NoMembership" in member %}
|
{% if "Scheckbuch" in member or "Schnupperant" in member or "NoMembership" in member %}
|
||||||
{% if allowed_to_edit %}
|
{% if allowed_to_edit %}
|
||||||
|
|||||||
@@ -40,7 +40,7 @@ function setChoiceByLabel(choicesInstance, label) {
|
|||||||
{% endmacro plannedtrips %}
|
{% endmacro plannedtrips %}
|
||||||
{% macro boatreservation() %}
|
{% macro boatreservation() %}
|
||||||
<div class="bg-white dark:bg-primary-900 rounded-md shadow pb-2 mt-3">
|
<div class="bg-white dark:bg-primary-900 rounded-md shadow pb-2 mt-3">
|
||||||
<h2 class="h2">Reservierungen ({{ reservations | length }})</h2>
|
<h2 class="h2">Reservierungen<br /><small>in den nächsten 3 Tagen</small></h2>
|
||||||
<div class="grid grid-cols-1 gap-3 mb-3 w-full">
|
<div class="grid grid-cols-1 gap-3 mb-3 w-full">
|
||||||
{% for _, reservations_for_event in reservations %}
|
{% for _, reservations_for_event in reservations %}
|
||||||
{% set reservation = reservations_for_event[0] %}
|
{% set reservation = reservations_for_event[0] %}
|
||||||
|
|||||||
Reference in New Issue
Block a user