Class: Calnet::User
- Inherits:
-
ActiveRecord::Base
- Object
- ActiveRecord::Base
- Calnet::User
- Defined in:
- lib/calnet_authenticated/calnet_user.rb
Overview
requires
* uid (unique)
accessible attributes
* sn * displayname * mail * telephonenumber
Class Method Summary collapse
-
.find_create_and_update_by_uid(uid) ⇒ Object
Find or Create a user from a given uid, and then proceed to update the user’s information from the UCB::LDAP::Person.find_by_uid(uid) response.
-
.inherited(subclass) ⇒ Object
defined in plugin/engine …
- .search(options = {}) ⇒ Object
Instance Method Summary collapse
Class Method Details
.find_create_and_update_by_uid(uid) ⇒ Object
Find or Create a user from a given uid, and then proceed to update the user’s information from the UCB::LDAP::Person.find_by_uid(uid) response.
Returns: user
33 34 35 36 37 38 39 40 41 42 43 |
# File 'lib/calnet_authenticated/calnet_user.rb', line 33 def self.find_create_and_update_by_uid(uid) user = self.find_or_create_by_uid(uid) person = UCB::LDAP::Person.find_by_uid(uid) user.update_attributes!({ :displayname => person.displayname, :sn => person.sn.first, :mail => person.mail.first || '', :telephonenumber => person.telephonenumber.first }) unless person.nil? user end |
.inherited(subclass) ⇒ Object
defined in plugin/engine …
def may_administrate?(*args) (self.role_names & [‘superuser’,‘administrator’]).length > 0 end
def may_read?(*args) (self.role_names & [‘superuser’,‘administrator’,‘editor’,‘interviewer’,‘reader’] ).length > 0 end
def may_edit?(*args) (self.role_names & [‘superuser’,‘administrator’,‘editor’] ).length > 0 end
70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 |
# File 'lib/calnet_authenticated/calnet_user.rb', line 70 def self.inherited(subclass) subclass.class_eval do # for some reason is nil which causes problems self.default_scoping = [] validates_presence_of :uid validates_uniqueness_of :uid # include the many may_*? for use in the controllers alias_method :may_create?, :may_edit? alias_method :may_update?, :may_edit? alias_method :may_destroy?, :may_edit? end # class_eval end |
.search(options = {}) ⇒ Object
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
# File 'lib/calnet_authenticated/calnet_user.rb', line 12 def self.search(={}) conditions = {} includes = joins = [] if ![:role_name].blank? includes = [:roles] if Role.all.collect(&:name).include?([:role_name]) joins = [:roles] conditions = ["roles.name = ?",[:role_name]] end end self.all( :joins => joins, :include => includes, :conditions => conditions ) end |
Instance Method Details
#to_s ⇒ Object
45 46 47 |
# File 'lib/calnet_authenticated/calnet_user.rb', line 45 def to_s displayname end |