Revision d5953972
Added by Jan Pazdziora about 10 years ago
app/models/usergroup.rb | ||
---|---|---|
has_many :usergroup_members, :dependent => :destroy
|
||
has_many :users, :through => :usergroup_members, :source => :member, :source_type => 'User', :dependent => :destroy
|
||
has_many :usergroups, :through => :usergroup_members, :source => :member, :source_type => 'Usergroup', :dependent => :destroy
|
||
has_many :external_usergroups, :dependent => :destroy, :inverse_of => :usergroup
|
||
|
||
has_many :cached_usergroup_members
|
||
has_many :usergroup_parents, :dependent => :destroy, :foreign_key => 'member_id',
|
||
... | ... | |
scoped_search :on => :name, :complete_value => :true
|
||
validate :ensure_uniq_name
|
||
|
||
accepts_nested_attributes_for :external_usergroups, :reject_if => lambda { |a| a[:name].blank? }, :allow_destroy => true
|
||
|
||
# This methods retrieves all user addresses in a usergroup
|
||
# Returns: Array of strings representing the user's email addresses
|
||
def recipients
|
||
... | ... | |
errors.add :name, _("is already used by a user account") if User.where(:login => name).first
|
||
end
|
||
|
||
def add_users(userlist)
|
||
users << User.where( {:login => userlist } )
|
||
end
|
||
|
||
def remove_users(userlist)
|
||
old_users = User.select { |user| userlist.include?(user.login) }
|
||
self.users = self.users - old_users
|
||
end
|
||
|
||
|
||
end
|
Also available in: Unified diff
fixes #5241 - Add support for external user groups.