diff --git a/app/controllers/sessions_controller.rb b/app/controllers/sessions_controller.rb index 3081944d0..5e93b19f9 100644 --- a/app/controllers/sessions_controller.rb +++ b/app/controllers/sessions_controller.rb @@ -7,11 +7,12 @@ class SessionsController < ApplicationController end def create - session_creator = SessionCreator.new(session, params[:name], params[:password], request.remote_ip) + session_params = params[:session].presence || params + session_creator = SessionCreator.new(session, session_params[:name], session_params[:password], request.remote_ip) if session_creator.authenticate - url = params[:url] if params[:url] && params[:url].start_with?("/") - url = posts_path if url.nil? + url = session_params[:url] + url = posts_path if !url&.start_with?("/") respond_with(session_creator.user, location: url, methods: [:api_token]) else flash.now[:notice] = "Password was incorrect" diff --git a/app/views/sessions/new.html.erb b/app/views/sessions/new.html.erb index 87d7d0ab7..f328220cd 100644 --- a/app/views/sessions/new.html.erb +++ b/app/views/sessions/new.html.erb @@ -2,28 +2,17 @@

Sign in

- <%= form_tag(session_path, :class => "simple_form") do %> - <%= hidden_field_tag "url", params[:url] %> -
- - <%= text_field_tag :name %> -
- -
- - <%= password_field_tag :password %> -
- -

- New to <%= Danbooru.config.app_name %>? <%= link_to "Create a new account", new_user_path %>. -

- -
- <%= submit_tag "Submit", :data => { :disable_with => "Signing in..." } %> -
+ <%= simple_form_for(:session, url: session_path) do |f| %> + <%= f.input :url, as: :hidden, input_html: { value: params[:url] } %> + <%= f.input :name %> + <%= f.input :password, input_html: { autocomplete: "password" } %> + <%= f.submit "Login" %> <% end %> -
+ +

+ New to <%= Danbooru.config.app_name %>? <%= link_to "Create a new account", new_user_path %>. +