From d56d52828b5a645a0d06a5b6e57073cd24063a79 Mon Sep 17 00:00:00 2001
From: Spen
Date: Fri, 19 Jul 2013 14:40:45 +0800
Subject: [PATCH] ntue emailer app and bulletin app mail send fix
---
.../back_end/approvals_controller.rb | 6 ++-
.../back_end/bulletins_controller.rb | 25 +++++----
.../announcement/app/models/bulletin.rb | 26 +++++++++
.../approvals/_modal_approve.html.erb | 6 +++
.../back_end/bulletins/_form.html.erb | 2 +-
.../er_email/back_end/approvals_controller.rb | 7 ++-
.../er_email/back_end/email_ers_controller.rb | 54 ++++++++++++++-----
.../er_email/app/models/email_er.rb | 2 +
.../approvals/_modal_approve.html.erb | 8 ++-
.../back_end/email_ers/_email_er.html.erb | 8 +--
.../back_end/email_ers/_form.html.erb | 21 +-------
.../back_end/email_ers/_sort_headers.html.erb | 3 +-
.../back_end/email_ers/index.html.erb | 1 -
.../er_email/config/locales/en.yml | 3 ++
.../er_email/config/locales/zh_tw.yml | 3 ++
.../er_email/config/routes.rb | 1 +
16 files changed, 124 insertions(+), 52 deletions(-)
diff --git a/vendor/built_in_modules/announcement/app/controllers/panel/announcement/back_end/approvals_controller.rb b/vendor/built_in_modules/announcement/app/controllers/panel/announcement/back_end/approvals_controller.rb
index 8cac22bbe..d2320fb02 100644
--- a/vendor/built_in_modules/announcement/app/controllers/panel/announcement/back_end/approvals_controller.rb
+++ b/vendor/built_in_modules/announcement/app/controllers/panel/announcement/back_end/approvals_controller.rb
@@ -7,6 +7,7 @@ class Panel::Announcement::BackEnd::ApprovalsController < OrbitBackendControlle
def preview_and_approve
+ email_group_data
@bulletin = Bulletin.find params[:bulletin_id]
end
@@ -112,7 +113,8 @@ class Panel::Announcement::BackEnd::ApprovalsController < OrbitBackendControlle
:mail_subject => "#{t("announcement.mail_subject",:site_title => @site.title)}:#{bulletin.title}",
:mail_to => @group_mail.join(','),
:mail_content => @mail_content ,
- :mail_sentdate => bulletin.email_sentdate,
+ # :mail_sentdate => bulletin.email_sentdate,
+ :mail_sentdate => DateTime.now,
:create_user_id => bulletin.create_user_id,
:update_user_id => bulletin.create_user_id
}
@@ -121,6 +123,8 @@ class Panel::Announcement::BackEnd::ApprovalsController < OrbitBackendControlle
@mail_cron.save
+ MailCron.send_mail_now(@mail_cron.id)
+
end
end
diff --git a/vendor/built_in_modules/announcement/app/controllers/panel/announcement/back_end/bulletins_controller.rb b/vendor/built_in_modules/announcement/app/controllers/panel/announcement/back_end/bulletins_controller.rb
index 299dd8399..edc7c012b 100644
--- a/vendor/built_in_modules/announcement/app/controllers/panel/announcement/back_end/bulletins_controller.rb
+++ b/vendor/built_in_modules/announcement/app/controllers/panel/announcement/back_end/bulletins_controller.rb
@@ -153,12 +153,12 @@ class Panel::Announcement::BackEnd::BulletinsController < OrbitBackendController
respond_to do |format|
if @bulletin.save
- if @bulletin.email_sent == true && @bulletin.is_checked == true && !@bulletin.is_rejected
- send_email_data(@bulletin)
+ # if @bulletin.email_sent == true && @bulletin.is_checked == true && !@bulletin.is_rejected
+ # send_email_data(@bulletin)
- @bulletin.email_sent = false
- @bulletin.save
- end
+ # @bulletin.email_sent = false
+ # @bulletin.save
+ # end
format.html { redirect_to(panel_announcement_back_end_bulletins_url, :notice => t('announcement.create_bulletin_success')) }
format.xml { render :xml => @bulletin, :status => :created, :location => @bulletin }
@@ -241,12 +241,12 @@ class Panel::Announcement::BackEnd::BulletinsController < OrbitBackendController
@bulletin.de_pending!
end
- if @bulletin.email_sent == true && @bulletin.is_checked == true && !@bulletin.is_rejected
- send_email_data(@bulletin)
+ # if @bulletin.email_sent == true && @bulletin.is_checked == true && !@bulletin.is_rejected
+ # send_email_data(@bulletin)
- @bulletin.email_sent = false
- @bulletin.save
- end
+ # @bulletin.email_sent = false
+ # @bulletin.save
+ # end
# if (params[:bulletin][:is_checked] == "false")
# @bulletin.is_rejected = true
@@ -356,7 +356,8 @@ class Panel::Announcement::BackEnd::BulletinsController < OrbitBackendController
:mail_subject => "#{t("announcement.mail_subject",:site_title => @site.title)}:#{bulletin.title}",
:mail_to => @group_mail.join(','),
:mail_content => @mail_content ,
- :mail_sentdate => bulletin.email_sentdate,
+ # :mail_sentdate => bulletin.email_sentdate,
+ :mail_sentdate => DateTime.now,
:create_user_id => bulletin.create_user_id,
:update_user_id => bulletin.create_user_id
}
@@ -365,6 +366,8 @@ class Panel::Announcement::BackEnd::BulletinsController < OrbitBackendController
@mail_cron.save
+ MailCron.send_mail_now(@mail_cron.id)
+
end
end
diff --git a/vendor/built_in_modules/announcement/app/models/bulletin.rb b/vendor/built_in_modules/announcement/app/models/bulletin.rb
index 2b33d06b3..e86ca5bea 100644
--- a/vendor/built_in_modules/announcement/app/models/bulletin.rb
+++ b/vendor/built_in_modules/announcement/app/models/bulletin.rb
@@ -221,6 +221,32 @@ class Bulletin
preview_object
end
+ def get_email_group_data(email_group_data)
+
+ group_mail = Array.new
+
+ self.email_group.each do |egroup|
+
+ if email_group_data.include?(egroup) and (egroup == '0' or egroup == '1' or egroup == '2' or egroup == '3')
+
+ group_mail << "#{email_group_data[egroup]["email"]}(#{email_group_data[egroup]["name"]})"
+
+ elsif email_group_data.include?(egroup) and egroup == '4'
+
+ self.other_mailaddress.split(",").each do |otmail|
+
+ group_mail << "#{otmail}(#{email_group_data[egroup]["name"]})"
+
+ end
+
+ end
+
+ end
+
+ group_mail.join("
").html_safe
+
+ end
+
protected
diff --git a/vendor/built_in_modules/announcement/app/views/panel/announcement/back_end/approvals/_modal_approve.html.erb b/vendor/built_in_modules/announcement/app/views/panel/announcement/back_end/approvals/_modal_approve.html.erb
index 797757a58..bed04d202 100644
--- a/vendor/built_in_modules/announcement/app/views/panel/announcement/back_end/approvals/_modal_approve.html.erb
+++ b/vendor/built_in_modules/announcement/app/views/panel/announcement/back_end/approvals/_modal_approve.html.erb
@@ -14,6 +14,12 @@
<%# preview_block_ad_images_helper(bulletin).each do |ad_image| -%>
<%#= image_tag ad_image.file,:alt => (ad_image.title[locale] || " "),:time_to_next => bulletin.transition_msec,:link_open=> ad_image.link_open, :link_url =>((ad_image.out_link || bulletin.context || " ")) %>
<%# end -%>
+
+ <% if !@bulletin.email_group.blank? %>
+ <%= label_tag 'group_mail' %>
+ <%= @bulletin.get_email_group_data(@email_group_data) %>
+ <% end %>
+