orbit-basic/vendor/built_in_modules/announcement/app/controllers/panel/announcement/widget/bulletins_controller.rb

104 lines
3.8 KiB
Ruby
Raw Normal View History

2012-03-16 03:20:16 +00:00
class Panel::Announcement::Widget::BulletinsController < OrbitWidgetController
2012-01-18 13:34:26 +00:00
def initialize
super
2012-03-27 11:42:07 +00:00
@app_title = 'announcement'
2012-01-18 13:34:26 +00:00
end
# GET /bulletins
# GET /bulletins.xml
def index
2012-07-16 08:13:38 +00:00
2012-07-26 08:39:29 +00:00
@part = PagePart.find(params[:part_id])
2012-07-16 08:13:38 +00:00
2012-07-26 08:39:29 +00:00
if @part.widget_data_count
@page_num = @part.widget_data_count
2012-07-16 08:13:38 +00:00
else
2012-07-26 08:39:29 +00:00
@page_num = 4
2012-07-16 08:13:38 +00:00
end
2012-07-26 08:39:29 +00:00
if @part.widget_field
@widget_fields = @part.widget_field
2012-07-16 08:13:38 +00:00
else
2012-07-26 08:39:29 +00:00
@widget_fields = []
2012-07-16 08:13:38 +00:00
end
@title = params[:part_title]
2012-07-26 08:39:29 +00:00
@widget_style = @part.widget_style
2012-07-16 08:13:38 +00:00
2012-07-26 08:39:29 +00:00
@category_id = @part.category
2012-07-16 08:13:38 +00:00
date_now = Time.now
2012-07-26 08:39:29 +00:00
if !@category_id.blank?
@bulletins = Bulletin.can_display.where(:bulletin_category_id => @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(@page_num)
@current_category = BulletinCategory.from_id(@category_id) rescue nil
2012-07-16 08:13:38 +00:00
elsif !params[:tag_id].blank?
@tag = AnnouncementTag.find(params[:tag_id]) rescue nil
@tag = AnnouncementTag.where(key: params[:tag_id])[0] unless @tag
@bulletins = @tag.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(@page_num)
else
@bulletins = Bulletin.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(@page_num)
end
get_categorys
end
def bulletins_list_and_pic
if params[:widget_data_count]
@page_num = params[:widget_data_count];
else
@page_num = 4;
end
@title = params[:part_title]
date_now = Time.now
2012-04-29 22:27:38 +00:00
if !params[:category_id].blank?
2012-07-16 08:13:38 +00:00
@bulletins = Bulletin.can_display.where(: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(@page_num)
@current_category = BulletinCategory.from_id(params[:category_id]) rescue nil
2012-04-29 22:27:38 +00:00
elsif !params[:tag_id].blank?
@tag = AnnouncementTag.find(params[:tag_id]) rescue nil
@tag = AnnouncementTag.where(key: params[:tag_id])[0] unless @tag
2012-07-16 08:13:38 +00:00
@bulletins = @tag.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(@page_num)
2012-02-28 06:08:57 +00:00
else
2012-07-16 08:13:38 +00:00
@bulletins = Bulletin.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(@page_num)
2012-02-28 06:08:57 +00:00
end
get_categorys
2012-01-18 13:34:26 +00:00
end
def bulletins_and_web_links
@tags = AnnouncementTag.any_in(key: ['students', 'alumni', 'employee', 'guest'])
@selected_tag = AnnouncementTag.find(params[:id]) rescue @tags[0]
@bulletins = @selected_tag.get_visible_bulletins.can_display.page(params[:page]).per(5) rescue nil
2012-02-20 09:48:04 +00:00
@web_links = WebResourceTag.first(:conditions => {:en => @selected_tag[:en]}).get_visible_links.page(params[:page]).per(5) rescue nil
end
def reload_bulletins
@selected_tag = AnnouncementTag.find(params[:tag_id])
@bulletins = @selected_tag.get_visible_bulletins.can_display.page(params[:page]).per(5) rescue nil
end
def reload_web_links
@selected_tag = AnnouncementTag.find(params[:tag_id])
2012-02-20 07:56:17 +00:00
@web_links = WebResourceTag.first(:conditions => {:en => @selected_tag[:en]}).get_visible_links.page(params[:page]).per(5) rescue nil
end
2012-04-29 22:27:38 +00:00
def bulletins_side_bar
@tags = AnnouncementTag.all
get_categorys
end
2012-01-18 13:34:26 +00:00
protected
def get_categorys
@bulletin_categorys = BulletinCategory.excludes('disabled' => true)
end
end