From 7045937ecda9019da9c0bbb6675722d4cebf6d3e Mon Sep 17 00:00:00 2001
From: man13 <man13@inf.ufpr.br>
Date: Wed, 3 Feb 2016 10:08:12 -0200
Subject: [PATCH] migrating management statistics

Signed-off-by: man13 <man13@inf.ufpr.br>
---
 .../management/statistics_controller.rb       | 28 ++++++-------------
 .../management/statistics/index.html.erb      |  2 +-
 .../statistics/learning_objects.html.erb      |  2 +-
 3 files changed, 10 insertions(+), 22 deletions(-)

diff --git a/app/controllers/management/statistics_controller.rb b/app/controllers/management/statistics_controller.rb
index c073cd2c..a2b32010 100644
--- a/app/controllers/management/statistics_controller.rb
+++ b/app/controllers/management/statistics_controller.rb
@@ -24,21 +24,9 @@ class Management::StatisticsController < ManagementController
   def users
     #missing roles
     @n_users = User.count
-    @n_curators = 0
-    @n_admins = 0
-    @n_teachers = 0
-    User.includes(:roles).all.each do |u|
-      if !u.roles[0].nil?
-        if u.roles[0]["name"] == "curator"
-          @n_curators += 1
-        elsif u.roles[0]["name"] == "admin"
-          @n_admins += 1
-        elsif u.roles[0]["name"] == "teacher"
-          @n_teachers +=1
-        end
-      end
-    end
-
+    @n_curators = Role.find_by(name: "curator").users.size
+    @n_admins = Role.find_by(name: "admin").users.size
+    @n_teachers = Role.find_by(name: "teacher").users.size
   end
 
   def accesses
@@ -74,11 +62,11 @@ class Management::StatisticsController < ManagementController
 
   def set_statistics
     @@n_users = User.count
-    @@n_collections = collection_repository.get_number_of_collections || []
-    @@n_learning_objects = learning_object_repository.count_all || []
-    @@n_non_visualised = learning_object_repository.get_number_of_non_visualised || []
-    @@most_visualised = learning_object_repository.get_most_visualised || []
-    @@n_views = learning_object_repository.get_number_of("Views") || []
+    @@n_collections = Collection.all.size
+    @@n_learning_objects = LearningObject.all.size
+    @@n_non_visualised = LearningObject.where(views_count: 0).size
+    @@most_visualised = LearningObject.order(:views_count)
+    @@n_views = LearningObject.sum(:views_count)
    end
 
   def views
diff --git a/app/views/management/statistics/index.html.erb b/app/views/management/statistics/index.html.erb
index 08f372ad..35e6504b 100644
--- a/app/views/management/statistics/index.html.erb
+++ b/app/views/management/statistics/index.html.erb
@@ -4,4 +4,4 @@
   <li>Estatísticas</li>
 </ol>
 
-<%= render 'general_stats', users_number: 10, collections_number: 20, learning_objects_number: 12333, total_accesses: 1000283474 %>
+<%= render 'general_stats', users_number: @n_users, collections_number: @n_collections, learning_objects_number: @n_learning_objects, total_accesses: @total_accesses %>
diff --git a/app/views/management/statistics/learning_objects.html.erb b/app/views/management/statistics/learning_objects.html.erb
index 999870e0..68d09eb0 100644
--- a/app/views/management/statistics/learning_objects.html.erb
+++ b/app/views/management/statistics/learning_objects.html.erb
@@ -53,7 +53,7 @@
     <div class="row learning-object-columns">
       <% @most_visualised.each do |most| %>
         <%#= render_learning_object("vertical", most) %>
-        <li><%= link_to most["name"], learning_object_path(most["@rid"]) %></li><BR>
+        <li><%= link_to most["name"], learning_object_path(most["id"]) %></li><BR>
       <% end %>
     </div>
   </div>
-- 
GitLab