parent
f9fda13879
commit
a4aef30a9c
|
@ -12,6 +12,27 @@ class Admin::DashboardsController < OrbitBackendController
|
||||||
@most_visited = get_most_visited('bulletin', 'page_context')
|
@most_visited = get_most_visited('bulletin', 'page_context')
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def reload_all_content
|
||||||
|
@module_app_contents, @module_app_contents_total = get_module_app_count('bulletin', 'page_context', 'web_link')
|
||||||
|
respond_to do |format|
|
||||||
|
format.js { render 'reload', locals: {div_id: 'all_content'} }
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
def reload_most_visited
|
||||||
|
@most_visited = get_most_visited('bulletin', 'page_context')
|
||||||
|
respond_to do |format|
|
||||||
|
format.js { render 'reload', locals: {div_id: 'most_visited'} }
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
def reload_recent_update
|
||||||
|
@recent_updated = get_recently_updated('bulletin', 'page_context', 'web_link')
|
||||||
|
respond_to do |format|
|
||||||
|
format.js { render 'reload', locals: {div_id: 'recent_update'} }
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
protected
|
protected
|
||||||
|
|
||||||
def get_module_app_count(*args)
|
def get_module_app_count(*args)
|
||||||
|
@ -23,7 +44,7 @@ class Admin::DashboardsController < OrbitBackendController
|
||||||
a.merge!(module_app => count)
|
a.merge!(module_app => count)
|
||||||
total += count
|
total += count
|
||||||
end
|
end
|
||||||
[a.sort {|a,b| b[1]<=>a[1]}, total]
|
[Kaminari.paginate_array(a.sort {|a,b| b[1]<=>a[1]}).page(params[:page]).per(5), total]
|
||||||
end
|
end
|
||||||
|
|
||||||
def get_recently_updated(*args)
|
def get_recently_updated(*args)
|
||||||
|
@ -37,20 +58,21 @@ class Admin::DashboardsController < OrbitBackendController
|
||||||
end
|
end
|
||||||
sorted_objects = a.sort {|a,b| b[1]<=>a[1]}
|
sorted_objects = a.sort {|a,b| b[1]<=>a[1]}
|
||||||
sorted_objects[0..19]
|
sorted_objects[0..19]
|
||||||
Kaminari.paginate_array(sorted_objects).page(params[:page_recent]).per(5)
|
Kaminari.paginate_array(sorted_objects).page(params[:page]).per(5)
|
||||||
end
|
end
|
||||||
|
|
||||||
def get_most_visited(*args)
|
def get_most_visited(*args)
|
||||||
a = {}
|
a = {}
|
||||||
args.each do |module_app|
|
args.each do |module_app|
|
||||||
module_app_class = module_app.classify.constantize
|
module_app_class = module_app.classify.constantize
|
||||||
objects = module_app_class.order_by(:view_count, :desc).limit(10)
|
objects = module_app_class.order_by(:view_count, :desc).limit(20)
|
||||||
objects.each do |object|
|
objects.each do |object|
|
||||||
a.merge!(object => object.view_count) if object.view_count > 0 && (!object.archived rescue true)
|
a.merge!(object => object.view_count) if object.view_count > 0 && (!object.archived rescue true)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
sorted_objects = a.sort {|a,b| b[1]<=>a[1]}
|
sorted_objects = a.sort {|a,b| b[1]<=>a[1]}
|
||||||
sorted_objects[0..9]
|
sorted_objects[0..19]
|
||||||
|
Kaminari.paginate_array(sorted_objects).page(params[:page]).per(5)
|
||||||
end
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
|
@ -0,0 +1,29 @@
|
||||||
|
<div class="box-header">
|
||||||
|
<h2>
|
||||||
|
<i class="icons-book-2"></i>
|
||||||
|
<span class="break"></span>
|
||||||
|
<%= t(:all_content) %>
|
||||||
|
</h2>
|
||||||
|
</div>
|
||||||
|
<div class="box-content">
|
||||||
|
<table class="table table-bordered table-striped table-hover">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th><%= t(:module) %></th>
|
||||||
|
<th class="span1"><%= t(:quantity) %></th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<% @module_app_contents.each do |module_app_content| %>
|
||||||
|
<tr>
|
||||||
|
<td><%= link_to t("dashboard.#{module_app_content[0]}"), get_link(module_app_content[0]) %></td>
|
||||||
|
<td><%= module_app_content[1] %></td>
|
||||||
|
</tr>
|
||||||
|
<% end %>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
<ul class="pager">
|
||||||
|
<li><%= link_to_previous_page @module_app_contents, t(:previous), params: {controller: 'admin/dashboards', action: 'reload_all_content'}, remote: true %></li>
|
||||||
|
<li><%= link_to_next_page @module_app_contents, t(:next), params: {controller: 'admin/dashboards', action: 'reload_all_content'}, remote: true %></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
|
@ -0,0 +1,31 @@
|
||||||
|
<div class="box-header">
|
||||||
|
<h2>
|
||||||
|
<i class="icons-trophy"></i>
|
||||||
|
<span class="break"></span>
|
||||||
|
<%= t(:most_visited_page) %>
|
||||||
|
</h2>
|
||||||
|
</div>
|
||||||
|
<div class="box-content">
|
||||||
|
<table class="table table-bordered table-striped table-hover">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th><%= t(:title) %></th>
|
||||||
|
<th class="span2"><%= t(:module) %></th>
|
||||||
|
<th class="span1"><%= t(:hits) %></th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<% @most_visited.each do |object| %>
|
||||||
|
<tr>
|
||||||
|
<td><%= link_to ((object[0].title rescue nil) || (object[0].page.title rescue nil)), get_link_to_object(object[0]) %></td>
|
||||||
|
<td><%= link_to t("dashboard.#{object[0].class.to_s.underscore}"), get_link(object[0].class.to_s.underscore) %></td>
|
||||||
|
<td><%= object[1] %></td>
|
||||||
|
</tr>
|
||||||
|
<% end %>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
<ul class="pager">
|
||||||
|
<li><%= link_to_previous_page @most_visited, t(:previous), params: {controller: 'admin/dashboards', action: 'reload_most_visited'}, remote: true %></li>
|
||||||
|
<li><%= link_to_next_page @most_visited, t(:next), params: {controller: 'admin/dashboards', action: 'reload_most_visited'}, remote: true %></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
|
@ -0,0 +1,29 @@
|
||||||
|
<div class="box-header">
|
||||||
|
<h2>
|
||||||
|
<i class="icons-cycle"></i>
|
||||||
|
<span class="break"></span>
|
||||||
|
<%= t(:recent_update) %>
|
||||||
|
</h2>
|
||||||
|
</div>
|
||||||
|
<div class="box-content">
|
||||||
|
<table class="table table-bordered table-striped table-hover">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th><%= t(:title) %></th>
|
||||||
|
<th class="span2"><%= t(:module) %></th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<% @recent_updated.each do |object| %>
|
||||||
|
<tr>
|
||||||
|
<td><%= link_to ((object[0].title rescue nil) || (object[0].page.title rescue nil)), get_link_to_object(object[0]) %></td>
|
||||||
|
<td><%= link_to t("dashboard.#{object[0].class.to_s.underscore}"), get_link(object[0].class.to_s.underscore) %></td>
|
||||||
|
</tr>
|
||||||
|
<% end %>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
<ul class="pager">
|
||||||
|
<li><%= link_to_previous_page @recent_updated, t(:previous), params: {controller: 'admin/dashboards', action: 'reload_recent_update'}, remote: true %></li>
|
||||||
|
<li><%= link_to_next_page @recent_updated, t(:next), params: {controller: 'admin/dashboards', action: 'reload_recent_update'}, remote: true %></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
|
@ -0,0 +1,35 @@
|
||||||
|
<div class="box-header">
|
||||||
|
<h2>
|
||||||
|
<i class="icons-book-2"></i>
|
||||||
|
<span class="break"></span>
|
||||||
|
<%= t(:traffic) %>
|
||||||
|
</h2>
|
||||||
|
</div>
|
||||||
|
<div class="box-content">
|
||||||
|
<table class="table table-bordered table-striped table-hover">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th><%= t(:total_visitors) %></th>
|
||||||
|
<th class="span1"><%= display_visitors %></th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td><%= t(:visitors_today) %></td>
|
||||||
|
<td><%= display_visitors_today %></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td><%= t(:visitors_this_week) %></td>
|
||||||
|
<td><%= display_visitors_this_week %></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td><%= t(:visitors_this_month) %></td>
|
||||||
|
<td><%= display_visitors_this_month %></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td><%= t(:visitors_this_year) %></td>
|
||||||
|
<td><%= display_visitors_this_year %></td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
|
@ -1,233 +1,29 @@
|
||||||
<!-- <div id="isotope">
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<div class="item element">
|
|
||||||
<h3><i class="icons-airplane"></i><%= t(:traffic) %></h3>
|
|
||||||
<div class="detail w-a h-a">
|
|
||||||
<p class="totle"><span><%= t(:total_visitors) %></span><%= display_visitors %></p>
|
|
||||||
<table class="table table-striped">
|
|
||||||
<thead>
|
|
||||||
<tr>
|
|
||||||
<th><%= t(:item) %></th>
|
|
||||||
<th class="span2"><%= t(:data) %></th>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
</table>
|
|
||||||
<div class="detal-list my_scroll">
|
|
||||||
<div class="scrollbar">
|
|
||||||
<div class="track">
|
|
||||||
<div class="thumb">
|
|
||||||
<div class="end"></div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="viewport">
|
|
||||||
<div class="overview">
|
|
||||||
<table class="table table-striped">
|
|
||||||
<tbody>
|
|
||||||
<tr>
|
|
||||||
<td><%= t(:visitors_today) %></td>
|
|
||||||
<td><%= display_visitors_today %></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td><%= t(:visitors_this_week) %></td>
|
|
||||||
<td><%= display_visitors_this_week %></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td><%= t(:visitors_this_month) %></td>
|
|
||||||
<td><%= display_visitors_this_month %></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td><%= t(:visitors_this_year) %></td>
|
|
||||||
<td><%= display_visitors_this_year %></td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="item element">
|
|
||||||
<h3><i class="icons-trophy"></i><%= t(:most_visited_page) %></h3>
|
|
||||||
<div class="detail noStatistics w-b h-a">
|
|
||||||
<table class="table table-striped">
|
|
||||||
<thead>
|
|
||||||
<tr>
|
|
||||||
<th><%= t(:title) %></th>
|
|
||||||
<th class="span2"><%= t(:module) %></th>
|
|
||||||
<th class="span2"><%= t(:hits) %></th>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
</table>
|
|
||||||
<div class="detal-list my_scroll">
|
|
||||||
<div class="scrollbar">
|
|
||||||
<div class="track">
|
|
||||||
<div class="thumb">
|
|
||||||
<div class="end"></div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="viewport">
|
|
||||||
<div class="overview">
|
|
||||||
<table class="table table-striped">
|
|
||||||
<tbody>
|
|
||||||
<% @most_visited.each do |object| %>
|
|
||||||
<tr>
|
|
||||||
<td><%= link_to ((object[0].title rescue nil) || (object[0].page.title rescue nil)), get_link_to_object(object[0]) %></td>
|
|
||||||
<td class="span2"><%= link_to t("dashboard.#{object[0].class.to_s.underscore}"), get_link(object[0].class.to_s.underscore) %></td>
|
|
||||||
<td class="span2"><%= object[1] %></td>
|
|
||||||
</tr>
|
|
||||||
<% end %>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div> -->
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<section id="main-wrap">
|
<section id="main-wrap">
|
||||||
<div class="wrap-inner initial">
|
<div class="wrap-inner initial">
|
||||||
<div class="row-fluid">
|
<div class="row-fluid">
|
||||||
<div class="box span8">
|
<div class="box span8">
|
||||||
<div class="box-header">
|
<div id='recent_update'>
|
||||||
<h2>
|
<%= render 'recent_update' %>
|
||||||
<i class="icons-cycle"></i>
|
|
||||||
<span class="break"></span>
|
|
||||||
<%= t(:recent_update) %>
|
|
||||||
</h2>
|
|
||||||
</div>
|
|
||||||
<div class="box-content">
|
|
||||||
<table class="table table-bordered table-striped table-hover">
|
|
||||||
<thead>
|
|
||||||
<tr>
|
|
||||||
<th><%= t(:title) %></th>
|
|
||||||
<th class="span2"><%= t(:module) %></th>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
<tbody>
|
|
||||||
<% @recent_updated.each do |object| %>
|
|
||||||
<tr>
|
|
||||||
<td><%= link_to ((object[0].title rescue nil) || (object[0].page.title rescue nil)), get_link_to_object(object[0]) %></td>
|
|
||||||
<td><%= link_to t("dashboard.#{object[0].class.to_s.underscore}"), get_link(object[0].class.to_s.underscore) %></td>
|
|
||||||
</tr>
|
|
||||||
<% end %>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
<ul class="pager">
|
|
||||||
<li><a href="#">Previous</a></li>
|
|
||||||
<li><a href="#">Next</a></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="box span4">
|
|
||||||
<div class="box-header">
|
|
||||||
<h2>
|
|
||||||
<i class="icons-book-2"></i>
|
|
||||||
<span class="break"></span>
|
|
||||||
<%= t(:all_content) %>
|
|
||||||
</h2>
|
|
||||||
</div>
|
|
||||||
<div class="box-content">
|
|
||||||
<table class="table table-bordered table-striped table-hover">
|
|
||||||
<thead>
|
|
||||||
<tr>
|
|
||||||
<th><%= t(:module) %></th>
|
|
||||||
<th class="span1"><%= t(:quantity) %></th>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
<tbody>
|
|
||||||
<% @module_app_contents.each do |module_app_content| %>
|
|
||||||
<tr>
|
|
||||||
<td><%= link_to t("dashboard.#{module_app_content[0]}"), get_link(module_app_content[0]) %></td>
|
|
||||||
<td><%= module_app_content[1] %></td>
|
|
||||||
</tr>
|
|
||||||
<% end %>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
<ul class="pager">
|
|
||||||
<li><a href="#">Previous</a></li>
|
|
||||||
<li><a href="#">Next</a></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<hr>
|
|
||||||
<div class="row-fluid">
|
|
||||||
<div class="box span5">
|
|
||||||
<div class="box-header">
|
|
||||||
<h2>
|
|
||||||
<i class="icons-star"></i>
|
|
||||||
<span class="break"></span>
|
|
||||||
Event
|
|
||||||
</h2>
|
|
||||||
</div>
|
|
||||||
<div class="box-content">
|
|
||||||
<span class="label label-info">23/12/2012</span>
|
|
||||||
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore.</p>
|
|
||||||
<span class="label label-info">23/02/2012</span>
|
|
||||||
<p>Lorem ipsum dolor sit amet dolore.</p>
|
|
||||||
<span class="label label-info">13/02/2012</span>
|
|
||||||
<p>Lorem ipsum dolor sit amet dolore.</p>
|
|
||||||
<span class="label label-info">13/02/2012</span>
|
|
||||||
<p>Lorem ipsum dolor sit amet dolore.</p>
|
|
||||||
<span class="label label-info">13/02/2012</span>
|
|
||||||
<p>Lorem ipsum dolor sit amet dolore.</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="box span7">
|
|
||||||
<div class="box-header">
|
|
||||||
<h2>
|
|
||||||
<i class="icons-trophy"></i>
|
|
||||||
<span class="break"></span>
|
|
||||||
Most Visited Page
|
|
||||||
</h2>
|
|
||||||
</div>
|
|
||||||
<div class="box-content">
|
|
||||||
<table class="table table-bordered table-striped table-hover">
|
|
||||||
<thead>
|
|
||||||
<tr>
|
|
||||||
<th>Module</th>
|
|
||||||
<th class="span1">Quantity</th>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
<tbody>
|
|
||||||
<tr>
|
|
||||||
<td>Page</td>
|
|
||||||
<td>215</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>Announcement</td>
|
|
||||||
<td>145</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>Link</td>
|
|
||||||
<td>73</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>4</td>
|
|
||||||
<td>31</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>5</td>
|
|
||||||
<td>65</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
<ul class="pager">
|
|
||||||
<li><a href="#">Previous</a></li>
|
|
||||||
<li><a href="#">Next</a></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
<div class="box span4">
|
||||||
|
<div id='all_content'>
|
||||||
|
<%= render 'all_content' %>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<hr>
|
||||||
|
<div class="row-fluid">
|
||||||
|
<div class="box span4">
|
||||||
|
<div id='traffic'>
|
||||||
|
<%= render 'traffic' %>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="box span8">
|
||||||
|
<div id='most_visited'>
|
||||||
|
<%= render 'most_visited' %>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
|
@ -0,0 +1 @@
|
||||||
|
$("#<%= div_id %>").html("<%= j render div_id %>")
|
|
@ -12,7 +12,9 @@ en:
|
||||||
merge: Merge
|
merge: Merge
|
||||||
new:
|
new:
|
||||||
tag: New tag
|
tag: New tag
|
||||||
|
next: Next
|
||||||
no_app: No module
|
no_app: No module
|
||||||
|
previous: Previous
|
||||||
remove_default: Remove default
|
remove_default: Remove default
|
||||||
select_all: Select all
|
select_all: Select all
|
||||||
tag:
|
tag:
|
||||||
|
|
|
@ -53,7 +53,13 @@ Orbit::Application.routes.draw do
|
||||||
resources :ad_images ,:except => [:show,:index]
|
resources :ad_images ,:except => [:show,:index]
|
||||||
end
|
end
|
||||||
|
|
||||||
resources :dashboards
|
resources :dashboards do
|
||||||
|
collection do
|
||||||
|
get 'reload_all_content'
|
||||||
|
get 'reload_most_visited'
|
||||||
|
get 'reload_recent_update'
|
||||||
|
end
|
||||||
|
end
|
||||||
resources :designs do
|
resources :designs do
|
||||||
collection do
|
collection do
|
||||||
get 'upload_package'
|
get 'upload_package'
|
||||||
|
|
|
@ -10,7 +10,7 @@ module SideBarRenderer
|
||||||
@params = params
|
@params = params
|
||||||
@current_user = user
|
@current_user = user
|
||||||
if display?
|
if display?
|
||||||
content_tag :div, class: "sub-nav-block" do
|
content_tag :div, class: "sub-nav-block #{@icon_class}" do
|
||||||
concat content_tag :h4, I18n.t(@head_label)
|
concat content_tag :h4, I18n.t(@head_label)
|
||||||
concat (content_tag :ul, class: "nav nav-list" do
|
concat (content_tag :ul, class: "nav nav-list" do
|
||||||
@context_links.sort_by {| obj | obj.priority}.map{ |link|
|
@context_links.sort_by {| obj | obj.priority}.map{ |link|
|
||||||
|
|
Loading…
Reference in New Issue