Dashboard partial implementation

This commit is contained in:
Christophe Vilayphiou 2012-05-09 05:53:07 +08:00
parent 909ca19456
commit 2b03263fb7
5 changed files with 91 additions and 91 deletions

View File

@ -5,6 +5,35 @@ class Admin::DashboardsController < ApplicationController
# before_filter :is_admin?
def index
@module_app_contents, @module_app_contents_total = get_module_app_count('bulletin', 'news_bulletin', 'page_context', 'web_link')
@recent_updated = get_recently_updated('bulletin', 'news_bulletin', 'page_context', 'web_link')
end
protected
def get_module_app_count(*args)
a = {}
total = 0
args.each do |module_app|
module_app_class = module_app.classify.constantize
count = module_app_class.count
a.merge!(module_app => count)
total += count
end
[a.sort {|a,b| b[1]<=>a[1]}, total]
end
def get_recently_updated(*args)
a = {}
args.each do |module_app|
module_app_class = module_app.classify.constantize
objects = module_app_class.order_by(:updated_at, :desc).limit(10)
objects.each do |object|
a.merge!(object => object.updated_at)
end
end
sorted_objects = a.sort {|a,b| b[1]<=>a[1]}
sorted_objects[0..9]
end
end

View File

@ -0,0 +1,29 @@
module Admin::DashboardHelper
def get_link(title)
case title
when 'bulletin'
panel_announcement_back_end_bulletins_path
when 'news_bulletin'
panel_news_back_end_news_bulletins_path
when'page_context'
panel_page_content_back_end_page_contexts_path
when'web_link'
panel_web_resource_back_end_web_links_path
end
end
def get_link_to_object(object)
case object._type.underscore
when 'bulletin'
panel_announcement_back_end_bulletin_path(object)
when 'news_bulletin'
panel_news_back_end_news_bulletin_path(object)
when'page_context'
panel_page_content_back_end_page_context_path(object)
when'web_link'
panel_web_resource_back_end_web_link_path(object)
end
end
end

View File

@ -1,8 +1,8 @@
<div id="isotope">
<div class="item element">
<h3><i class="icons-content"></i><a href=""><%= t(:content) %></a></h3>
<div class="detail w-a h-b">
<p class="totle"><span><%= t(:all_content) %></span>9,517</p>
<h3><i class="icons-content"></i><%= t(:content) %></h3>
<div class="detail w-a h-a">
<p class="totle"><span><%= t(:all_content) %></span><%= @module_app_contents_total %></p>
<table class="table table-striped">
<thead>
<tr>
@ -23,46 +23,12 @@
<div class="overview">
<table class="table table-striped">
<tbody>
<% @module_app_contents.each do |module_app_content| %>
<tr>
<td>公告</td>
<td class="span2">2,304</td>
</tr>
<tr>
<td>新聞</td>
<td class="span2">783</td>
</tr>
<tr>
<td>連結</td>
<td class="span2">45</td>
</tr>
<tr>
<td>連結</td>
<td class="span2">62</td>
</tr>
<tr>
<td>連結</td>
<td class="span2">52</td>
</tr>
<tr>
<td>新聞</td>
<td class="span2">20</td>
</tr>
<tr>
<td>公告</td>
<td class="span2">41</td>
</tr>
<tr>
<td>公告</td>
<td class="span2">37</td>
</tr>
<tr>
<td>公告</td>
<td class="span2">41</td>
</tr>
<tr>
<td>公告</td>
<td class="span2">20</td>
<td><%= link_to t("dashboard.#{module_app_content[0]}"), get_link(module_app_content[0]) %></td>
<td class="span2"><%= module_app_content[1] %></td>
</tr>
<% end %>
</tbody>
</table>
</div>
@ -70,7 +36,7 @@
</div>
</div>
</div>
<div class="item element">
<!-- <div class="item element">
<h3><i class="icons-member"></i><a href=""><%= t(:member) %></a></h3>
<div class="detail w-a h-a">
<p class="totle"><span><%= t(:all_member) %></span>2,217</p>
@ -211,7 +177,7 @@
</div>
</div>
</div>
</div>
</div> -->
<div class="item element">
<h3><i class="icons-"></i><a href=""><%= t(:referral_in_links) %></a></h3>
<div class="detail w-a h-a">
@ -283,7 +249,7 @@
</div>
</div>
</div>
<div class="item element">
<!-- <div class="item element">
<h3><i class="icons-"></i><a href=""><%= t(:most_visited_page) %></a></h3>
<div class="detail noStatistics w-b h-a">
<table class="table table-striped">
@ -460,7 +426,6 @@
<div class="item element">
<h3><i class="icons-"></i><a href=""><%= t(:site_info) %></a></h3>
<div class="detail noStatistics w-b h-a">
<!--<p class="totle"><span><%= t(:statistics) %></span>9,517</p>-->
<table class="table table-striped">
<thead>
<tr>
@ -515,11 +480,10 @@
</div>
</div>
</div>
</div>
</div> -->
<div class="item element">
<h3><i class="icons-"></i><a href=""><%= t(:recent_update) %></a></h3>
<div class="detail noStatistics w-a h-a">
<!--<p class="totle"><span><%= t(:statistics) %></span>9,517</p>-->
<div class="detail noStatistics w-b h-a">
<table class="table table-striped">
<thead>
<tr>
@ -540,46 +504,12 @@
<div class="overview">
<table class="table table-striped">
<tbody>
<% @recent_updated.each do |object| %>
<tr>
<td>Title1</td>
<td class="span2">公告</td>
</tr>
<tr>
<td>Title2</td>
<td class="span2">頁面</td>
</tr>
<tr>
<td>Title3</td>
<td class="span2">頁面</td>
</tr>
<tr>
<td>Title4</td>
<td class="span2">公告</td>
</tr>
<tr>
<td>Title5</td>
<td class="span2">公告</td>
</tr>
<tr>
<td>Title6</td>
<td class="span2">頁面</td>
</tr>
<tr>
<td>Title7</td>
<td class="span2">頁面</td>
</tr>
<tr>
<td>Title8</td>
<td class="span2">公告</td>
</tr>
<tr>
<td>Title9</td>
<td class="span2">頁面</td>
</tr>
<tr>
<td>Title10</td>
<td class="span2">公告</td>
<td><%= link_to ((object[0].title[I18n.locale] rescue nil) || (object[0].page.i18n_variable[I18n.locale] rescue nil)), get_link_to_object(object[0]) %></td>
<td class="span2"><%= link_to t("dashboard.#{object[0]._type.underscore}"), get_link(object[0]._type.underscore) %></td>
</tr>
<% end %>
</tbody>
</table>
</div>

View File

@ -243,6 +243,12 @@ en:
panel: User panel
role: User role
dashboard:
bulletin: Announcement
news_bulletin: News
page_context: Page
web_link: Link
panel:
modal:

View File

@ -238,6 +238,12 @@ zh_tw:
panel: 用戶面板
role: 用戶身份
dashboard:
bulletin: 公告
news_bulletin: 新聞
page_context: 頁面
web_link: 鏈接
panel: