Commit 1c73a0c6140d6eba44f3693d6569d49214b474fe
1 parent
f8e154db
Exists in
master
and in
1 other branch
choice activation
Showing
3 changed files
with
60 additions
and
0 deletions
Show diff stats
app/controllers/choices_controller.rb
... | ... | @@ -57,6 +57,55 @@ class ChoicesController < InheritedResources::Base |
57 | 57 | end |
58 | 58 | end |
59 | 59 | end |
60 | + | |
61 | + def update_from_abroad | |
62 | + authenticate | |
63 | + @question = current_user.questions.find(params[:question_id]) | |
64 | + @choice = @question.choices.find(params[:id]) | |
65 | + | |
66 | + respond_to do |format| | |
67 | + if @choice.activate! | |
68 | + logger.info "successfully activated choice #{@choice.inspect}" | |
69 | + format.xml { render :xml => true } | |
70 | + format.json { render :json => true } | |
71 | + else | |
72 | + logger.info "failed to activate choice #{@choice.inspect}" | |
73 | + format.xml { render :xml => @choice.to_xml(:methods => [:data, :votes_count, :wins_plus_losses])} | |
74 | + format.json { render :json => @choice.to_json(:methods => [:data])} | |
75 | + end | |
76 | + end | |
77 | + end | |
78 | + | |
79 | + def activate | |
80 | + authenticate | |
81 | + @question = current_user.questions.find(params[:question_id]) | |
82 | + @choice = @question.choices.find(params[:id]) | |
83 | + respond_to do |format| | |
84 | + if @choice.activate! | |
85 | + format.xml { render :xml => @choice.to_xml, :status => :created } | |
86 | + format.json { render :json => @choice.to_json, :status => :created } | |
87 | + else | |
88 | + format.xml { render :xml => @choice.errors, :status => :unprocessable_entity } | |
89 | + format.json { render :json => @choice.to_json } | |
90 | + end | |
91 | + end | |
92 | + end | |
93 | + | |
94 | + | |
95 | + def suspend | |
96 | + authenticate | |
97 | + @question = current_user.questions.find(params[:question_id]) | |
98 | + @choice = @question.choices.find(params[:id]) | |
99 | + respond_to do |format| | |
100 | + if @choice.suspend! | |
101 | + format.xml { render :xml => @choice.to_xml, :status => :created } | |
102 | + format.json { render :json => @choice.to_json, :status => :created } | |
103 | + else | |
104 | + format.xml { render :xml => @choice.errors, :status => :unprocessable_entity } | |
105 | + format.json { render :json => @choice.to_json } | |
106 | + end | |
107 | + end | |
108 | + end | |
60 | 109 | |
61 | 110 | |
62 | 111 | def skip | ... | ... |
app/models/choice.rb