Class ItemsController
In: app/controllers/items_controller.rb
Parent: ApplicationController

Methods

activate   all   create   index   new   newest   score   search   show  

Public Instance methods

[Source]

    # 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

[Source]

    # 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

[Source]

    # 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

[Source]

   # 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

[Source]

    # File app/controllers/items_controller.rb, line 37
37:   def new
38:     @current_page = t('nav.add_an_idea')
39:   end

[Source]

    # 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

[Source]

    # File app/controllers/items_controller.rb, line 68
68:   def score
69:     render :layout => 'blank'
70:   end

[Source]

    # 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

[Source]

    # 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

[Validate]