Mercurial > hg > soundsoftware-site
diff app/models/user.rb @ 1484:51364c0cd58f redmine-2.4-integration
Merge from live branch. Still need to merge manually in files overridden by plugins.
author | Chris Cannam |
---|---|
date | Wed, 15 Jan 2014 09:59:14 +0000 |
parents | 261b3d9a4903 bb32da3bea34 |
children | c86dacc2ef0a |
line wrap: on
line diff
--- a/app/models/user.rb Tue Jan 14 14:37:42 2014 +0000 +++ b/app/models/user.rb Wed Jan 15 09:59:14 2014 +0000 @@ -79,6 +79,11 @@ scope :logged, lambda { where("#{User.table_name}.status <> #{STATUS_ANONYMOUS}") } scope :status, lambda {|arg| where(arg.blank? ? nil : {:status => arg.to_i}) } + has_one :ssamr_user_detail, :dependent => :destroy, :class_name => 'SsamrUserDetail' + accepts_nested_attributes_for :ssamr_user_detail + + has_one :author + acts_as_customizable attr_accessor :password, :password_confirmation, :generate_password @@ -92,6 +97,7 @@ validates_presence_of :login, :firstname, :lastname, :mail, :if => Proc.new { |user| !user.is_a?(AnonymousUser) } validates_uniqueness_of :login, :if => Proc.new { |user| user.login_changed? && user.login.present? }, :case_sensitive => false validates_uniqueness_of :mail, :if => Proc.new { |user| user.mail_changed? && user.mail.present? }, :case_sensitive => false + # Login must contain letters, numbers, underscores only validates_format_of :login, :with => /\A[a-z0-9_\-@\.]*\z/i validates_length_of :login, :maximum => LOGIN_LENGTH_LIMIT @@ -107,6 +113,8 @@ before_destroy :remove_references_before_destroy after_save :update_notified_project_ids + validates_acceptance_of :terms_and_conditions, :on => :create, :message => :must_accept_terms_and_conditions + scope :in_group, lambda {|group| group_id = group.is_a?(Group) ? group.id : group.to_i where("#{User.table_name}.id IN (SELECT gu.user_id FROM #{table_name_prefix}groups_users#{table_name_suffix} gu WHERE gu.group_id = ?)", group_id) @@ -144,6 +152,10 @@ write_attribute(:mail, arg.to_s.strip) end + def description=(arg) + write_attribute(:description, arg.to_s.strip) + end + def identity_url=(url) if url.blank? write_attribute(:identity_url, '')