X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/07df3f9809404084435fae270d95f1d45b5f3dd6..e2f1d6017d3e7c243f3e2cdd84e9dbf8378c22b9:/app/models/user.rb?ds=sidebyside diff --git a/app/models/user.rb b/app/models/user.rb index 8a594b01d..889c40451 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -12,11 +12,16 @@ class User < ActiveRecord::Base has_many :tokens, :class_name => "UserToken" has_many :preferences, :class_name => "UserPreference" has_many :changesets, :order => 'created_at DESC' + has_many :note_comments, :foreign_key => :author_id + has_many :notes, :through => :note_comments has_many :client_applications has_many :oauth_tokens, :class_name => "OauthToken", :order => "authorized_at desc", :include => [:client_application] - has_many :active_blocks, :class_name => "UserBlock", :conditions => proc { [ "user_blocks.ends_at > :ends_at or user_blocks.needs_view", { :ends_at => Time.now.getutc } ] } + has_many :blocks, :class_name => "UserBlock" + has_many :blocks_created, :class_name => "UserBlock", :foreign_key => :creator_id + has_many :blocks_revoked, :class_name => "UserBlock", :foreign_key => :revoker_id + has_many :roles, :class_name => "UserRole" scope :visible, where(:status => ["pending", "active", "confirmed"]) @@ -76,7 +81,7 @@ class User < ActiveRecord::Base user = nil end - token.update_attribute(:expiry, 1.week.from_now) if token and user + token.update_column(:expiry, 1.week.from_now) if token and user return user end @@ -182,7 +187,7 @@ class User < ActiveRecord::Base # returns the first active block which would require users to view # a message, or nil if there are none. def blocked_on_view - active_blocks.detect { |b| b.needs_view? } + blocks.active.detect { |b| b.needs_view? } end ## @@ -195,6 +200,7 @@ class User < ActiveRecord::Base self.image = nil self.email_valid = false self.new_email = nil + self.openid_url = nil self.status = "deleted" self.save end