app/models/entities/account.rb in fat_free_crm-0.12.3 vs app/models/entities/account.rb in fat_free_crm-0.13.0

- old
+ new

@@ -41,24 +41,24 @@ serialize :subscribed_users, Set accepts_nested_attributes_for :billing_address, :allow_destroy => true, :reject_if => proc {|attributes| Address.reject_address(attributes)} accepts_nested_attributes_for :shipping_address, :allow_destroy => true, :reject_if => proc {|attributes| Address.reject_address(attributes)} - scope :state, lambda { |filters| + scope :state, ->(filters) { where('category IN (?)' + (filters.delete('other') ? ' OR category IS NULL' : ''), filters) } - scope :created_by, lambda { |user| where(:user_id => user.id) } - scope :assigned_to, lambda { |user| where(:assigned_to => user.id) } + scope :created_by, ->(user) { where(:user_id => user.id) } + scope :assigned_to, ->(user) { where(:assigned_to => user.id) } - scope :text_search, lambda { |query| search('name_or_email_cont' => query).result } + scope :text_search, ->(query) { search('name_or_email_cont' => query).result } - scope :visible_on_dashboard, lambda { |user| + scope :visible_on_dashboard, ->(user) { # Show accounts which either belong to the user and are unassigned, or are assigned to the user where('(user_id = :user_id AND assigned_to IS NULL) OR assigned_to = :user_id', :user_id => user.id) } - scope :by_name, order(:name) + scope :by_name, -> { order(:name) } uses_user_permissions acts_as_commentable uses_comment_extensions acts_as_taggable_on :tags @@ -69,11 +69,14 @@ has_ransackable_associations %w(contacts opportunities tags activities emails addresses comments tasks) ransack_can_autocomplete validates_presence_of :name, :message => :missing_account_name - validates_uniqueness_of :name, :scope => :deleted_at if Setting.require_unique_account_names + validates_uniqueness_of :name, :scope => :deleted_at, :if => -> { Setting.require_unique_account_names } + validates :rating, :inclusion => { in: 0..5 }, allow_blank: true + validates :category, :inclusion => { in: Proc.new{ Setting.unroll(:account_category).map{|s| s.last.to_s} } }, allow_blank: true validate :users_for_shared_access + before_save :nullify_blank_category # Default values provided through class methods. #---------------------------------------------------------------------------- def self.per_page ; 20 ; end