diff --git a/app/models/user.rb b/app/models/user.rb index c859994ed..2f88713ca 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -132,27 +132,27 @@ class User < Principal after_save :update_notified_project_ids, :destroy_tokens, :deliver_security_notification after_destroy :deliver_security_notification - scope :admin, lambda {|*args| + scope :admin, (lambda do |*args| admin = args.size > 0 ? !!args.first : true where(:admin => admin) - } - scope :in_group, lambda {|group| + end) + scope :in_group, (lambda do |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) - } - scope :not_in_group, lambda {|group| + end) + scope :not_in_group, (lambda do |group| group_id = group.is_a?(Group) ? group.id : group.to_i where("#{User.table_name}.id NOT IN (SELECT gu.user_id FROM #{table_name_prefix}groups_users#{table_name_suffix} gu WHERE gu.group_id = ?)", group_id) - } + end) scope :sorted, lambda {order(*User.fields_for_order_statement)} - scope :having_mail, lambda {|arg| + scope :having_mail, (lambda do |arg| addresses = Array.wrap(arg).map {|a| a.to_s.downcase} if addresses.any? joins(:email_addresses).where("LOWER(#{EmailAddress.table_name}.address) IN (?)", addresses).distinct else none end - } + end) def set_mail_notification self.mail_notification = Setting.default_notification_option if self.mail_notification.blank?