diff options
Diffstat (limited to 'src/controllers/users_controller.rs')
-rw-r--r-- | src/controllers/users_controller.rs | 83 |
1 files changed, 41 insertions, 42 deletions
diff --git a/src/controllers/users_controller.rs b/src/controllers/users_controller.rs index 0dee68a..4713705 100644 --- a/src/controllers/users_controller.rs +++ b/src/controllers/users_controller.rs @@ -1,21 +1,15 @@ +use models::{NewUser, User}; use rocket::{ - response::{Flash, Redirect}, request::{FlashMessage, Form}, - Route -}; -use models::{ - NewUser, - User -}; -use utils::{ - DbConn, - Page + response::{Flash, Redirect}, + Route, }; +use utils::{DbConn, Page}; #[derive(BartDisplay)] #[template = "templates/users.html"] pub struct UsersTemplate { - users: Vec<User> + users: Vec<User>, } implement_responder_for!(UsersTemplate); @@ -26,15 +20,15 @@ fn index(flash: Option<FlashMessage>, conn: DbConn) -> Page<UsersTemplate> { title: String::from("Users"), flash: flash, content: UsersTemplate { - users: User::all(conn).unwrap() - } + users: User::all(conn).unwrap(), + }, } } #[derive(BartDisplay)] #[template = "templates/edit_user.html"] pub struct EditUserTemplate { - user: User + user: User, } implement_responder_for!(EditUserTemplate); @@ -45,8 +39,8 @@ fn edit(id: i32, conn: DbConn) -> Page<EditUserTemplate> { title: String::from("Edit users"), flash: None, content: EditUserTemplate { - user: User::by_id(id, &conn).unwrap() - } + user: User::by_id(id, &conn).unwrap(), + }, } } @@ -55,19 +49,19 @@ fn delete(id: i32, route: &Route, conn: DbConn) -> Flash<Redirect> { match User::delete(id, conn) { Ok(user) => Flash::success( Redirect::to(route.base.path()), - format!("User {} was successfully deleted.", user.username) + format!("User {} was successfully deleted.", user.username), ), Err(msg) => Flash::error( Redirect::to(route.base.path()), - format!("Error deleting user: {}", msg) - ) + format!("Error deleting user: {}", msg), + ), } } #[derive(BartDisplay)] #[template = "templates/new_user.html"] pub struct NewUserTemplate { - user: NewUser + user: NewUser, } implement_responder_for!(NewUserTemplate); @@ -78,8 +72,8 @@ fn new(flash: Option<FlashMessage>) -> Page<NewUserTemplate> { title: String::from("New user"), flash: flash, content: NewUserTemplate { - user: Default::default() - } + user: Default::default(), + }, } } @@ -89,7 +83,7 @@ struct RegisterUserForm { realname: Option<String>, email: Option<String>, password: String, - password_confirm: String + password_confirm: String, } impl RegisterUserForm { @@ -102,7 +96,7 @@ impl RegisterUserForm { username: self.username.clone(), realname: self.realname.clone(), email: self.email.clone(), - password: self.password.clone() + password: self.password.clone(), }) } } @@ -117,27 +111,33 @@ impl RegisterUserForm { username: self.username.clone(), realname: self.realname.clone(), email: self.email.clone(), - password: self.password.clone() + password: self.password.clone(), }) } } } -#[post("/create", data="<user>")] +#[post("/create", data = "<user>")] fn create(user: Form<RegisterUserForm>, route: &Route, conn: DbConn) -> Flash<Redirect> { match user.get().new_user() { - Ok(new_user) => { - match User::create(&new_user, conn) { - Ok(_) => Flash::success(Redirect::to(route.base.path()), "User successfully created!"), - Err(_) => Flash::error(Redirect::to("/"), "Could not create user!") - } + Ok(new_user) => match User::create(&new_user, conn) { + Ok(_) => Flash::success( + Redirect::to(route.base.path()), + "User successfully created!", + ), + Err(_) => Flash::error(Redirect::to("/"), "Could not create user!"), }, - Err(msg) => Flash::error(Redirect::to(&format!("{}/new", route.base.path())), &msg) + Err(msg) => Flash::error(Redirect::to(&format!("{}/new", route.base.path())), &msg), } } -#[post("/<id>/update", data="<user_form>")] -fn update(id: i32, user_form: Form<RegisterUserForm>, route: &Route, conn: DbConn) -> Flash<Redirect> { +#[post("/<id>/update", data = "<user_form>")] +fn update( + id: i32, + user_form: Form<RegisterUserForm>, + route: &Route, + conn: DbConn, +) -> Flash<Redirect> { match user_form.get().attrs() { Ok(attrs) => { if let Ok(mut user) = User::by_id(id, &conn) { @@ -156,26 +156,25 @@ fn update(id: i32, user_form: Form<RegisterUserForm>, route: &Route, conn: DbCon match User::update(&user, &conn) { Ok(user) => Flash::success( Redirect::to(route.base.path()), - format!("User {} updated successfully", user.username) + format!("User {} updated successfully", user.username), ), Err(msg) => Flash::error( Redirect::to(route.base.path()), - format!("User {} was not updated! {}", user.username, msg) - ) - + format!("User {} was not updated! {}", user.username, msg), + ), } } else { Flash::error( Redirect::to(route.base.path()), - "Can't delete users which does not exist" + "Can't delete users which does not exist", ) } - }, + } Err(msg) => Flash::error( Redirect::to(route.base.path()), - format!("Invalid form data: {}", msg) - ) + format!("Invalid form data: {}", msg), + ), } } |