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

155 lines
6.2 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
# @part = PagePart.find(params[:part_id])
2013-12-11 09:14:11 +00:00
# if @part.widget_data_count
# @page_num = @part.widget_data_count
# else
# @page_num = 4
# end
2013-12-11 09:14:11 +00:00
# num_of_fields = @part.widget_field_name.reject(&:empty?).length
# widget_field_names = @part.widget_field_name.reject(&:empty?)
# widget_classes = @part.widget_class.reject(&:empty?)
# @widget_fields = []
2013-12-11 09:14:11 +00:00
# if @part.widget_field_name
# num_of_fields.times do |index|
# @widget_fields << [widget_field_names[index], widget_classes[index]]
# end
# end
2013-12-11 09:14:11 +00:00
# @title = @part.title_translations[I18n.locale.to_s]
# @widget_style = @part.widget_style
# @category_id = @part.category
2013-12-11 09:14:11 +00:00
# date_now = Time.now
2013-12-11 09:26:47 +00:00
# if !params[:category_id].blank? && !params[:tag_id].blank?
# @posts = Bulletin.available_for_lang(I18n.locale).can_display.where(:category_id.in => params[:category_id], :tagged_ids.in => params[:tag_id]).desc( :is_top, :postdate).page( params[:page_main]).per(@page_num)
# elsif !params[:category_id].blank?
# @posts = Bulletin.all.available_for_lang(I18n.locale).can_display.where(:category_id.in => params[:category_id]).desc( :is_top, :postdate).page( params[:page_main]).per(@page_num)
# elsif !params[:tag_id].blank?
# @posts = Bulletin.available_for_lang(I18n.locale).can_display.where(:tagged_ids.in => params[:tag_id]).desc( :is_top, :postdate).page( params[:page_main]).per(@page_num)
# else
# @posts = Bulletin.all.available_for_lang(I18n.locale).can_display.desc( :is_top, :postdate).page( params[:page_main]).per(@page_num)
# end
2013-12-11 09:14:11 +00:00
# @categories = @module_app.categories.enabled
2012-07-16 08:13:38 +00:00
# end
2012-07-16 08:13:38 +00:00
def bulletins_list_and_pic
if params[:widget_data_count]
@page_num = params[:widget_data_count];
else
@page_num = 4;
end
2012-07-16 08:13:38 +00:00
@title = params[:part_title]
date_now = Time.now
2012-04-29 22:27:38 +00:00
if !params[:category_id].blank?
@bulletins = Bulletin.all.available_for_lang(I18n.locale).can_display.where(: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?
2013-05-03 04:11:48 +00:00
@bulletins = Bulletin.available_for_lang(I18n.locale).can_display.where(:tagged_ids => params[:tag_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)
2012-02-28 06:08:57 +00:00
else
2013-05-03 04:11:48 +00:00
@bulletins = Bulletin.available_for_lang(I18n.locale).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
2013-11-08 04:55:15 +00:00
@categories = @module_app.categories.enabled
2012-01-18 13:34:26 +00:00
end
def bulletins_and_web_links
@part = PagePart.find(params[:part_id]) if !params[:part_id].blank?
@title = @part.title_translations[I18n.locale.to_s]
if !@part.blank? and @part.widget_data_count
@page_num = @part.widget_data_count
else
@page_num = 5
end
date_now = Time.now
if !params[:tag_id].blank?
@tags = Tag.any_in(:_id => params[:tag_id]).asc(:created_at)
elsif params[:tag_id].blank? and !@part.tag.blank?
@tags = Tag.any_in(:_id => @part.tag).asc(:created_at)
else
@ModuleApp_b = ModuleApp.first(:conditions => {:key=>'announcement'})
@tags = Tag.where(:module_tag_id => @ModuleApp_b.id).asc(:created_at)
end
@selected_tag = Tag.find(params[:id]).first rescue @tags[0]
@bulletins = Bulletin.available_for_lang(I18n.locale).can_display.where(:tagged_ids => @selected_tag.id.to_s, :is_hidden => false).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) rescue nil
if @part.widget_style == 'bulletins_and_web_links'
@ModuleApp_w = ModuleApp.first(:conditions => {:key=>'web_resource'})
@link_selected_tag = Tag.first(:conditions => {:name => @selected_tag.name, :module_tag_id => @ModuleApp_w.id})
@web_links = WebLink.where(:tagged_ids => @link_selected_tag.id.to_s, :is_hidden => false).desc(:is_top,:created_at).available_for_lang(I18n.locale).page(params[:page]).per(@page_num) rescue nil
end
end
def reload_bulletins
@part = PagePart.find(params[:part_id]) if !params[:part_id].blank?
@title = @part.title_translations[I18n.locale.to_s]
if !@part.blank? and @part.widget_data_count
@page_num = @part.widget_data_count
else
@page_num = 5
end
date_now = Time.now
@selected_tag = Tag.find(params[:tag_id]).first
@bulletins = Bulletin.available_for_lang(I18n.locale).can_display.where(:tagged_ids => @selected_tag.id.to_s, :is_hidden => false).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) rescue nil
end
def reload_web_links
@part = PagePart.find(params[:part_id]) if !params[:part_id].blank?
if !@part.blank? and @part.widget_data_count
@page_num = @part.widget_data_count
else
@page_num = 5
end
date_now = Time.now
@selected_tag = Tag.find(params[:tag_id]).first
@ModuleApp = ModuleApp.first(:conditions => {:key=>'web_resource'})
@link_selected_tag = Tag.first(:conditions => {:name => @selected_tag.name, :module_tag_id => @ModuleApp.id})
@web_links = WebLink.where(:tagged_ids => @link_selected_tag.id.to_s, :is_hidden => false).desc(:is_top,:created_at).available_for_lang(I18n.locale).page(params[:page]).per(@page_num) rescue nil
end
2012-04-29 22:27:38 +00:00
def bulletins_side_bar
@tags_and_class = @module_app.sorted_tags_for_cloud
2013-11-08 04:55:15 +00:00
@categories = @module_app.categories.enabled
2012-04-29 22:27:38 +00:00
end
def bulletins_search_block
2013-05-01 04:16:28 +00:00
@part = PagePart.find params[:part_id]
end
2012-01-18 13:34:26 +00:00
end