diff --git a/app/helpers/admin/announcements_helper.rb b/app/helpers/admin/announcements_helper.rb
index e13688a..a174cb9 100644
--- a/app/helpers/admin/announcements_helper.rb
+++ b/app/helpers/admin/announcements_helper.rb
@@ -6,7 +6,7 @@ module Admin::AnnouncementsHelper
def page_for_bulletin(bulletin)
ann_page = nil
pages = Page.where(:module=>'announcement')
-
+
pages.each do |page|
if page.categories.count ==1
if page.categories.include?(bulletin.category.id.to_s)
@@ -129,7 +129,7 @@ module Admin::AnnouncementsHelper
mail = Email.new(:mail_to => email, :mail_subject => "Announcement rejected公告未通過 : #{announcement.title}.", :template => "email/announcement_email.html.erb", :template_data => {"html" => datatosend})
mail.deliver rescue nil
end
- end
+ end
end
def send_notification_mail_to_managers(announcement, type)
@@ -163,7 +163,7 @@ module Admin::AnnouncementsHelper
def send_email(name, useremail, announcement, type)
url = "http://#{request.host_with_port}/admin/announcements?url=#{page_for_bulletin(announcement).sub("http://" + request.host_with_port, "")}&id=#{announcement.id}"
- case type
+ case type
when "approval"
datatosend = "
#{t("announcement.approval_mail_hi", :name => name)},
#{t("announcement.submitted_new_announcement", :poster => current_user.name)}
#{t("announcement.approval_announcement_title")} : #{announcement.title}
#{t("announcement.click_here_to_see")} : #{url}
"
when "reapproval"
@@ -216,40 +216,46 @@ module Admin::AnnouncementsHelper
doc.xpath("//channel").each do|channel_data|
channel_data.xpath('//item').each do|itme|
- bu = Bulletin.new
- bu.approved = true
- bu.title_translations = {"en" => itme.xpath('title').text, "zh_tw" => itme.xpath('title').text}
- bu.text_translations = {"en" => itme.xpath('content:encoded').text, "zh_tw" => itme.xpath('content:encoded').text}
- bu.postdate = itme.xpath('wp:post_date').text
-
- itme.xpath('category').each do |i_cate|
- if i_cate["domain"].to_s == "category"
- cat = @module_app.categories.where(:title => i_cate.text.to_s).first rescue nil
- if cat.nil?
- cat = Category.new
- cat.module_app = @module_app
- cat.title_translations = {"en" => i_cate.text.to_s, "zh_tw" => i_cate.text.to_s}
- cat.save
- end
+ bu = Bulletin.where(:rss2_sn => itme.xpath('wp:post_id').text ).first rescue nil
+ if bu.nil?
+ bu = Bulletin.new
+ bu.approved = true
+ bu.rss2_sn = itme.xpath('wp:post_id').text
+ bu.title_translations = {"en" => itme.xpath('title').text, "zh_tw" => itme.xpath('title').text}
+ bu.text_translations = {"en" => itme.xpath('content:encoded').text, "zh_tw" => itme.xpath('content:encoded').text}
+ bu.postdate = itme.xpath('wp:post_date').text
- bu.category = cat
+ itme.xpath('category').each do |i_cate|
+ if i_cate["domain"].to_s == "category"
- elsif i_cate["domain"].to_s == "post_tag"
-
- tag = Tag.where(:name => i_cate.text.to_s )
- if tag.nil? == false
- tag = Tag.new
- tag.name_translations = {"en" => i_cate.text.to_s, "zh_tw" => i_cate.text.to_s}
- tag.module_app_ids << @module_app.id
- tag.save
- end
+ cat = @module_app.categories.where(:title => i_cate.text.to_s).first rescue nil
+ if cat.nil?
+ cat = Category.new
+ cat.module_app = @module_app
+ cat.title_translations = {"en" => i_cate.text.to_s, "zh_tw" => i_cate.text.to_s}
+ cat.save
+ end
+ bu.category = cat
- bu.tags=tag
- end
- end
- bu.save
- end
+ elsif i_cate["domain"].to_s == "post_tag"
+
+ tag = Tag.where(:name => i_cate.text.to_s ).first rescue nil
+ if tag.nil?
+ tag = Tag.new
+ tag.name_translations = {"en" => i_cate.text.to_s, "zh_tw" => i_cate.text.to_s}
+ tag.module_app_ids << @module_app.id
+ tag.save
+ end
+
+ bu.tags = tag
+ end
+ end
+
+ bu.save
+ end
+
+ end
end
File.delete(xmlfile)
end