aboutsummaryrefslogtreecommitdiffstats
path: root/src/controllers/login_controller.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/controllers/login_controller.rs')
-rw-r--r--src/controllers/login_controller.rs25
1 files changed, 15 insertions, 10 deletions
diff --git a/src/controllers/login_controller.rs b/src/controllers/login_controller.rs
index 564deff..090d299 100644
--- a/src/controllers/login_controller.rs
+++ b/src/controllers/login_controller.rs
@@ -1,8 +1,13 @@
-use rocket;
-use rocket::request::Form;
-use rocket::response::{Flash, Redirect};
-use models;
-use utils;
+use rocket::{
+ request::{FlashMessage, Form},
+ response::{Flash, Redirect},
+ Route
+};
+use models::User;
+use utils::{
+ DbConn,
+ Page
+};
#[derive(BartDisplay)]
#[template = "templates/login.html"]
@@ -11,8 +16,8 @@ pub struct LoginTemplate;
implement_responder_for!(LoginTemplate);
#[get("/", format="text/html")]
-pub fn new(flash: Option<rocket::request::FlashMessage>) -> utils::Page<LoginTemplate> {
- utils::Page {
+pub fn new(flash: Option<FlashMessage>) -> Page<LoginTemplate> {
+ Page {
title: String::from("Log in"),
flash: flash,
content: LoginTemplate{}
@@ -26,9 +31,9 @@ pub struct LoginForm {
}
#[post("/create", data="<login>")]
-pub fn create(login: Form<LoginForm>, conn: utils::DbConn) -> Flash<Redirect> {
+pub fn create(login: Form<LoginForm>, conn: DbConn) -> Flash<Redirect> {
let login = login.get();
- if let Ok(user) = models::User::by_email(&login.email, conn) {
+ if let Ok(user) = User::by_email(&login.email, conn) {
if user.password == login.password {
return Flash::success(Redirect::to("/"), format!("{} logged in successfully", user.realname.or(Some(user.username)).unwrap()));
}
@@ -37,6 +42,6 @@ pub fn create(login: Form<LoginForm>, conn: utils::DbConn) -> Flash<Redirect> {
Flash::error(Redirect::to("/login"), "Invalid email or passoword!")
}
-pub fn routes() -> Vec<rocket::Route> {
+pub fn routes() -> Vec<Route> {
routes![new, create]
}