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 3 needs_profile
4 4  
5 5 def load_proposals
6   - holder = profile.articles.find(params[:holder_id])
  6 + @holder = profile.articles.find(params[:holder_id])
7 7 page = (params[:page] || 1).to_i
8 8 set_rand_cookie if page == 1
9 9 order = params[:order]
10 10  
11   - @proposals = order_proposals(holder.proposals.public, order)
  11 + @proposals = order_proposals(@holder.proposals.public, order)
12 12 @proposals = @proposals.page(page).per_page(4)
13 13  
14 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 16 else
17 17 render :text => ''
18 18 end
... ...
lib/proposals_discussion_plugin/proposal.rb
... ... @@ -25,4 +25,12 @@ class ProposalsDiscussionPlugin::Proposal < TinyMceArticle
25 25 super || created_by == user
26 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 36 end
... ...
lib/proposals_discussion_plugin/topic.rb
... ... @@ -32,4 +32,12 @@ class ProposalsDiscussionPlugin::Topic < Folder
32 32 true
33 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 43 end
... ...
views/content_viewer/_proposal_card.html.erb
1 1 <div class="proposal">
2 2 <div class="score">
3   - <%= proposal_card.comments_count %>
  3 + <%= proposal_card.normalized_score(@holder) if proposal_card.published? %>
4 4 </div>
5 5 <div class="content">
6 6 <div class="title">
... ...