diff --git a/src/model/logbook.rs b/src/model/logbook.rs index a45a3cc..f52fb03 100644 --- a/src/model/logbook.rs +++ b/src/model/logbook.rs @@ -594,8 +594,14 @@ ORDER BY departure DESC let today = Local::now().date_naive(); 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 >= 7 { + if !user.has_role_tx(db, "admin").await + && !user + .has_role_tx(db, "allow-retroactive-logbookentries") + .await + { + return Err(LogbookUpdateError::OnlyAllowedToEndTripsEndingToday); + } } if day_diff < 0 && !user.has_role_tx(db, "admin").await { return Err(LogbookUpdateError::OnlyAllowedToEndTripsEndingToday);