mirror of
https://github.com/TracksApp/tracks.git
synced 2026-01-03 07:48:50 +01:00
Group context-related pieces in a class
This commit is contained in:
parent
8b1f0a34a0
commit
6ccb9a81fb
5 changed files with 35 additions and 19 deletions
|
|
@ -15,8 +15,8 @@ class StatsController < ApplicationController
|
|||
@hidden_contexts = current_user.contexts.hidden
|
||||
@actions = Stats::Actions.new(current_user)
|
||||
@projects = Stats::Projects.new(current_user)
|
||||
@contexts = Stats::Contexts.new(current_user)
|
||||
|
||||
get_stats_contexts
|
||||
get_stats_tags
|
||||
end
|
||||
|
||||
|
|
@ -387,18 +387,6 @@ class StatsController < ApplicationController
|
|||
@cut_off_3months = 3.months.ago.beginning_of_day
|
||||
end
|
||||
|
||||
def get_stats_contexts
|
||||
@actions_per_context = Stats::TopContextsQuery.new(current_user, :limit => 5).result
|
||||
@running_actions_per_context = Stats::TopContextsQuery.new(current_user, :limit => 5, :running => true).result
|
||||
|
||||
@context_charts = %w{
|
||||
context_total_actions_data
|
||||
context_running_actions_data
|
||||
}.map do |action|
|
||||
Stats::Chart.new(action, :height => 325)
|
||||
end
|
||||
end
|
||||
|
||||
def get_stats_tags
|
||||
tags = Stats::TagCloudQuery.new(current_user).result
|
||||
@tag_cloud = Stats::TagCloud.new(tags)
|
||||
|
|
|
|||
27
app/models/stats/contexts.rb
Normal file
27
app/models/stats/contexts.rb
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
module Stats
|
||||
class Contexts
|
||||
|
||||
attr_reader :user
|
||||
def initialize(user)
|
||||
@user = user
|
||||
end
|
||||
|
||||
def actions
|
||||
@actions ||= Stats::TopContextsQuery.new(user, :limit => 5).result
|
||||
end
|
||||
|
||||
def running_actions
|
||||
@running_actions ||= Stats::TopContextsQuery.new(user, :limit => 5, :running => true).result
|
||||
end
|
||||
|
||||
def charts
|
||||
@charts = %w{
|
||||
context_total_actions_data
|
||||
context_running_actions_data
|
||||
}.map do |action|
|
||||
Stats::Chart.new(action, :height => 325)
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
end
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
# Get action count for the top 5 contexts
|
||||
# If initialized with :running, then only active
|
||||
# Get action count for the top n contexts (default: all)
|
||||
# If initialized with :running => true, then only active
|
||||
# and visible contexts will be included.
|
||||
module Stats
|
||||
class TopContextsQuery
|
||||
|
|
|
|||
|
|
@ -1,9 +1,10 @@
|
|||
<% @context_charts.each do |chart| %><%=
|
||||
<% contexts.charts.each do |chart| %><%=
|
||||
render :partial => 'chart', :locals => {:chart => chart}
|
||||
-%><% end %>
|
||||
|
||||
<br style="clear:both">
|
||||
|
||||
<%= render :partial => 'contexts_list', :locals => {:contexts => @actions_per_context, :key => 'contexts'} -%>
|
||||
<%= render :partial => 'contexts_list', :locals => {:contexts => contexts.actions, :key => 'contexts'} -%>
|
||||
|
||||
<%= render :partial => 'contexts_list', :locals => {:contexts => contexts.running_actions, :key => 'visible_contexts_with_incomplete_actions'} -%>
|
||||
|
||||
<%= render :partial => 'contexts_list', :locals => {:contexts => @running_actions_per_context, :key => 'visible_contexts_with_incomplete_actions'} -%>
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@
|
|||
<%= render :partial => 'actions', :locals => {:actions => @actions} -%>
|
||||
|
||||
<h2><%= t('stats.contexts') %></h2>
|
||||
<%= render :partial => 'contexts' -%>
|
||||
<%= render :partial => 'contexts', :locals => {:contexts => @contexts} -%>
|
||||
|
||||
<h2><%= t('stats.projects') %></h2>
|
||||
<%= render :partial => 'projects', :locals => {:projects => @projects} -%>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue