Commit 2c0016f2a6b333246d32c73cfc519566786934ee
1 parent
e316382e
Exists in
master
and in
11 other branches
proposals_discussion: normalized score
Showing
4 changed files
with
20 additions
and
4 deletions
Show diff stats
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"> |