From 35f8c3f392887002a7cf88933be709d5c616f49f Mon Sep 17 00:00:00 2001 From: ricola Date: Fri, 9 Jan 2026 17:19:18 -0600 Subject: [PATCH 1/4] Redirect to previous page after login Closes #24 --- vedia.rb | 9 +++++++-- views/login.erb | 1 + views/votes_show_unauthenticated.erb | 1 + 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/vedia.rb b/vedia.rb index e641ded..4b6e308 100644 --- a/vedia.rb +++ b/vedia.rb @@ -134,7 +134,11 @@ post '/login' do session.clear session[:user_id] = user.id session[:timezone] = params[:timezone] - redirect '/' + if params[:r] + redirect params[:r] + else + redirect '/' + end else @error = _("Incorrect email or password.") erb :login @@ -598,10 +602,11 @@ helpers do end def require_login - redirect '/login' unless current_user + redirect "/login?r=#{request.path}" unless current_user end def require_admin + require_login redirect '/' unless is_admin end diff --git a/views/login.erb b/views/login.erb index 5af0607..9edb123 100644 --- a/views/login.erb +++ b/views/login.erb @@ -14,6 +14,7 @@ +

<%= _("Create account") %>

diff --git a/views/votes_show_unauthenticated.erb b/views/votes_show_unauthenticated.erb index 2d43efe..e6dab00 100644 --- a/views/votes_show_unauthenticated.erb +++ b/views/votes_show_unauthenticated.erb @@ -14,6 +14,7 @@ + From 51cfbd5548ac821ba02b0c6affdb33560f16544e Mon Sep 17 00:00:00 2001 From: ricola Date: Fri, 9 Jan 2026 17:26:58 -0600 Subject: [PATCH 2/4] Move reset link to error message --- views/login.erb | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/views/login.erb b/views/login.erb index 9edb123..498d53b 100644 --- a/views/login.erb +++ b/views/login.erb @@ -1,7 +1,10 @@

<%= _("Login") %>

<% if @error %> -

<%= @error %>

+
+

<%= @error %>

+

<%= _("Reset password") %>

+
<% end %>
@@ -18,7 +21,6 @@

<%= _("Create account") %>

-

<%= _("Reset password") %>

From 03b3e18126a066220527a5e49037ebf0c7aab266 Mon Sep 17 00:00:00 2001 From: ricola Date: Fri, 9 Jan 2026 17:39:43 -0600 Subject: [PATCH 4/4] Remove caps and spaces from email addresses Closes #19 --- vedia.rb | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/vedia.rb b/vedia.rb index 461ab83..cd83c2e 100644 --- a/vedia.rb +++ b/vedia.rb @@ -102,7 +102,7 @@ get '/signup' do end post '/signup' do - @user = User.create(email: params[:email]) + @user = User.create(email: params[:email].downcase.strip) @errors = [] if params[:password].empty? @errors << OpenStruct.new(:attribute => :password, :type => :blank) @@ -126,7 +126,7 @@ get '/login' do end post '/login' do - user = User.find_by(email: params[:email]) + user = User.find_by(email: params[:email].downcase.strip) if user && verify_password(params[:password], user.password) if not user.reset.nil? user.reset = nil @@ -151,6 +151,7 @@ get '/reset' do end post '/reset' do + params[:email].downcase!.strip! logger.info "Password reset request for \"#{params[:email]}\"" @errors = [] if not params[:email] =~ URI::MailTo::EMAIL_REGEXP