Feature #13340 ยป mail_handler.patch
| app/models/group.rb | ||
|---|---|---|
| 78 | 78 |
super(attr_name, *args) |
| 79 | 79 |
end |
| 80 | 80 | |
| 81 |
def self.find_by_name(name) |
|
| 82 |
where("lastname = ? AND type = 'Group'", name).first if !name.nil?
|
|
| 83 |
end |
|
| 84 | ||
| 81 | 85 |
private |
| 82 | 86 | |
| 83 | 87 |
# Removes references that are not handled by associations |
| app/models/mail_handler.rb | ||
|---|---|---|
| 97 | 97 |
if logger && logger.info |
| 98 | 98 |
logger.info "MailHandler: [#{@user.login}] account created"
|
| 99 | 99 |
end |
| 100 |
group = Group.find_by_name(@@handler_options[:default_group]) |
|
| 101 |
if group |
|
| 102 |
group.users << @user |
|
| 103 |
if logger && logger.info |
|
| 104 |
logger.info "MailHandler: [#{@user.login}] added to group [#{group.name}]"
|
|
| 105 |
end |
|
| 106 |
end |
|
| 107 | ||
| 100 | 108 |
Mailer.account_information(@user, @user.password).deliver |
| 101 | 109 |
else |
| 102 | 110 |
if logger && logger.error |
| extra/mail_handler/rdm-mailhandler.rb | ||
|---|---|---|
| 25 | 25 |
class RedmineMailHandler |
| 26 | 26 |
VERSION = '0.2.1' |
| 27 | 27 | |
| 28 |
attr_accessor :verbose, :issue_attributes, :allow_override, :unknown_user, :no_permission_check, :url, :key, :no_check_certificate |
|
| 28 |
attr_accessor :verbose, :issue_attributes, :allow_override, :unknown_user, :default_group, :no_permission_check, :url, :key, :no_check_certificate
|
|
| 29 | 29 | |
| 30 | 30 |
def initialize |
| 31 | 31 |
self.issue_attributes = {}
|
| ... | ... | |
| 45 | 45 |
"* ignore: email is ignored (default)", |
| 46 | 46 |
"* accept: accept as anonymous user", |
| 47 | 47 |
"* create: create a user account") {|v| self.unknown_user = v}
|
| 48 |
opts.on("--default-group GROUP", "add created user to this group (none by default)") { |v| self.default_group = v}
|
|
| 48 | 49 |
opts.on("--no-permission-check", "disable permission checking when receiving",
|
| 49 | 50 |
"the email") {self.no_permission_check = '1'}
|
| 50 | 51 |
opts.on("--key-file FILE", "path to a file that contains the Redmine",
|
| ... | ... | |
| 95 | 96 |
data = { 'key' => key, 'email' => email,
|
| 96 | 97 |
'allow_override' => allow_override, |
| 97 | 98 |
'unknown_user' => unknown_user, |
| 99 |
'default_group' => default_group, |
|
| 98 | 100 |
'no_permission_check' => no_permission_check} |
| 99 | 101 |
issue_attributes.each { |attr, value| data["issue[#{attr}]"] = value }
|
| 100 | 102 | |