@@handler_options[:allow_override] << 'status' unless @@handler_options[:issue].has_key?(:status)
@@handler_options[:no_account_notice] = (@@handler_options[:no_account_notice].to_s == '1')
+ @@handler_options[:no_notification] = (@@handler_options[:no_notification].to_s == '1')
@@handler_options[:no_permission_check] = (@@handler_options[:no_permission_check].to_s == '1')
email.force_encoding('ASCII-8BIT') if email.respond_to?(:force_encoding)
password_length = [Setting.password_min_length.to_i, 10].max
user.password = Redmine::Utils.random_hex(password_length / 2 + 1)
user.language = Setting.default_language
+ user.mail_notification = 'only_my_events'
unless user.valid?
user.login = "user#{Redmine::Utils.random_hex(6)}" unless user.errors[:login].blank?
end
if addr.present?
user = self.class.new_user_from_attributes(addr, name)
+ if @@handler_options[:no_notification]
+ user.mail_notification = 'none'
+ end
if user.save
user
else
VERSION = '0.2.3'
attr_accessor :verbose, :issue_attributes, :allow_override, :unknown_user, :default_group, :no_permission_check,
- :url, :key, :no_check_certificate, :no_account_notice
+ :url, :key, :no_check_certificate, :no_account_notice, :no_notification
def initialize
self.issue_attributes = {}
"GROUP can be a comma separated list of groups") { |v| self.default_group = v}
opts.on("--no-account-notice", "don't send account information to the newly",
"created user") { |v| self.no_account_notice = '1'}
+ opts.on("--no-notification", "disable email notifications for the created",
+ "user") { |v| self.no_notification = '1'}
opts.separator("")
opts.separator("Issue attributes control options:")
opts.on("-p", "--project PROJECT", "identifier of the target project") {|v| self.issue_attributes['project'] = v}
'unknown_user' => unknown_user,
'default_group' => default_group,
'no_account_notice' => no_account_notice,
+ 'no_notification' => no_notification,
'no_permission_check' => no_permission_check}
issue_attributes.each { |attr, value| data["issue[#{attr}]"] = value }
assert_include 'Ticket by unknown user', email.subject
end
+ def test_created_user_should_have_mail_notification_to_none_with_no_notification_option
+ assert_difference 'User.count' do
+ submit_email(
+ 'ticket_by_unknown_user.eml',
+ :issue => {:project => 'ecookbook'},
+ :unknown_user => 'create',
+ :no_notification => '1'
+ )
+ end
+ user = User.order('id DESC').first
+ assert_equal 'none', user.mail_notification
+ end
+
def test_add_issue_without_from_header
Role.anonymous.add_permission!(:add_issues)
assert_equal false, submit_email('ticket_without_from_header.eml')
assert_equal expected[0], user.login
assert_equal expected[1], user.firstname
assert_equal expected[2], user.lastname
+ assert_equal 'only_my_events', user.mail_notification
end
end