Mercurial > hg > soundsoftware-site
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 |