| Class | ItemsController |
| In: |
app/controllers/items_controller.rb
|
| Parent: | ApplicationController |
# File app/controllers/items_controller.rb, line 72
72: def activate
73: question_id, item_id = Base64.decode64(params[:id]).split('-')
74: set_pairwise_from_question_id(question_id)
75: Pairwise.update_item_state(item_id, true)
76: item = Pairwise.get_item(item_id)[1]
77: question = Question.first(:conditions => { :pairwise_id => question_id })
78: flash[:notice] = "<span class=\"large-text\">#{t('items.new.activated')} \"<strong>#{item}</strong>\"</span>"
79: redirect_to named_url_for_question(question)
80: end
# File app/controllers/items_controller.rb, line 11
11: def all
12: @current_page = t('nav.view_results')
13: @third_page = t('nav.all_ideas')
14: @header_text = "#{t('items.score')} "
15: item_list_vars(Const::RANK_ALGO_ID)
16: @items_all = true
17: render :index
18: end
# File app/controllers/items_controller.rb, line 41
41: def create
42: item = HTML::FullSanitizer.new.sanitize(params[:item])
43: if !item || item.blank? || item == t('vote.add_your_idea')
44: flash[:v_error] = t('items.new.missing_value')
45: elsif item.length > Const::MAX_ITEM_LENGTH
46: flash[:v_error] = "#{t('items.new.too_long')} #{Const::MAX_ITEM_LENGTH}."
47: else
48: set_pairwise_from_question_id(@question_id)
49: id = Pairwise.item(item, [@question_id], ip_address).first
50: user = Question.first(:conditions => { :pairwise_id => @question_id }).user
51: Mailer.deliver_add_item(t('items.item_added_to_question'), user, @question, @question_id, item, id)
52: flash[:v_notice] = t('items.new.added_successfully')
53: end
54: @current_page = t('nav.add_an_idea')
55: question = Question.first(:conditions => { :pairwise_id => @question_id })
56: redirect_to named_url_for_question(question)
57: end
# File app/controllers/items_controller.rb, line 5 5: def index 6: @current_page = t('nav.view_results') 7: @header_text = t('items.score') 8: item_list_vars(Const::RANK_ALGO_ID, Const::ITEM_LIMIT) 9: end
# File app/controllers/items_controller.rb, line 37
37: def new
38: @current_page = t('nav.add_an_idea')
39: end
# File app/controllers/items_controller.rb, line 20
20: def newest
21: @current_page = t('nav.view_results')
22: @third_page = t('nav.newest_ideas')
23: @header_text = t('items.added_on')
24: @items_newest = true
25: item_list_vars(0)
26: render :index
27: end
# File app/controllers/items_controller.rb, line 68
68: def score
69: render :layout => 'blank'
70: end
# File app/controllers/items_controller.rb, line 59
59: def search
60: @current_page = t('nav.view_results')
61: @third_page = t('nav.search_for_an_idea')
62: if request.post? && @query = params[:query]
63: @items = active_items(@question_id, @algo)
64: @items.reject! { |el| (el[1] =~ /.*#{@query}.*/i).nil? }
65: end
66: end
# File app/controllers/items_controller.rb, line 29
29: def show
30: @id, @item, @added, @rank, @wins, @losses, @score = Pairwise.get_item(params[:id], Const::RANK_ALGO_ID)
31: votes = Pairwise.list_votes(@question_id, @id, 100)
32: @ip_percents = ip_percents(votes)
33: @explain = t('items.map_explanation')
34: @current_page = t('nav.view_idea')
35: end