X-Git-Url: https://git.openstreetmap.org/rails.git/blobdiff_plain/f1a0331081794ce17fd93fd2f06d89e6d6df8cba..f508cfb05f533e5e149db733dfd42b285f452746:/app/models/user.rb?ds=sidebyside diff --git a/app/models/user.rb b/app/models/user.rb index 5a277c9b4..85d971316 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -1,6 +1,8 @@ class User < ActiveRecord::Base require 'xml/libxml' + belongs_to :language, :foreign_key => 'locale' + has_many :traces has_many :diary_entries, :order => 'created_at DESC' has_many :messages, :foreign_key => :to_user_id, :order => 'sent_on DESC' @@ -42,13 +44,7 @@ class User < ActiveRecord::Base def self.authenticate(options) if options[:username] and options[:password] - environment = Rails.configuration.environment - adapter = Rails.configuration.database_configuration[environment]["adapter"] - if adapter == "postgresql" - user = find(:first, :conditions => ["email ILIKE ? OR display_name ILIKE ?", options[:username], options[:username]]) - else - user = find(:first, :conditions => ["email = ? OR display_name = ?", options[:username], options[:username]]) - end + user = find(:first, :conditions => ["email = ? OR display_name = ?", options[:username], options[:username]]) user = nil if user and user.pass_crypt != OSM::encrypt_password(options[:password], user.pass_salt) elsif options[:token] token = UserToken.find(:first, :include => :user, :conditions => ["user_tokens.token = ?", options[:token]]) @@ -119,7 +115,7 @@ class User < ActiveRecord::Base def delete self.active = false self.display_name = "user_#{self.id}" - self.description = nil + self.description = "" self.home_lat = nil self.home_lon = nil self.image = nil