Add list widgets for announcement, news and links with categories and tags
This commit is contained in:
1 parent
9a6b66c57d
commit
13587306bc
21 files changed
+199
-180
No files matched your search
Vendored
+20
-10
@@ -9,20 +9,18 @@ class Panel::News::Widget::NewsBulletinsController < OrbitWidgetController
|
||||
# GET /news_bulletins.xml
|
||||
|
||||
def index
|
||||
|
||||
# deadline
|
||||
# @news_bulletin_categorys = NewsBulletinCategory.first;
|
||||
# @news_bulletins = NewsBulletin.widget_datas(@news_bulletin_categorys.id).limit(9)
|
||||
date_now = Time.now
|
||||
if !params[:category_id].blank?
|
||||
@news_bulletins = NewsBulletin.can_display.where(:news_bulletin_category_id => params[:category_id]).widget_datas.limit(9)
|
||||
@news_bulletins = NewsBulletin.can_display.where(:news_bulletin_category_id => params[:category_id]).any_of( {deadline: nil,:postdate.lte => date_now} , {:deadline.gte => date_now,:postdate.lte => date_now} ).desc( :is_top, :postdate).page( params[:page]).per(10)
|
||||
@current_category = NewsBulletinCategory.from_id(params[:category_id]) rescue nil
|
||||
elsif !params[:tag_id].blank?
|
||||
@news_bulletins = NewsTag.find(params[:tag_id]).news_bulletins.can_display.widget_datas.limit(9) rescue nil
|
||||
@tag = NewsTag.find(params[:tag_id]) rescue nil
|
||||
@tag = NewsTag.where(key: params[:tag_id])[0] unless @tag
|
||||
@news_bulletins = @tag.news_bulletins.can_display.any_of( {deadline: nil,:postdate.lte => date_now} , {:deadline.gte => date_now,:postdate.lte => date_now} ).desc( :is_top, :postdate).page( params[:page]).per(10) rescue nil
|
||||
else
|
||||
@news_bulletins = NewsBulletin.can_display.widget_datas.limit(9)
|
||||
@news_bulletins = NewsBulletin.can_display.any_of( {deadline: nil,:postdate.lte => date_now} , {:deadline.gte => date_now,:postdate.lte => date_now} ).desc( :is_top, :postdate).page( params[:page]).per(10)
|
||||
end
|
||||
|
||||
get_categorys
|
||||
|
||||
|
||||
end
|
||||
|
||||
def news_bulletins_and_web_links
|
||||
@@ -47,6 +45,18 @@ class Panel::News::Widget::NewsBulletinsController < OrbitWidgetController
|
||||
@tags = NewsTag.all
|
||||
get_categorys
|
||||
end
|
||||
|
||||
def home_banner
|
||||
if !params[:category_id].blank?
|
||||
@news_bulletins = NewsBulletin.can_display.where(:news_bulletin_category_id => params[:category_id]).widget_datas.limit(9)
|
||||
elsif !params[:tag_id].blank?
|
||||
@news_bulletins = NewsTag.find(params[:tag_id]).news_bulletins.can_display.widget_datas.limit(9) rescue nil
|
||||
else
|
||||
@news_bulletins = NewsBulletin.can_display.widget_datas.limit(9)
|
||||
end
|
||||
get_categorys
|
||||
|
||||
end
|
||||
|
||||
|
||||
protected
|
||||
|
||||
Vendored
+28
@@ -0,0 +1,28 @@
|
||||
<% if @news_bulletins and !@news_bulletins.nil? %>
|
||||
<h2 class="topic_title"><%= t('news.campus_news')%></h2>
|
||||
<%#= link_to t('news.more'),panel_news_front_end_news_bulletins_path(), :class => "topic_note" %>
|
||||
<div class="btn-group topic_note">
|
||||
<a class="btn dropdown-toggle" data-toggle="dropdown" href="#">
|
||||
<%= t('news.more') %>
|
||||
<span class="caret"></span>
|
||||
</a>
|
||||
<ul class="dropdown-menu">
|
||||
<% @news_bulletin_categorys.each do |category| %>
|
||||
<li>
|
||||
<%= link_to category.i18n_variable[I18n.locale], panel_news_front_end_news_bulletins_path(:category_id => category.id) %>
|
||||
</li>
|
||||
<% end %>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="topic_prev">previous page</div>
|
||||
<div class="topic_next">next page</div>
|
||||
<ul id="topic_list">
|
||||
<% @news_bulletins.each do |post| %>
|
||||
<li>
|
||||
<div class="news_img"><%= image_tag(post.image.url, :size => "290x130") if post.image.file %></div>
|
||||
<h3 class="h3 news_title"><%= link_to post.title[I18n.locale], panel_news_front_end_news_bulletin_path(post, :category_id => post.news_bulletin_category_id) %></h3>
|
||||
<p class="news_wrap"><%= post.subtitle[I18n.locale].html_safe %></p>
|
||||
</li>
|
||||
<% end %>
|
||||
</ul>
|
||||
<% end %>
|
||||
+27
-27
@@ -1,33 +1,33 @@
|
||||
<% # encoding: utf-8 %>
|
||||
|
||||
<% if @news_bulletins and !@news_bulletins.nil? %>
|
||||
<h2 class="topic_title"><%= t('news.campus_news')%></h2>
|
||||
<%#= link_to t('news.more'),panel_news_front_end_news_bulletins_path(), :class => "topic_note" %>
|
||||
<div class="btn-group topic_note">
|
||||
<a class="btn dropdown-toggle" data-toggle="dropdown" href="#">
|
||||
<%= t('news.more') %>
|
||||
<span class="caret"></span>
|
||||
</a>
|
||||
<ul class="dropdown-menu">
|
||||
<% @news_bulletin_categorys.each do |category| %>
|
||||
<li>
|
||||
<%= link_to category.i18n_variable[I18n.locale], panel_news_front_end_news_bulletins_path(:category_id => category.id) %>
|
||||
</li>
|
||||
<% end %>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="topic_prev">previous page</div>
|
||||
<div class="topic_next">next page</div>
|
||||
<ul id="topic_list">
|
||||
<% @news_bulletins.each do |post| %>
|
||||
<li>
|
||||
<div class="news_img"><%= image_tag(post.image.url, :size => "290x130") if post.image.file %></div>
|
||||
<h3 class="h3 news_title"><%= link_to post.title[I18n.locale], panel_news_front_end_news_bulletin_path(post, :category_id => post.news_bulletin_category_id) %></h3>
|
||||
<p class="news_wrap"><%= post.subtitle[I18n.locale].html_safe %></p>
|
||||
</li>
|
||||
<% end %>
|
||||
</ul>
|
||||
<%= flash_messages %>
|
||||
|
||||
<% if @current_category %>
|
||||
<h1 class="h1"><%= @current_category.i18n_variable[I18n.locale] + t('news.news_bulletin.list_lower') %></h1>
|
||||
<% elsif @tag %>
|
||||
<h1 class="h1"><%= @tag[I18n.locale] + t('news.news_bulletin.list_lower') %></h1>
|
||||
<% else %>
|
||||
<h1 class="h1"><%= t('news.list_news') %></h1>
|
||||
<% end %>
|
||||
|
||||
<table class="table table-bordered">
|
||||
<tbody>
|
||||
<tr>
|
||||
<th class="span2"><%= t('news.news_bulletin.image') %></th>
|
||||
<th><%= t('news.news_bulletin.title') %></th>
|
||||
<th class="span2 pagination-right"><%= t('news.news_bulletin.postdate') %></th>
|
||||
</tr>
|
||||
<% @news_bulletins.each do |post| %>
|
||||
<tr>
|
||||
<td><%= image_tag post.image %></td>
|
||||
<td>
|
||||
<%= link_to post.title[I18n.locale], panel_news_front_end_news_bulletin_path(post), :class => 'news_title' %>
|
||||
<%= post.subtitle[I18n.locale].html_safe %>
|
||||
</td>
|
||||
<td><%= post.postdate %></td>
|
||||
</tr>
|
||||
<% end %>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<%= paginate @news_bulletins, :params => {:inner => 'false'} %>
|
||||
@@ -43,6 +43,7 @@ Rails.application.routes.draw do
|
||||
end
|
||||
namespace :widget do
|
||||
match "news_bulletins" => "news_bulletins#index"
|
||||
match "home_banner" => "news_bulletins#home_banner"
|
||||
match "news_bulletins_and_web_links" => "news_bulletins#news_bulletins_and_web_links"
|
||||
match "reload_news_bulletins" => "news_bulletins#reload_news_bulletins"
|
||||
match "reload_web_links" => "news_bulletins#reload_web_links"
|
||||
|
||||
+1
-1
@@ -7,6 +7,6 @@
|
||||
"update_info": "Some info",
|
||||
"create_date": "11-11-2011",
|
||||
"app_pages": ["news_bulletins"],
|
||||
"widgets": ["news_bulletins", "news_bulletins_and_web_links"],
|
||||
"widgets": ["news_bulletins", "news_bulletins_and_web_links", "home_banner"],
|
||||
"enable_frontend": true
|
||||
}
|
||||
Reference in new issue
Block a user