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 %> +