mail_handler.patch

Daniel Black, 2013-03-03 07:49

Download (2.87 KB)

View differences:

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