don't allow to finalize a logbook entry more than once
This commit is contained in:
@ -126,6 +126,7 @@ pub enum LogbookUpdateError {
|
||||
UserNotAllowedToUseBoat,
|
||||
OnlyAllowedToEndTripsEndingToday,
|
||||
TooFast(i64, i64),
|
||||
AlreadyFinalized,
|
||||
}
|
||||
|
||||
#[derive(Debug, PartialEq)]
|
||||
@ -150,6 +151,7 @@ pub enum LogbookCreateError {
|
||||
OnlyAllowedToEndTripsEndingToday,
|
||||
CantChangeHandoperatableStatusForThisBoat,
|
||||
TooFast(i64, i64),
|
||||
AlreadyFinalized,
|
||||
}
|
||||
|
||||
impl From<LogbookUpdateError> for LogbookCreateError {
|
||||
@ -174,6 +176,7 @@ impl From<LogbookUpdateError> for LogbookCreateError {
|
||||
LogbookCreateError::OnlyAllowedToEndTripsEndingToday
|
||||
}
|
||||
LogbookUpdateError::TooFast(km, min) => LogbookCreateError::TooFast(km, min),
|
||||
LogbookUpdateError::AlreadyFinalized => LogbookCreateError::AlreadyFinalized,
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -546,6 +549,10 @@ ORDER BY departure DESC
|
||||
return Err(LogbookUpdateError::NotYourEntry);
|
||||
}
|
||||
|
||||
if self.arrival.is_some() {
|
||||
return Err(LogbookUpdateError::AlreadyFinalized);
|
||||
}
|
||||
|
||||
let boat = Boat::find_by_id_tx(db, self.boat_id as i32).await.unwrap(); //ok
|
||||
|
||||
if boat.amount_seats == 1 {
|
||||
|
Reference in New Issue
Block a user