fix not nil announcement

This commit is contained in:
Harry Bomrah 2015-05-19 14:57:18 +08:00
parent 29e67dd2e6
commit 5b88d8373c
2 changed files with 5 additions and 4 deletions

View File

@ -2,9 +2,9 @@ class AnnouncementsController < ApplicationController
def index
if !OrbitHelper.params['tags'].blank?
announcements = Bulletin.where(:title.ne => "",:is_preview.in=>[false,nil]).can_display.is_approved.order_by(:postdate=>'desc').filter_by_tags(OrbitHelper.params['tags']).page(OrbitHelper.page_number).per(OrbitHelper.page_data_count)
announcements = Bulletin.where(:title.ne => "",:is_preview.in=>[false,nil],:title.ne => nil).can_display.is_approved.order_by(:postdate=>'desc').filter_by_tags(OrbitHelper.params['tags']).page(OrbitHelper.page_number).per(OrbitHelper.page_data_count)
else
announcements = Bulletin.where(:title.ne => "",:is_preview.in=>[false,nil]).can_display.is_approved.order_by(:postdate=>'desc').filter_by_categories.filter_by_tags
announcements = Bulletin.where(:title.ne => "",:is_preview.in=>[false,nil],:title.ne => nil).can_display.is_approved.order_by(:postdate=>'desc').filter_by_categories.filter_by_tags
end
anns = announcements.collect do |a|
@ -60,7 +60,8 @@ class AnnouncementsController < ApplicationController
end
def widget
announcements = Bulletin.where(:title.ne => "",:is_preview.in=>[false,nil]).can_display.is_approved.order_by(:postdate=>'desc').filter_by_widget_categories.filter_by_tags(OrbitHelper.widget_tags)
tags = ["all"] if OrbitHelper.widget_tags.empty?
announcements = Bulletin.where(:title.ne => "",:is_preview.in=>[false,nil],:title.ne => nil).can_display.is_approved.order_by(:postdate=>'desc').filter_by_widget_categories.filter_by_tags(tags)
page = Page.where(:module => "announcement").first rescue nil
anns = announcements.collect do |a|
statuses = a.statuses_with_classname.collect do |status|

View File

@ -39,7 +39,7 @@ class Bulletin
before_destroy :destroy_email
scope :can_display, ->{where(:is_hidden=>false).any_of({:postdate.lt=>Time.now, :deadline.gt=>Time.now},{:postdate.lt=>Time.now, :deadline=>nil}).order_by([:is_top, :desc])}
scope :can_display, ->{where(:is_hidden=>false,:is_preview => false).any_of({:postdate.lt=>Time.now, :deadline.gt=>Time.now},{:postdate.lt=>Time.now, :deadline=>nil}).order_by([:is_top, :desc])}
scope :is_approved, ->{where(:approved => true)}
before_create :set_expire