Browse Source

Use form_for, stub login logic

Maarten van den Berg 8 years ago
parent
commit
08f548241f

+ 13 - 1
app/controllers/authentication_controller.rb

4
   end
4
   end
5
 
5
 
6
   def login
6
   def login
7
-    flash[:danger] = "Not yet implemented."
7
+    if params[:session][:email].blank? || params[:session][:password].blank?
8
+      flash[:warning] = "You forgot to add value"
9
+    else
10
+      u = User.find_by(email: params[:session][:email])
11
+
12
+      if u && u.authenticate(params[:session][:password])
13
+        # TODO Login logic here
14
+        flash[:success] = "Hello, #{u.person.full_name}!"
15
+      else
16
+        flash[:danger] = "Invalid username/password combination!"
17
+      end
18
+    end
19
+
8
     redirect_to action: 'login_form'
20
     redirect_to action: 'login_form'
9
   end
21
   end
10
 
22
 

+ 3 - 3
app/views/authentication/create_password_form.html.haml

3
 
3
 
4
 .container
4
 .container
5
   = render 'shared/alerts'
5
   = render 'shared/alerts'
6
-  = form_tag '/register', method: 'post', class: 'central-form' do
6
+  = form_for :user, url: '/register', html: {class: 'central-form'} do |f|
7
     %h2.central-form-header.text-center
7
     %h2.central-form-header.text-center
8
       Create password
8
       Create password
9
     %p
9
     %p
10
       Creating an account requires that you have been registered beforehand by an administrator. Contact someone if your email address is not recognized.
10
       Creating an account requires that you have been registered beforehand by an administrator. Contact someone if your email address is not recognized.
11
 
11
 
12
-    = email_field_tag :email, '', placeholder: 'Email address', class: 'form-control input-only'
13
-    = submit_tag "Send email", class: 'btn btn-primary btn-lg btn-block'
12
+    = f.email_field :email, placeholder: 'Email address', class: 'form-control input-only'
13
+    = f.submit "Send email", class: 'btn btn-primary btn-lg btn-block'
14
 
14
 
15
   .central-form
15
   .central-form
16
     %ul.hdis
16
     %ul.hdis

+ 3 - 3
app/views/authentication/forgotten_password_form.html.haml

2
   Forgot password
2
   Forgot password
3
 .container
3
 .container
4
   = render 'shared/alerts'
4
   = render 'shared/alerts'
5
-  = form_tag '/forgot', method: 'post', class:'central-form' do
5
+  = form_for :password_reset, url: '/forgot', html: {class:'central-form'} do |f|
6
     %h2.central-form-header.text-center
6
     %h2.central-form-header.text-center
7
       Forgot password
7
       Forgot password
8
 
8
 
9
-    = email_field_tag :email, '', placeholder: "Email address", class: 'form-control input-only'
10
-    = submit_tag "Send email", class: 'btn btn-primary btn-lg btn-block'
9
+    = f.email_field :email, placeholder: "Email address", class: 'form-control input-only'
10
+    = f.submit "Send email", class: 'btn btn-primary btn-lg btn-block'
11
 
11
 
12
   .central-form
12
   .central-form
13
     %ul.hdis
13
     %ul.hdis

+ 5 - 5
app/views/authentication/login_form.html.haml

3
 
3
 
4
 .container
4
 .container
5
   = render 'shared/alerts'
5
   = render 'shared/alerts'
6
-  = form_tag("/login", method: "post", class: "central-form") do
6
+  = form_for :session, url: "/login", html: { class: "central-form"} do |f|
7
     %h2.central-form-header.text-center
7
     %h2.central-form-header.text-center
8
       Please sign in
8
       Please sign in
9
 
9
 
10
-    = email_field_tag(:email, '', placeholder: 'Email address', class: 'form-control input-top')
11
-    = password_field_tag(:password, '', placeholder: 'Password', class: 'form-control input-bottom')
10
+    = f.email_field(:email, placeholder: 'Email address', class: 'form-control input-top')
11
+    = f.password_field(:password, placeholder: 'Password', class: 'form-control input-bottom')
12
 
12
 
13
     .checkbox
13
     .checkbox
14
       %label
14
       %label
15
-        = check_box_tag(:remember_me)
15
+        = f.check_box(:remember_me)
16
         Remember me
16
         Remember me
17
 
17
 
18
-    = submit_tag("Sign in", class: "btn btn-primary btn-lg btn-block")
18
+    = f.submit("Sign in", class: "btn btn-primary btn-lg btn-block")
19
 
19
 
20
   .central-form
20
   .central-form
21
     %ul.hdis
21
     %ul.hdis