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, '')