Factorize require_login
This commit is contained in:
parent
e826d79240
commit
c042f0c3a5
1 changed files with 18 additions and 14 deletions
32
vote.rb
32
vote.rb
|
|
@ -66,7 +66,7 @@ set :values, [ { :id => 1, :label => _("Awful") },
|
||||||
MajorityJudgment.values = settings.values
|
MajorityJudgment.values = settings.values
|
||||||
|
|
||||||
get '/' do
|
get '/' do
|
||||||
redirect '/login' unless current_user
|
require_login
|
||||||
@votes = Vote.all
|
@votes = Vote.all
|
||||||
erb :home
|
erb :home
|
||||||
end
|
end
|
||||||
|
|
@ -108,12 +108,12 @@ post '/logout' do
|
||||||
end
|
end
|
||||||
|
|
||||||
get '/votes/new' do
|
get '/votes/new' do
|
||||||
redirect '/login' unless current_user
|
require_login
|
||||||
erb :votes_new
|
erb :votes_new
|
||||||
end
|
end
|
||||||
|
|
||||||
post '/votes' do
|
post '/votes' do
|
||||||
redirect '/login' unless current_user
|
require_login
|
||||||
@vote = Vote.create(secure_id: SecureRandom.hex(8),
|
@vote = Vote.create(secure_id: SecureRandom.hex(8),
|
||||||
title: params[:title],
|
title: params[:title],
|
||||||
description: params[:description],
|
description: params[:description],
|
||||||
|
|
@ -123,7 +123,7 @@ post '/votes' do
|
||||||
end
|
end
|
||||||
|
|
||||||
get '/votes/:id' do
|
get '/votes/:id' do
|
||||||
redirect '/login' unless current_user
|
require_login
|
||||||
@vote = Vote.find_by(secure_id: params[:id])
|
@vote = Vote.find_by(secure_id: params[:id])
|
||||||
case @vote.state
|
case @vote.state
|
||||||
when 'draft'
|
when 'draft'
|
||||||
|
|
@ -144,7 +144,7 @@ get '/votes/:id' do
|
||||||
end
|
end
|
||||||
|
|
||||||
post '/votes/:id/edit' do
|
post '/votes/:id/edit' do
|
||||||
redirect '/login' unless current_user
|
require_login
|
||||||
@vote = Vote.find_by(secure_id: params[:id])
|
@vote = Vote.find_by(secure_id: params[:id])
|
||||||
redirect '/votes/' + @vote.secure_id unless @vote.state == 'draft' and @vote.users.exists?(current_user.id)
|
redirect '/votes/' + @vote.secure_id unless @vote.state == 'draft' and @vote.users.exists?(current_user.id)
|
||||||
@vote.title = params[:title]
|
@vote.title = params[:title]
|
||||||
|
|
@ -154,7 +154,7 @@ post '/votes/:id/edit' do
|
||||||
end
|
end
|
||||||
|
|
||||||
post '/votes/:id/candidates' do
|
post '/votes/:id/candidates' do
|
||||||
redirect '/login' unless current_user
|
require_login
|
||||||
@vote = Vote.find_by(secure_id: params[:id])
|
@vote = Vote.find_by(secure_id: params[:id])
|
||||||
redirect '/votes/' + @vote.secure_id unless @vote.state == 'draft' and @vote.users.exists?(current_user.id)
|
redirect '/votes/' + @vote.secure_id unless @vote.state == 'draft' and @vote.users.exists?(current_user.id)
|
||||||
@candidate = Candidate.new(name: params[:name],
|
@candidate = Candidate.new(name: params[:name],
|
||||||
|
|
@ -165,7 +165,7 @@ post '/votes/:id/candidates' do
|
||||||
end
|
end
|
||||||
|
|
||||||
post '/votes/:id/candidates/:cid/delete' do
|
post '/votes/:id/candidates/:cid/delete' do
|
||||||
redirect '/login' unless current_user
|
require_login
|
||||||
@vote = Vote.find_by(secure_id: params[:id])
|
@vote = Vote.find_by(secure_id: params[:id])
|
||||||
redirect '/votes/' + @vote.secure_id unless @vote.state == 'draft' and @vote.users.exists?(current_user.id)
|
redirect '/votes/' + @vote.secure_id unless @vote.state == 'draft' and @vote.users.exists?(current_user.id)
|
||||||
@candidate = Candidate.find(params[:cid])
|
@candidate = Candidate.find(params[:cid])
|
||||||
|
|
@ -174,7 +174,7 @@ post '/votes/:id/candidates/:cid/delete' do
|
||||||
end
|
end
|
||||||
|
|
||||||
post '/votes/:id/open' do
|
post '/votes/:id/open' do
|
||||||
redirect '/login' unless current_user
|
require_login
|
||||||
@vote = Vote.find_by(secure_id: params[:id])
|
@vote = Vote.find_by(secure_id: params[:id])
|
||||||
redirect '/votes/' + @vote.secure_id unless @vote.state == 'draft' and @vote.users.exists?(current_user.id)
|
redirect '/votes/' + @vote.secure_id unless @vote.state == 'draft' and @vote.users.exists?(current_user.id)
|
||||||
@vote.state = 'open'
|
@vote.state = 'open'
|
||||||
|
|
@ -183,7 +183,7 @@ post '/votes/:id/open' do
|
||||||
end
|
end
|
||||||
|
|
||||||
post '/votes/:id/draft' do
|
post '/votes/:id/draft' do
|
||||||
redirect '/login' unless current_user
|
require_login
|
||||||
@vote = Vote.find_by(secure_id: params[:id])
|
@vote = Vote.find_by(secure_id: params[:id])
|
||||||
redirect '/votes/' + @vote.secure_id unless @vote.state == 'open' and @vote.users.exists?(current_user.id)
|
redirect '/votes/' + @vote.secure_id unless @vote.state == 'open' and @vote.users.exists?(current_user.id)
|
||||||
@vote.ratings.each {|r| r.destroy}
|
@vote.ratings.each {|r| r.destroy}
|
||||||
|
|
@ -193,7 +193,7 @@ post '/votes/:id/draft' do
|
||||||
end
|
end
|
||||||
|
|
||||||
post '/votes/:id/close' do
|
post '/votes/:id/close' do
|
||||||
redirect '/login' unless current_user
|
require_login
|
||||||
@vote = Vote.find_by(secure_id: params[:id])
|
@vote = Vote.find_by(secure_id: params[:id])
|
||||||
redirect '/votes/' + @vote.secure_id unless @vote.state == 'open' and @vote.users.exists?(current_user.id)
|
redirect '/votes/' + @vote.secure_id unless @vote.state == 'open' and @vote.users.exists?(current_user.id)
|
||||||
@vote.state = 'closed'
|
@vote.state = 'closed'
|
||||||
|
|
@ -202,7 +202,7 @@ post '/votes/:id/close' do
|
||||||
end
|
end
|
||||||
|
|
||||||
post '/votes/:id/reopen' do
|
post '/votes/:id/reopen' do
|
||||||
redirect '/login' unless current_user
|
require_login
|
||||||
@vote = Vote.find_by(secure_id: params[:id])
|
@vote = Vote.find_by(secure_id: params[:id])
|
||||||
redirect '/votes/' + @vote.secure_id unless @vote.state == 'closed' and @vote.users.exists?(current_user.id)
|
redirect '/votes/' + @vote.secure_id unless @vote.state == 'closed' and @vote.users.exists?(current_user.id)
|
||||||
@vote.state = 'open'
|
@vote.state = 'open'
|
||||||
|
|
@ -211,7 +211,7 @@ post '/votes/:id/reopen' do
|
||||||
end
|
end
|
||||||
|
|
||||||
post '/votes/:id/ratings' do
|
post '/votes/:id/ratings' do
|
||||||
redirect '/login' unless current_user
|
require_login
|
||||||
@vote = Vote.find_by(secure_id: params[:id])
|
@vote = Vote.find_by(secure_id: params[:id])
|
||||||
@vote.candidates.each do |candidate|
|
@vote.candidates.each do |candidate|
|
||||||
rating = Rating.find_or_initialize_by(vote: @vote, user: current_user, candidate: candidate)
|
rating = Rating.find_or_initialize_by(vote: @vote, user: current_user, candidate: candidate)
|
||||||
|
|
@ -222,7 +222,7 @@ post '/votes/:id/ratings' do
|
||||||
end
|
end
|
||||||
|
|
||||||
post '/votes/:id/organizers' do
|
post '/votes/:id/organizers' do
|
||||||
redirect '/login' unless current_user
|
require_login
|
||||||
@vote = Vote.find_by(secure_id: params[:id])
|
@vote = Vote.find_by(secure_id: params[:id])
|
||||||
redirect '/votes/' + @vote.secure_id unless @vote.users.exists?(current_user.id)
|
redirect '/votes/' + @vote.secure_id unless @vote.users.exists?(current_user.id)
|
||||||
user = User.find_by(email: params[:email])
|
user = User.find_by(email: params[:email])
|
||||||
|
|
@ -231,7 +231,7 @@ post '/votes/:id/organizers' do
|
||||||
end
|
end
|
||||||
|
|
||||||
post '/votes/:id/delete' do
|
post '/votes/:id/delete' do
|
||||||
redirect '/login' unless current_user
|
require_login
|
||||||
@vote = Vote.find_by(secure_id: params[:id])
|
@vote = Vote.find_by(secure_id: params[:id])
|
||||||
redirect '/votes/' + @vote.secure_id unless @vote.users.exists?(current_user.id)
|
redirect '/votes/' + @vote.secure_id unless @vote.users.exists?(current_user.id)
|
||||||
@vote.destroy
|
@vote.destroy
|
||||||
|
|
@ -246,4 +246,8 @@ helpers do
|
||||||
nil
|
nil
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def require_login
|
||||||
|
redirect '/login' unless current_user
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue