diff --git a/app/assets/javascripts/application.js b/app/assets/javascripts/application.js index 5664e7303..31ceb32f0 100644 --- a/app/assets/javascripts/application.js +++ b/app/assets/javascripts/application.js @@ -15,21 +15,32 @@ //= require foundation //= require turbolinks //= require ckeditor/init +//= require_directory ./ckeditor //= require social-share-button //= require initial //= require ahoy -//= require d3 -//= require c3 -//= require c3ext //= require app -//= require_tree . +//= require check_all_none +//= require comments +//= require dropdown +//= require ie_alert +//= require location_changer +//= require moderator_comment +//= require moderator_debates +//= require moderator_proposals +//= require prevent_double_submission +//= require rem.min +//= require respond.min +//= require tags +//= require users +//= require votes + var initialize_modules = function() { App.Comments.initialize(); App.Users.initialize(); App.Votes.initialize(); App.Tags.initialize(); - App.Stats.initialize(); App.Dropdown.initialize(); App.LocationChanger.initialize(); App.CheckAllNone.initialize(); diff --git a/app/assets/javascripts/stat_graphs.js b/app/assets/javascripts/stat_graphs.js new file mode 100644 index 000000000..e21d88ff0 --- /dev/null +++ b/app/assets/javascripts/stat_graphs.js @@ -0,0 +1,15 @@ +//= require d3 +//= require c3 +//= require c3ext +//= require stats + +var initialize_stats_modules = function() { + App.Stats.initialize(); +}; + +$(function(){ + + $(document).ready(initialize_stats_modules); + $(document).on('page:load', initialize_stats_modules); + $(document).on('ajax:complete', initialize_stats_modules); +}); diff --git a/app/controllers/admin/stats_controller.rb b/app/controllers/admin/stats_controller.rb new file mode 100644 index 000000000..3bcb50a86 --- /dev/null +++ b/app/controllers/admin/stats_controller.rb @@ -0,0 +1,7 @@ +class Admin::StatsController < Admin::BaseController + + def show + @event_types = Ahoy::Event.group(:name).count + end + +end diff --git a/app/controllers/stats_controller.rb b/app/controllers/stats_controller.rb deleted file mode 100644 index 5802ee9e9..000000000 --- a/app/controllers/stats_controller.rb +++ /dev/null @@ -1,14 +0,0 @@ -class StatsController < ApplicationController - before_action :verify_administrator - skip_authorization_check - - def show - @event_types = Ahoy::Event.group(:name).count - end - - private - - def verify_administrator - raise CanCan::AccessDenied unless current_user.try(:administrator?) - end -end diff --git a/app/views/admin/_menu.html.erb b/app/views/admin/_menu.html.erb index 89e1b6641..39d172790 100644 --- a/app/views/admin/_menu.html.erb +++ b/app/views/admin/_menu.html.erb @@ -75,7 +75,7 @@
  • > - <%= link_to stats_path do %> + <%= link_to admin_stats_path do %> <%= t("admin.menu.stats") %> <% end %> diff --git a/app/views/stats/show.html.erb b/app/views/admin/stats/show.html.erb similarity index 84% rename from app/views/stats/show.html.erb rename to app/views/admin/stats/show.html.erb index da366aa1a..42c7e6726 100644 --- a/app/views/stats/show.html.erb +++ b/app/views/admin/stats/show.html.erb @@ -1,3 +1,6 @@ +<% content_for :head do %> + <%= javascript_include_tag "stat_graphs", 'data-turbolinks-track' => true %> +<% end %>
    diff --git a/app/views/layouts/admin.html.erb b/app/views/layouts/admin.html.erb index 4c30c9f66..5ba9e8d77 100644 --- a/app/views/layouts/admin.html.erb +++ b/app/views/layouts/admin.html.erb @@ -9,6 +9,7 @@ <%= stylesheet_link_tag "application" %> <%= javascript_include_tag "vendor/modernizr" %> <%= javascript_include_tag "application", 'data-turbolinks-track' => true %> + <%= content_for :head %> <%= csrf_meta_tags %> <%= favicon_link_tag "favicon.ico" %> diff --git a/config/initializers/assets.rb b/config/initializers/assets.rb index e79eaca70..5ef4cfcfc 100644 --- a/config/initializers/assets.rb +++ b/config/initializers/assets.rb @@ -10,4 +10,5 @@ Rails.application.config.assets.version = '1.0' # application.js, application.css, and all non-JS/CSS in app/assets folder are already added. # Rails.application.config.assets.precompile += %w( search.js ) Rails.application.config.assets.precompile += %w( ckeditor/* ) -Rails.application.config.assets.precompile += %w( rem.min.js, respond.min.js ) \ No newline at end of file +Rails.application.config.assets.precompile += %w( rem.min.js, respond.min.js ) +Rails.application.config.assets.precompile += %w( stat_graphs.js ) \ No newline at end of file diff --git a/config/routes.rb b/config/routes.rb index e60b50ca8..6d214f7d6 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -114,6 +114,7 @@ Rails.application.routes.draw do end resource :activity, controller: :activity, only: :show + resource :stats, only: :show end namespace :moderation do @@ -154,8 +155,6 @@ Rails.application.routes.draw do end end - resource :stats, only: [:show] - namespace :api do resource :stats, only: [:show] end diff --git a/spec/features/stats_spec.rb b/spec/features/stats_spec.rb index 2363e3ff6..d56b8f2c3 100644 --- a/spec/features/stats_spec.rb +++ b/spec/features/stats_spec.rb @@ -13,7 +13,7 @@ feature 'Stats' do confirm_phone login_as(admin.user) - visit stats_path + visit admin_stats_path expect(page).to have_content "Level 2 User (1)" end