Class: Decidim::Elections::CurrentUserVoteFlow
- Inherits:
-
VoteFlow
- Object
- VoteFlow
- Decidim::Elections::CurrentUserVoteFlow
show all
- Defined in:
- decidim-elections/app/services/decidim/elections/current_user_vote_flow.rb
Overview
Service that encapsulates the vote flow used for elections for registered users.
Instance Method Summary
collapse
Methods inherited from VoteFlow
#valid_received_data?, #voter_from_token, #voter_id, #voter_id_token, #voter_token
Constructor Details
#initialize(election, current_user, &can_vote_block) ⇒ CurrentUserVoteFlow
Returns a new instance of CurrentUserVoteFlow.
7
8
9
10
11
12
|
# File 'decidim-elections/app/services/decidim/elections/current_user_vote_flow.rb', line 7
def initialize(election, current_user, &can_vote_block)
super(election)
@current_user = current_user
@can_vote_block = can_vote_block
end
|
Instance Method Details
#ballot_style_id ⇒ Object
51
|
# File 'decidim-elections/app/services/decidim/elections/current_user_vote_flow.rb', line 51
def ballot_style_id; end
|
#has_voter? ⇒ Boolean
18
19
20
|
# File 'decidim-elections/app/services/decidim/elections/current_user_vote_flow.rb', line 18
def has_voter?
current_user.present?
end
|
#login_path(online_vote_path) ⇒ Object
45
|
# File 'decidim-elections/app/services/decidim/elections/current_user_vote_flow.rb', line 45
def login_path(online_vote_path); end
|
#questions_for(election) ⇒ Object
47
48
49
|
# File 'decidim-elections/app/services/decidim/elections/current_user_vote_flow.rb', line 47
def questions_for(election)
election.questions
end
|
#user ⇒ Object
25
26
27
|
# File 'decidim-elections/app/services/decidim/elections/current_user_vote_flow.rb', line 25
def user
current_user
end
|
#vote_check ⇒ Object
38
39
40
41
42
43
|
# File 'decidim-elections/app/services/decidim/elections/current_user_vote_flow.rb', line 38
def vote_check(*)
VoteCheckResult.new(
allowed: current_user && (received_voter_token || can_vote_block.call),
error_message: I18n.t("votes.messages.not_allowed", scope: "decidim.elections")
)
end
|
#voter_data ⇒ Object
29
30
31
32
33
34
35
36
|
# File 'decidim-elections/app/services/decidim/elections/current_user_vote_flow.rb', line 29
def voter_data
return nil unless current_user
{
id: current_user.id,
created: current_user.created_at.to_i
}
end
|
#voter_login(params) ⇒ Object
14
15
16
|
# File 'decidim-elections/app/services/decidim/elections/current_user_vote_flow.rb', line 14
def voter_login(params)
end
|