From 0c3bcbdb1e91686f8b675c4db9be9e6a7491ce02 Mon Sep 17 00:00:00 2001 From: Cesy Avon Date: Wed, 12 Sep 2012 11:52:38 -0700 Subject: [PATCH] HAML-ify new session --- app/views/devise/sessions/new.html.erb | 17 ----------------- app/views/devise/sessions/new.html.haml | 23 +++++++++++++++++++++++ app/views/devise/shared/_links.haml | 25 +++++++++++++++++++++++++ spec/views/devise/sessions/new_spec.rb | 20 ++++++++++++++++++++ 4 files changed, 68 insertions(+), 17 deletions(-) delete mode 100644 app/views/devise/sessions/new.html.erb create mode 100644 app/views/devise/sessions/new.html.haml create mode 100644 app/views/devise/shared/_links.haml create mode 100644 spec/views/devise/sessions/new_spec.rb diff --git a/app/views/devise/sessions/new.html.erb b/app/views/devise/sessions/new.html.erb deleted file mode 100644 index 283679a5a..000000000 --- a/app/views/devise/sessions/new.html.erb +++ /dev/null @@ -1,17 +0,0 @@ -

Sign in

- -<%= form_for(resource, :as => resource_name, :url => session_path(resource_name)) do |f| %> -
<%= f.label :login %>
- <%= f.text_field :login %>
- -
<%= f.label :password %>
- <%= f.password_field :password %>
- - <% if devise_mapping.rememberable? -%> -
<%= f.check_box :remember_me %> <%= f.label :remember_me %>
- <% end -%> - -
<%= f.submit "Sign in" %>
-<% end %> - -<%= render "devise/shared/links" %> diff --git a/app/views/devise/sessions/new.html.haml b/app/views/devise/sessions/new.html.haml new file mode 100644 index 000000000..cf78c7eb2 --- /dev/null +++ b/app/views/devise/sessions/new.html.haml @@ -0,0 +1,23 @@ +%h2 Sign in + += form_for(resource, :as => resource_name, :url => session_path(resource_name)) do |f| + %div + = f.label :login + %br + = f.text_field :login + + %div + = f.label :password + %br + = f.password_field :password + + - if devise_mapping.rememberable? + %div + = f.check_box :remember_me + = f.label :remember_me + + %div + = f.submit "Sign in" + + += render "devise/shared/links" diff --git a/app/views/devise/shared/_links.haml b/app/views/devise/shared/_links.haml new file mode 100644 index 000000000..be1654499 --- /dev/null +++ b/app/views/devise/shared/_links.haml @@ -0,0 +1,25 @@ +- if controller_name != 'sessions' + = link_to "Sign in", new_session_path(resource_name) + %br + +- if devise_mapping.registerable? && controller_name != 'registrations' + = link_to "Sign up", new_registration_path(resource_name) + %br + +- if devise_mapping.recoverable? && controller_name != 'passwords' + = link_to "Forgot your password?", new_password_path(resource_name) + %br + +- if devise_mapping.confirmable? && controller_name != 'confirmations' + = link_to "Didn't receive confirmation instructions?", new_confirmation_path(resource_name) + %br + +- if devise_mapping.lockable? && resource_class.unlock_strategy_enabled?(:email) && controller_name != 'unlocks' + = link_to "Didn't receive unlock instructions?", new_unlock_path(resource_name) + %br + +- if devise_mapping.omniauthable? + - resource_class.omniauth_providers.each do |provider| + = link_to "Sign in with #{provider.to_s.titleize}", omniauth_authorize_path(resource_name, provider) + %br + diff --git a/spec/views/devise/sessions/new_spec.rb b/spec/views/devise/sessions/new_spec.rb new file mode 100644 index 000000000..7021ba461 --- /dev/null +++ b/spec/views/devise/sessions/new_spec.rb @@ -0,0 +1,20 @@ +require 'spec_helper' + +describe 'devise/sessions/new.html.haml', :type => "view" do + + context "logged in" do + before(:each) do + @view.stub(:resource).and_return(User.new) + @view.stub(:resource_name).and_return("user") + @view.stub(:resource_class).and_return(User) + @view.stub(:devise_mapping).and_return(Devise.mappings[:user]) + render + end + + it 'should have some fields' do + rendered.should contain 'Remember me' + rendered.should contain 'Password' + rendered.should contain 'Sign in' + end + end +end