Files
nairobi/app/components/proposals/votes_component.rb
Javi Martín 9c4d406a77 Unify the logic to show the "not allowed" message
We were using the same logic six times regarding when we should show a
"participation not allowed" message. Since we're going to change the
current behavior, we're unifying the logic in one place so the changes
will be easier.
2022-02-23 16:43:37 +01:00

32 lines
700 B
Ruby

class Proposals::VotesComponent < ApplicationComponent
attr_reader :proposal
delegate :current_user, :link_to_verify_account, to: :helpers
def initialize(proposal, vote_url: nil)
@proposal = proposal
@vote_url = vote_url
end
def vote_url
@vote_url || vote_proposal_path(proposal, value: "yes")
end
private
def voted?
current_user&.voted_for?(proposal)
end
def can_vote?
proposal.votable_by?(current_user)
end
def support_aria_label
t("proposals.proposal.support_label", proposal: proposal.title)
end
def cannot_vote_text
t("votes.verified_only", verify_account: link_to_verify_account) unless can_vote?
end
end