Merge commit '17513bbc386e849962157517d9a4496870b1a064' into single-user-edit-page
This commit is contained in:
		| @@ -414,12 +414,14 @@ impl User { | ||||
|         .await | ||||
|         .unwrap(); | ||||
|  | ||||
|         ActivityBuilder::new(&format!( | ||||
|             "{updated_by} hat die Rolle {role} von {self} entfernt." | ||||
|         )) | ||||
|         .relevant_for_user(self) | ||||
|         .save(db) | ||||
|         .await; | ||||
|         if !role.hide_in_lists && role.cluster.is_none() { | ||||
|             ActivityBuilder::new(&format!( | ||||
|                 "{updated_by} hat die Rolle {role} von {self} entfernt." | ||||
|             )) | ||||
|             .relevant_for_user(self) | ||||
|             .save(db) | ||||
|             .await; | ||||
|         } | ||||
|  | ||||
|         Ok(()) | ||||
|     } | ||||
|   | ||||
| @@ -7,11 +7,11 @@ use crate::{ | ||||
|         mail::valid_mails, | ||||
|         role::Role, | ||||
|         user::{ | ||||
|             AdminUser, AllowedToEditPaymentStatusUser, ManageUserUser, User, UserWithDetails, | ||||
|             UserWithMembershipPdf, UserWithRolesAndMembershipPdf, VorstandUser, | ||||
|             clubmember::ClubMemberUser, foerdernd::FoerderndUser, member::Member, | ||||
|             regular::RegularUser, scheckbuch::ScheckbuchUser, schnupperant::SchnupperantUser, | ||||
|             schnupperinterest::SchnupperInterestUser, unterstuetzend::UnterstuetzendUser, | ||||
|             AdminUser, AllowedToEditPaymentStatusUser, ManageUserUser, User, UserWithDetails, | ||||
|             UserWithMembershipPdf, UserWithRolesAndMembershipPdf, VorstandUser, | ||||
|         }, | ||||
|     }, | ||||
|     tera::Config, | ||||
| @@ -19,7 +19,6 @@ use crate::{ | ||||
| use chrono::NaiveDate; | ||||
| use futures::future::join_all; | ||||
| use rocket::{ | ||||
|     FromForm, Request, Route, State, | ||||
|     form::Form, | ||||
|     fs::TempFile, | ||||
|     get, | ||||
| @@ -27,9 +26,9 @@ use rocket::{ | ||||
|     post, | ||||
|     request::{FlashMessage, FromRequest, Outcome}, | ||||
|     response::{Flash, Redirect}, | ||||
|     routes, | ||||
|     routes, FromForm, Request, Route, State, | ||||
| }; | ||||
| use rocket_dyn_templates::{Template, tera::Context}; | ||||
| use rocket_dyn_templates::{tera::Context, Template}; | ||||
| use sqlx::SqlitePool; | ||||
|  | ||||
| // Custom request guard to extract the Referer header | ||||
| @@ -133,6 +132,12 @@ async fn view( | ||||
|             format!("User mit ID {} gibts ned", user), | ||||
|         )); | ||||
|     }; | ||||
|     if user.name == "Externe Steuerperson" { | ||||
|         return Err(Flash::error( | ||||
|             Redirect::to("/admin/user"), | ||||
|             "Diese besondere Person kannst du dir leider nicht anschauen, mein lieber neugieriger Ruderant!" | ||||
|         )); | ||||
|     } | ||||
|  | ||||
|     let member = Member::from(db, user.clone()).await; | ||||
|     let fee = user.fee(db).await; | ||||
|   | ||||
| @@ -1,7 +1,6 @@ | ||||
| use std::net::IpAddr; | ||||
|  | ||||
| use rocket::{ | ||||
|     Request, Route, State, | ||||
|     form::Form, | ||||
|     get, | ||||
|     http::{Cookie, CookieJar}, | ||||
| @@ -10,8 +9,9 @@ use rocket::{ | ||||
|     response::{Flash, Redirect}, | ||||
|     routes, | ||||
|     time::{Duration, OffsetDateTime}, | ||||
|     Request, Route, State, | ||||
| }; | ||||
| use rocket_dyn_templates::{Template, context}; | ||||
| use rocket_dyn_templates::{context, Template}; | ||||
| use sqlx::SqlitePool; | ||||
| use tera::Context; | ||||
|  | ||||
| @@ -110,10 +110,13 @@ async fn index( | ||||
| #[get("/show", rank = 3)] | ||||
| async fn show(db: &State<SqlitePool>, user: DonauLinzUser) -> Template { | ||||
|     let logs = Logbook::completed(db).await; | ||||
|     let boats = Boat::all(db).await; | ||||
|     let users = User::all(db).await; | ||||
|     let logtypes = LogType::all(db).await; | ||||
|  | ||||
|     Template::render( | ||||
|         "log.completed", | ||||
|         context!(logs, loggedin_user: &UserWithDetails::from_user(user.into_inner(), db).await), | ||||
|         context!(logs, boats, users, logtypes, loggedin_user: &UserWithDetails::from_user(user.into_inner(), db).await), | ||||
|     ) | ||||
| } | ||||
|  | ||||
| @@ -582,7 +585,7 @@ mod test { | ||||
|     use sqlx::SqlitePool; | ||||
|  | ||||
|     use crate::model::logbook::Logbook; | ||||
|     use crate::tera::{User, log::Boat}; | ||||
|     use crate::tera::{log::Boat, User}; | ||||
|     use crate::testdb; | ||||
|  | ||||
|     #[sqlx::test] | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Marie Birner
					Marie Birner