add_member.rb
704 Bytes
class AddMember < Task
validates_presence_of :requestor_id, :target_id
alias :person :requestor
alias :person= :requestor=
alias :community :target
alias :community= :target=
alias :organization :target
alias :organization= :target=
alias :enterprise :target
alias :enterprise= :target=
acts_as_having_settings :roles, :field => :data
def perform
self.roles ||= [Profile::Roles.member.id]
target.affiliate(requestor, self.roles.map{|i| Role.find(i)})
end
# FIXME should send email to community admin?
def sends_email?
false
end
def description
_('%s wants to be a member') % requestor.name
end
def permission
:manage_memberships
end
end