Commit 9d30d2f586010d95b939d6527d5effd76ee4c7d8
Exists in
theme-brasil-digital-from-staging
and in
9 other branches
Merge branch 'AI3220_proposals' into stable
Showing
2 changed files
with
12 additions
and
55 deletions
Show diff stats
plugins/proposals_discussion/lib/proposals_discussion_plugin/topic.rb
| @@ -44,11 +44,21 @@ class ProposalsDiscussionPlugin::Topic < Folder | @@ -44,11 +44,21 @@ class ProposalsDiscussionPlugin::Topic < Folder | ||
| 44 | end | 44 | end |
| 45 | 45 | ||
| 46 | def proposals_per_day | 46 | def proposals_per_day |
| 47 | - proposals.group("date(created_at)").count | 47 | + result = proposals.group("date(created_at)").count |
| 48 | + fill_empty_days(result) | ||
| 48 | end | 49 | end |
| 49 | 50 | ||
| 50 | def comments_per_day | 51 | def comments_per_day |
| 51 | - proposals.joins(:comments).group('date(comments.created_at)').count('comments.id') | 52 | + result = proposals.joins(:comments).group('date(comments.created_at)').count('comments.id') |
| 53 | + fill_empty_days(result) | ||
| 54 | + end | ||
| 55 | + | ||
| 56 | + def fill_empty_days(result) | ||
| 57 | + from = created_at.to_date | ||
| 58 | + (from..Date.today).inject({}) do |h, date| | ||
| 59 | + h[date.to_s] = result[date.to_s] || 0 | ||
| 60 | + h | ||
| 61 | + end | ||
| 52 | end | 62 | end |
| 53 | 63 | ||
| 54 | def cache_key_with_person(params = {}, user = nil, language = 'en') | 64 | def cache_key_with_person(params = {}, user = nil, language = 'en') |
plugins/proposals_discussion/public/proposals_graph.js~
| @@ -1,53 +0,0 @@ | @@ -1,53 +0,0 @@ | ||
| 1 | -(function basic_time(container) { | ||
| 2 | - | ||
| 3 | - var | ||
| 4 | - d1 = [], | ||
| 5 | - start = new Date("2009/01/01 01:00").getTime(), | ||
| 6 | - options, | ||
| 7 | - graph, | ||
| 8 | - i, x, o; | ||
| 9 | - | ||
| 10 | - for (i = 0; i < 100; i++) { | ||
| 11 | - x = start+(i*1000*3600*24*36.5); | ||
| 12 | - d1.push([x, i+Math.random()*30+Math.sin(i/20+Math.random()*2)*20+Math.sin(i/10+Math.random())*10]); | ||
| 13 | - } | ||
| 14 | - | ||
| 15 | - options = { | ||
| 16 | - xaxis : { | ||
| 17 | - mode : 'time', | ||
| 18 | - labelsAngle : 45 | ||
| 19 | - }, | ||
| 20 | - selection : { | ||
| 21 | - mode : 'x' | ||
| 22 | - }, | ||
| 23 | - HtmlText : false, | ||
| 24 | - title : 'Time' | ||
| 25 | - }; | ||
| 26 | - | ||
| 27 | - // Draw graph with default options, overwriting with passed options | ||
| 28 | - function drawGraph (opts) { | ||
| 29 | - | ||
| 30 | - // Clone the options, so the 'options' variable always keeps intact. | ||
| 31 | - o = Flotr._.extend(Flotr._.clone(options), opts || {}); | ||
| 32 | - | ||
| 33 | - // Return a new graph. | ||
| 34 | - return Flotr.draw( | ||
| 35 | - container, | ||
| 36 | - [ d1 ], | ||
| 37 | - o | ||
| 38 | - ); | ||
| 39 | - } | ||
| 40 | - | ||
| 41 | - graph = drawGraph(); | ||
| 42 | - | ||
| 43 | - Flotr.EventAdapter.observe(container, 'flotr:select', function(area){ | ||
| 44 | - // Draw selected area | ||
| 45 | - graph = drawGraph({ | ||
| 46 | - xaxis : { min : area.x1, max : area.x2, mode : 'time', labelsAngle : 45 }, | ||
| 47 | - yaxis : { min : area.y1, max : area.y2 } | ||
| 48 | - }); | ||
| 49 | - }); | ||
| 50 | - | ||
| 51 | - // When graph is clicked, draw the graph with default area. | ||
| 52 | - Flotr.EventAdapter.observe(container, 'flotr:click', function () { graph = drawGraph(); }); | ||
| 53 | -})(document.getElementById("editor-render-0")); |