]> git.openstreetmap.org Git - rails.git/blobdiff - app/models/user.rb
Grow text areas automatically in response to input
[rails.git] / app / models / user.rb
index 1f8d326d5dc1c3bf9f66b5fffe3227f5595b8577..3b55040c63cd486906d0e52e1ab0a4f6e9cddf15 100644 (file)
@@ -41,12 +41,15 @@ class User < ActiveRecord::Base
   validates_numericality_of :home_zoom, :only_integer => true, :allow_nil => true
   validates_inclusion_of :preferred_editor, :in => Editors::ALL_EDITORS, :allow_nil => true
 
-  after_initialize :set_creation_time
+  attr_accessible :display_name, :email, :email_confirmation, :openid_url,
+                  :pass_crypt, :pass_crypt_confirmation, :consider_pd
+
+  after_initialize :set_defaults
   before_save :encrypt_password
 
-  has_attached_file :image, :styles => { :thumb => "100x100>" }, 
-    :path => "#{ATTACHMENTS_DIR}/user/image/:id/:filename",
-    :url => "/user/image/:id/:filename"
+  has_attached_file :image, 
+    :default_url => "/assets/:class/:attachment/:style.png",
+    :styles => { :large => "100x100>", :small => "50x50>" }
 
   def self.authenticate(options)
     if options[:username] and options[:password]
@@ -98,6 +101,10 @@ class User < ActiveRecord::Base
     return el1
   end
 
+  def description
+    RichText.new(read_attribute(:description_format), read_attribute(:description))
+  end
+
   def languages
     attribute_present?(:languages) ? read_attribute(:languages).split(/ *, */) : []
   end
@@ -217,8 +224,9 @@ class User < ActiveRecord::Base
 
 private
 
-  def set_creation_time
+  def set_defaults
     self.creation_time = Time.now.getutc unless self.attribute_present?(:creation_time)
+    self.description_format = "markdown" unless self.attribute_present?(:description_format)
   end
 
   def encrypt_password