From 46a4151f09359c9c64a2073d20c0267d64cdb516 Mon Sep 17 00:00:00 2001 From: Jean-Philippe Lang Date: Sun, 20 Mar 2016 07:23:33 +0000 Subject: [PATCH] Send a single email to admins like other notifications (#21421). git-svn-id: http://svn.redmine.org/redmine/trunk@15266 e93f8b46-1217-0410-a6f0-8f06a7374b81 --- app/models/user.rb | 10 ++++++---- lib/redmine/i18n.rb | 3 ++- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/app/models/user.rb b/app/models/user.rb index dca472810..1eb2c324f 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -836,6 +836,7 @@ class User < Principal def self.generate_salt Redmine::Utils.random_hex(16) end + # Send a security notification to all admins if the user has gained/lost admin privileges def deliver_security_notification options = { @@ -844,6 +845,7 @@ class User < Principal title: :label_user_plural, url: {controller: 'users', action: 'index'} } + deliver = false if (admin? && id_changed? && active?) || # newly created admin (admin? && admin_changed? && active?) || # regular user became admin @@ -860,11 +862,11 @@ class User < Principal options[:message] = :mail_body_security_notification_remove end - User.where(admin: true, status: Principal::STATUS_ACTIVE).each{|u| Mailer.security_notification(u, options).deliver} if deliver + if deliver + users = User.active.where(admin: true).to_a + Mailer.security_notification(users, options).deliver + end end - - - end class AnonymousUser < User diff --git a/lib/redmine/i18n.rb b/lib/redmine/i18n.rb index b6998e72c..5d5856746 100644 --- a/lib/redmine/i18n.rb +++ b/lib/redmine/i18n.rb @@ -71,8 +71,9 @@ module Redmine ::I18n.l(date.to_date, options) end - def format_time(time, include_date=true, user=User.current) + def format_time(time, include_date=true, user=nil) return nil unless time + user ||= User.current options = {} options[:format] = (Setting.time_format.blank? ? :time : Setting.time_format) time = time.to_time if time.is_a?(String) -- 2.39.5