Compare commits
	
		
			2 Commits
		
	
	
		
			b73ae788e6
			...
			571e80085f
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 571e80085f | |||
| bada4deedd | 
@@ -4,6 +4,7 @@ use rocket::serde::{Deserialize, Serialize};
 | 
				
			|||||||
use rocket::FromForm;
 | 
					use rocket::FromForm;
 | 
				
			||||||
use sqlx::{FromRow, Sqlite, SqlitePool, Transaction};
 | 
					use sqlx::{FromRow, Sqlite, SqlitePool, Transaction};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					use super::location::Location;
 | 
				
			||||||
use super::user::User;
 | 
					use super::user::User;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#[derive(FromRow, Debug, Serialize, Deserialize)]
 | 
					#[derive(FromRow, Debug, Serialize, Deserialize)]
 | 
				
			||||||
@@ -94,6 +95,15 @@ impl Boat {
 | 
				
			|||||||
            return owner_id == user.id;
 | 
					            return owner_id == user.id;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        if user.has_role(db, "Rennrudern").await {
 | 
				
			||||||
 | 
					            let ottensheim = Location::find_by_name(db, "Ottensheim".into())
 | 
				
			||||||
 | 
					                .await
 | 
				
			||||||
 | 
					                .unwrap();
 | 
				
			||||||
 | 
					            if self.location_id == ottensheim.id {
 | 
				
			||||||
 | 
					                return true;
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if self.amount_seats == 1 {
 | 
					        if self.amount_seats == 1 {
 | 
				
			||||||
            return true;
 | 
					            return true;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -471,7 +471,12 @@ ORDER BY departure DESC
 | 
				
			|||||||
            return Err(LogbookUpdateError::ArrivalNotAfterDeparture);
 | 
					            return Err(LogbookUpdateError::ArrivalNotAfterDeparture);
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        let today = Utc::now().date_naive();
 | 
					        let today = Utc::now().date_naive();
 | 
				
			||||||
        if arr.date() != today && !user.has_role_tx(db, "admin").await {
 | 
					        let day_diff = today - arr.date();
 | 
				
			||||||
 | 
					        let day_diff = day_diff.num_days();
 | 
				
			||||||
 | 
					        if day_diff >= 7 && !user.has_role_tx(db, "admin").await {
 | 
				
			||||||
 | 
					            return Err(LogbookUpdateError::OnlyAllowedToEndTripsEndingToday);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        if day_diff < 0 && !user.has_role_tx(db, "admin").await {
 | 
				
			||||||
            return Err(LogbookUpdateError::OnlyAllowedToEndTripsEndingToday);
 | 
					            return Err(LogbookUpdateError::OnlyAllowedToEndTripsEndingToday);
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -127,7 +127,7 @@ async fn kiosk(
 | 
				
			|||||||
    flash: Option<FlashMessage<'_>>,
 | 
					    flash: Option<FlashMessage<'_>>,
 | 
				
			||||||
    kiosk: KioskCookie,
 | 
					    kiosk: KioskCookie,
 | 
				
			||||||
) -> Template {
 | 
					) -> Template {
 | 
				
			||||||
    let boats = Boat::all_at_location(db, kiosk.0).await;
 | 
					    let boats = Boat::all(db).await;
 | 
				
			||||||
    let coxes: Vec<UserWithWaterStatus> = futures::future::join_all(
 | 
					    let coxes: Vec<UserWithWaterStatus> = futures::future::join_all(
 | 
				
			||||||
        User::cox(db)
 | 
					        User::cox(db)
 | 
				
			||||||
            .await
 | 
					            .await
 | 
				
			||||||
@@ -188,7 +188,7 @@ async fn create_logbook(
 | 
				
			|||||||
        Err(LogbookCreateError::ShipmasterNotInRowers) => Flash::error(Redirect::to("/log"), "Schiffsführer nicht in Liste der Ruderer!"),
 | 
					        Err(LogbookCreateError::ShipmasterNotInRowers) => Flash::error(Redirect::to("/log"), "Schiffsführer nicht in Liste der Ruderer!"),
 | 
				
			||||||
        Err(LogbookCreateError::NotYourEntry) => Flash::error(Redirect::to("/log"), "Nicht deine Ausfahrt!"),
 | 
					        Err(LogbookCreateError::NotYourEntry) => Flash::error(Redirect::to("/log"), "Nicht deine Ausfahrt!"),
 | 
				
			||||||
        Err(LogbookCreateError::ArrivalSetButNotRemainingTwo) => Flash::error(Redirect::to("/log"), "Ankunftszeit gesetzt aber nicht Distanz + Strecke"),
 | 
					        Err(LogbookCreateError::ArrivalSetButNotRemainingTwo) => Flash::error(Redirect::to("/log"), "Ankunftszeit gesetzt aber nicht Distanz + Strecke"),
 | 
				
			||||||
        Err(LogbookCreateError::OnlyAllowedToEndTripsEndingToday) => Flash::error(Redirect::to("/log"), "Nur Ausfahrten, die heute enden dürfen eingetragen werden. Für einen Nachtrag schreibe alle Daten Philipp (Tel. nr. siehe Signal oder it@rudernlinz.at)."),
 | 
					        Err(LogbookCreateError::OnlyAllowedToEndTripsEndingToday) => Flash::error(Redirect::to("/log"), "Nur Ausfahrten, die in den letzten Woche enden dürfen eingetragen werden. Für einen Nachtrag schreibe alle Daten Philipp (Tel. nr. siehe Signal oder it@rudernlinz.at)."),
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -199,9 +199,9 @@
 | 
				
			|||||||
            <div class="text-sm text-gray-600 dark:text-gray-100">
 | 
					            <div class="text-sm text-gray-600 dark:text-gray-100">
 | 
				
			||||||
              Ruderer:
 | 
					              Ruderer:
 | 
				
			||||||
              {% for rower in log.rowers %}
 | 
					              {% for rower in log.rowers %}
 | 
				
			||||||
                {{ rower.name }}{% if not loop.last or amount_guests > 0 %}, {% endif %}
 | 
					                {{ rower.name }}{% if not loop.last or amount_guests > 0 and log.boat.name != 'Externes Boot' %}, {% endif %}
 | 
				
			||||||
              {% endfor %}
 | 
					              {% endfor %}
 | 
				
			||||||
              {% if amount_guests > 0 %}
 | 
					              {% if amount_guests > 0 and log.boat.name != 'Externes Boot' %}
 | 
				
			||||||
                Gäste <small class="text-gray-600 dark:text-gray-100">(ohne Account)</small>: {{ amount_guests }}
 | 
					                Gäste <small class="text-gray-600 dark:text-gray-100">(ohne Account)</small>: {{ amount_guests }}
 | 
				
			||||||
              {% endif %}
 | 
					              {% endif %}
 | 
				
			||||||
            </div>
 | 
					            </div>
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user