mirror of
http://ghproxy.cn/https://github.com/multunus/onemdm-server
synced 2025-12-06 02:04:57 +00:00
Move the query to a scope, Lambda for reload data
This commit is contained in:
@@ -1,12 +1,10 @@
|
|||||||
ActiveAdmin.register_page "App Usage" do
|
ActiveAdmin.register_page "App Usage" do
|
||||||
|
|
||||||
menu priority: 2, label: "App Usage"
|
menu priority: 2, label: "App Usage"
|
||||||
|
content title: "App Usage" do
|
||||||
app_usage_data = []
|
app_usage_data = []
|
||||||
begin
|
begin
|
||||||
app_usages = AppUsage.select(:package_name,:device_id,:used_on).
|
app_usages = AppUsage.app_usages_per_device_app_day
|
||||||
order("used_on desc").
|
|
||||||
group("device_id","package_name","used_on").
|
|
||||||
sum("usage_duration_in_seconds")
|
|
||||||
app_usages.each do |key,value|
|
app_usages.each do |key,value|
|
||||||
app_usage_data << {device_id: key[0],
|
app_usage_data << {device_id: key[0],
|
||||||
package_name: key[1],
|
package_name: key[1],
|
||||||
@@ -16,7 +14,6 @@ ActiveAdmin.register_page "App Usage" do
|
|||||||
rescue
|
rescue
|
||||||
|
|
||||||
end
|
end
|
||||||
content title: "App Usage" do
|
|
||||||
|
|
||||||
panel "Usage Report" do
|
panel "Usage Report" do
|
||||||
table_for app_usage_data do
|
table_for app_usage_data do
|
||||||
|
|||||||
@@ -1,4 +1,12 @@
|
|||||||
class AppUsage < ActiveRecord::Base
|
class AppUsage < ActiveRecord::Base
|
||||||
validates :package_name, :usage_duration_in_seconds, :used_on, presence: true
|
validates :package_name, :usage_duration_in_seconds, :used_on, presence: true
|
||||||
belongs_to :device
|
belongs_to :device
|
||||||
|
|
||||||
|
scope :app_usages_per_device_app_day, lambda {
|
||||||
|
AppUsage.select(:package_name,:device_id,:used_on).
|
||||||
|
order("used_on desc").
|
||||||
|
order("device_id").
|
||||||
|
order("package_name").
|
||||||
|
group("device_id","package_name","used_on").
|
||||||
|
sum("usage_duration_in_seconds")}
|
||||||
end
|
end
|
||||||
|
|||||||
Reference in New Issue
Block a user