add show page url to feed

This commit is contained in:
邱博亞 2021-12-30 16:12:12 +08:00
parent 45d2a392e3
commit 800853164e
1 changed files with 20 additions and 2 deletions

View File

@ -85,7 +85,7 @@ class BulletinFeed
end
anns_before_filter.selector = {"$and"=>[anns_before_filter.selector,{"$or"=>(I18n.available_locales.map{|v| {"title.#{v}"=>{"$nin"=>["", nil]}}})}]}
if can_display_and_sorted_flag
announcements = anns_before_filter.valid_time_range
announcements = anns_before_filter.valid_time_range.to_a
end
else
announcements = []
@ -99,6 +99,19 @@ class BulletinFeed
first_postdate = anns_before_filter.open_in_future.limit(1).pluck(:postdate)[0]
first_deadline = nil
cat_ids = announcements.collect{|a| a.category_id.blank? ? nil : a.category_id.to_s}.compact.uniq
tag_ids = announcements.collect{|a| a.tag_ids.collect{|v| v.blank? ? nil : v.to_s}}.flatten.compact.uniq
basic_query = {:module => 'announcement',:enabled_for=>I18n.locale}
if !cat_ids.blank?
query = basic_query.merge({:categories.all => cat_ids})
else
query = basic_query.clone
end
if !tag_ids.blank?
query = query.merge({:tags.all => tag_ids})
end
page = Page.where(query).first || Page.where(basic_query).first
more_url = page ? "/#{I18n.locale}#{(page.get_url)}" : nil
announcements.each_with_index do |anns,i|
deadline = anns.deadline
@ -114,6 +127,11 @@ class BulletinFeed
author = ""
end
a = {}
if more_url
a['show_url'] = "#{more_url}/#{anns.to_param}"
else
a['show_url'] = '#'
end
a["id"] = anns.uid
a["title_translations"] = anns.title_translations
a["subtitle_translations"] = anns.subtitle_translations