From 1cc1c6856e4bdb4b9b56acb776516e5169c17865 Mon Sep 17 00:00:00 2001 From: Spen Date: Tue, 2 Jul 2013 14:33:41 +0800 Subject: [PATCH] ntue announcement email reminder fix and gemfile tinymce fix --- Gemfile | 2 +- config/environments/development.rb | 18 ++--- .../back_end/approvals_controller.rb | 69 +++++++++++++++++++ .../back_end/bulletins_controller.rb | 4 +- .../back_end/bulletins/_form.html.erb | 2 +- 5 files changed, 82 insertions(+), 13 deletions(-) diff --git a/Gemfile b/Gemfile index 1c524cd98..121af4348 100644 --- a/Gemfile +++ b/Gemfile @@ -48,7 +48,7 @@ gem 'sinatra' gem 'sprockets' gem 'social-share-button' -gem 'tinymce-rails' +gem 'tinymce-rails', "~> 3.5.8" gem 'therubyracer' if RUBY_PLATFORM.downcase.include?("linux") gem 'libv8', '~> 3.11.8' if RUBY_PLATFORM.downcase.include?("linux") gem 'mongoid-encryptor', :require => 'mongoid/encryptor' diff --git a/config/environments/development.rb b/config/environments/development.rb index 7daa02fc8..ba4f6fd1f 100644 --- a/config/environments/development.rb +++ b/config/environments/development.rb @@ -34,15 +34,15 @@ Orbit::Application.configure do # :sender_address => %{"notifier" }, # :exception_recipients => %w{chris@rulingcom.com} - config.action_mailer.delivery_method = :smtp - config.action_mailer.smtp_settings = { - :enable_starttls_auto => true, - :address => "smtp.gmail.com", - :port => '587', - :domain => "smtp.gmail.com", - :authentication => "plain", - :user_name => "redmine@rulingcom.com", - :password => "rulingredmine" } + # config.action_mailer.delivery_method = :smtp + # config.action_mailer.smtp_settings = { + # :enable_starttls_auto => true, + # :address => "smtp.gmail.com", + # :port => '587', + # :domain => "smtp.gmail.com", + # :authentication => "plain", + # :user_name => "redmine@rulingcom.com", + # :password => "rulingredmine" } end 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 cb8da5db1..8cac22bbe 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 @@ -1,3 +1,4 @@ +# encoding: utf-8 class Panel::Announcement::BackEnd::ApprovalsController < OrbitBackendController before_filter :authenticate_user! before_filter :is_admin? @@ -15,6 +16,14 @@ class Panel::Announcement::BackEnd::ApprovalsController < OrbitBackendControlle @bulletin.proc_check(params[:bulletin][:is_checked],params[:bulletin][:not_checked_reason]) @bulletin.de_pending if @bulletin.save + + if @bulletin.email_sent == true && @bulletin.is_checked == true && !@bulletin.is_rejected + send_email_data(@bulletin) + + @bulletin.email_sent = false + @bulletin.save + end + notice = t('announcement.approve_bulletin_success') else notice = t('announcement.approve_bulletin_fail') @@ -61,6 +70,66 @@ class Panel::Announcement::BackEnd::ApprovalsController < OrbitBackendControlle object_auth.privilege_users = privilege_users object_auth end + + def send_email_data(bulletin) + + @site = Site.first + @user = User.find(bulletin.create_user_id) + @host = request.host_with_port + + email_group_data + + @group_mail = Array.new + + bulletin.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"] + + elsif @email_group_data.include?(egroup) and egroup == '4' + + @group_mail << bulletin.other_mailaddress + + end + + end + + if !@group_mail.join.blank? + + @mail_content = { + "host" => @host, + "site_title" => @site.title, + "title" => bulletin.title, + "template" => 'announcement_mailer/cron_mail', + "url" => "http://#{@host}#{panel_announcement_front_end_bulletin_path(bulletin, :category_id => bulletin.bulletin_category.id)}" + } + + @mail_cron = { + :mail_from_app => 'announcement', + :mail_from => @user.email, + :mail_reply_to => @user.email, + :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, + :create_user_id => bulletin.create_user_id, + :update_user_id => bulletin.create_user_id + } + + @mail_cron = MailCron.new(@mail_cron) + + @mail_cron.save + + end + + end + + def email_group_data + + @email_group_data = Bulletin.email_group_data + + end # def get_categorys(id = nil) # @bulletin_categorys = [] 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 2776e862f..299dd8399 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,7 +153,7 @@ class Panel::Announcement::BackEnd::BulletinsController < OrbitBackendController respond_to do |format| if @bulletin.save - if @bulletin.email_sent == true && @bulletin.is_checked == true + if @bulletin.email_sent == true && @bulletin.is_checked == true && !@bulletin.is_rejected send_email_data(@bulletin) @bulletin.email_sent = false @@ -241,7 +241,7 @@ class Panel::Announcement::BackEnd::BulletinsController < OrbitBackendController @bulletin.de_pending! end - if @bulletin.email_sent == true && @bulletin.is_checked == true + if @bulletin.email_sent == true && @bulletin.is_checked == true && !@bulletin.is_rejected send_email_data(@bulletin) @bulletin.email_sent = false diff --git a/vendor/built_in_modules/announcement/app/views/panel/announcement/back_end/bulletins/_form.html.erb b/vendor/built_in_modules/announcement/app/views/panel/announcement/back_end/bulletins/_form.html.erb index 3e87b44b1..54ee14a9b 100644 --- a/vendor/built_in_modules/announcement/app/views/panel/announcement/back_end/bulletins/_form.html.erb +++ b/vendor/built_in_modules/announcement/app/views/panel/announcement/back_end/bulletins/_form.html.erb @@ -287,7 +287,7 @@