diff --git a/app/models/poll.rb b/app/models/poll.rb index 6d0e344b0..30068820c 100644 --- a/app/models/poll.rb +++ b/app/models/poll.rb @@ -91,12 +91,12 @@ class Poll < ApplicationRecord end def votable_by?(user) - return false if user_has_an_online_ballot(user) + return false if user_has_an_online_ballot?(user) answerable_by?(user) && not_voted_by?(user) end - def user_has_an_online_ballot(user) + def user_has_an_online_ballot?(user) budget.present? && budget.ballots.find_by(user: user)&.lines.present? end diff --git a/app/views/officing/voters/new.html.erb b/app/views/officing/voters/new.html.erb index 8f218c09c..e88e86d85 100644 --- a/app/views/officing/voters/new.html.erb +++ b/app/views/officing/voters/new.html.erb @@ -19,7 +19,7 @@ <% if poll.votable_by?(@user) %> <%= render "can_vote", poll: poll %> - <% elsif poll.voted_by?(@user) %> + <% elsif poll.voted_by?(@user) || poll.user_has_an_online_ballot?(@user) %> <%= render "already_voted" %> <% else %> <%= render "cannot_vote" %>