Commit 2c0016f2a6b333246d32c73cfc519566786934ee

Authored by Victor Costa
1 parent e316382e

proposals_discussion: normalized score

controllers/public/proposals_discussion_plugin_public_controller.rb
@@ -3,16 +3,16 @@ class ProposalsDiscussionPluginPublicController < ApplicationController @@ -3,16 +3,16 @@ class ProposalsDiscussionPluginPublicController < ApplicationController
3 needs_profile 3 needs_profile
4 4
5 def load_proposals 5 def load_proposals
6 - holder = profile.articles.find(params[:holder_id]) 6 + @holder = profile.articles.find(params[:holder_id])
7 page = (params[:page] || 1).to_i 7 page = (params[:page] || 1).to_i
8 set_rand_cookie if page == 1 8 set_rand_cookie if page == 1
9 order = params[:order] 9 order = params[:order]
10 10
11 - @proposals = order_proposals(holder.proposals.public, order) 11 + @proposals = order_proposals(@holder.proposals.public, order)
12 @proposals = @proposals.page(page).per_page(4) 12 @proposals = @proposals.page(page).per_page(4)
13 13
14 unless @proposals.empty? 14 unless @proposals.empty?
15 - render :partial => 'content_viewer/proposals_list_content', :locals => {:proposals => @proposals, :holder => holder, :page => page+1, :order => order} 15 + render :partial => 'content_viewer/proposals_list_content', :locals => {:proposals => @proposals, :holder => @holder, :page => page+1, :order => order}
16 else 16 else
17 render :text => '' 17 render :text => ''
18 end 18 end
lib/proposals_discussion_plugin/proposal.rb
@@ -25,4 +25,12 @@ class ProposalsDiscussionPlugin::Proposal < TinyMceArticle @@ -25,4 +25,12 @@ class ProposalsDiscussionPlugin::Proposal < TinyMceArticle
25 super || created_by == user 25 super || created_by == user
26 end 26 end
27 27
  28 + def score
  29 + comments_count
  30 + end
  31 +
  32 + def normalized_score(holder)
  33 + ((score - holder.min_score)/(holder.max_score - holder.min_score).to_f).round(2)
  34 + end
  35 +
28 end 36 end
lib/proposals_discussion_plugin/topic.rb
@@ -32,4 +32,12 @@ class ProposalsDiscussionPlugin::Topic < Folder @@ -32,4 +32,12 @@ class ProposalsDiscussionPlugin::Topic < Folder
32 true 32 true
33 end 33 end
34 34
  35 + def max_score
  36 + @max ||= [1, proposals.maximum(:comments_count)].max
  37 + end
  38 +
  39 + def min_score
  40 + @nin ||= proposals.minimum(:comments_count)
  41 + end
  42 +
35 end 43 end
views/content_viewer/_proposal_card.html.erb
1 <div class="proposal"> 1 <div class="proposal">
2 <div class="score"> 2 <div class="score">
3 - <%= proposal_card.comments_count %> 3 + <%= proposal_card.normalized_score(@holder) if proposal_card.published? %>
4 </div> 4 </div>
5 <div class="content"> 5 <div class="content">
6 <div class="title"> 6 <div class="title">