comparison app/models/user.rb @ 84:432bb11e0390 cannam

Merge from branch "luisf"
author Chris Cannam
date Thu, 16 Dec 2010 10:03:20 +0000
parents 69ee2e406f71
children b859cc0c4fa1 440c4f4bf2d6
comparison
equal deleted inserted replaced
76:8a49eabbb30a 84:432bb11e0390
49 has_one :preference, :dependent => :destroy, :class_name => 'UserPreference' 49 has_one :preference, :dependent => :destroy, :class_name => 'UserPreference'
50 has_one :rss_token, :dependent => :destroy, :class_name => 'Token', :conditions => "action='feeds'" 50 has_one :rss_token, :dependent => :destroy, :class_name => 'Token', :conditions => "action='feeds'"
51 has_one :api_token, :dependent => :destroy, :class_name => 'Token', :conditions => "action='api'" 51 has_one :api_token, :dependent => :destroy, :class_name => 'Token', :conditions => "action='api'"
52 belongs_to :auth_source 52 belongs_to :auth_source
53 53
54 has_one :ssamr_user_detail, :dependent => :destroy, :class_name => 'SsamrUserDetail'
55 accepts_nested_attributes_for :ssamr_user_detail
56
54 # Active non-anonymous users scope 57 # Active non-anonymous users scope
55 named_scope :active, :conditions => "#{User.table_name}.status = #{STATUS_ACTIVE}" 58 named_scope :active, :conditions => "#{User.table_name}.status = #{STATUS_ACTIVE}"
56 59
57 acts_as_customizable 60 acts_as_customizable
58 61
60 attr_accessor :last_before_login_on 63 attr_accessor :last_before_login_on
61 # Prevents unauthorized assignments 64 # Prevents unauthorized assignments
62 attr_protected :login, :admin, :password, :password_confirmation, :hashed_password, :group_ids 65 attr_protected :login, :admin, :password, :password_confirmation, :hashed_password, :group_ids
63 66
64 validates_presence_of :login, :firstname, :lastname, :mail, :if => Proc.new { |user| !user.is_a?(AnonymousUser) } 67 validates_presence_of :login, :firstname, :lastname, :mail, :if => Proc.new { |user| !user.is_a?(AnonymousUser) }
68
69 # TODO: is this validation correct validates_presence_of :ssamr_user_detail
70
65 validates_uniqueness_of :login, :if => Proc.new { |user| !user.login.blank? }, :case_sensitive => false 71 validates_uniqueness_of :login, :if => Proc.new { |user| !user.login.blank? }, :case_sensitive => false
66 validates_uniqueness_of :mail, :if => Proc.new { |user| !user.mail.blank? }, :case_sensitive => false 72 validates_uniqueness_of :mail, :if => Proc.new { |user| !user.mail.blank? }, :case_sensitive => false
67 # Login must contain lettres, numbers, underscores only 73 # Login must contain lettres, numbers, underscores only
68 validates_format_of :login, :with => /^[a-z0-9_\-@\.]*$/i 74 validates_format_of :login, :with => /^[a-z0-9_\-@\.]*$/i
69 validates_length_of :login, :maximum => 30 75 validates_length_of :login, :maximum => 30
90 96
91 def mail=(arg) 97 def mail=(arg)
92 write_attribute(:mail, arg.to_s.strip) 98 write_attribute(:mail, arg.to_s.strip)
93 end 99 end
94 100
101 def description=(arg)
102 write_attribute(:description, arg.to_s.strip)
103 end
104
95 def identity_url=(url) 105 def identity_url=(url)
96 if url.blank? 106 if url.blank?
97 write_attribute(:identity_url, '') 107 write_attribute(:identity_url, '')
98 else 108 else
99 begin 109 begin