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