Show More
Commit Description:
[web] fix time.new, time.now to use gmtime...
Commit Description:
[web] fix time.new, time.now to use gmtime git-svn-id: http://theory.cpe.ku.ac.th/grader/web/trunk@249 6386c4cd-e34a-4fa8-8920-d93eb39b512e
File last commit:
Show/Diff file:
Action:
app/models/user.rb | 89 lines | 1.9 KiB | text/x-ruby | RubyLexer |
pramook
initial commit...
r0 require 'digest/sha1'
class User < ActiveRecord::Base
has_and_belongs_to_many :roles
jittat
[web] improving readability of test_interface, re: ticket #10...
r64 has_many :test_requests, :order => "submitted_at DESC"
jittat
test interface upload...
r36
jittat
[web] added message feature...
r102 has_many :messages,
:class_name => "Message",
:foreign_key => "sender_id",
:order => 'created_at DESC'
has_many :replied_messages,
:class_name => "Message",
:foreign_key => "receiver_id",
:order => 'created_at DESC'
jittat
[web] added site and time out basic functionality...
r85 belongs_to :site
jittat
[web] import from site...
r106 belongs_to :country
jittat
[web] added site and time out basic functionality...
r85
pramook
initial commit...
r0 validates_presence_of :login
validates_presence_of :full_name
jittat
disable fullname editing...
r23 validates_length_of :full_name, :minimum => 1
pramook
initial commit...
r0
validates_presence_of :password, :if => :password_required?
validates_length_of :password, :within => 4..20, :if => :password_required?
validates_confirmation_of :password, :if => :password_required?
attr_accessor :password
before_save :encrypt_new_password
def self.authenticate(login, password)
user = find_by_login(login)
return user if user && user.authenticated?(password)
end
def authenticated?(password)
jittat
[web] added graders_right_to_admin_role, added a few functional tests: main, user_admin, graders, login...
r58 hashed_password == User.encrypt(password,self.salt)
pramook
initial commit...
r0 end
def admin?
self.roles.detect {|r| r.name == 'admin' }
end
jittat
add_email_to_user, fix empty problem for_in_place_editing...
r18 def email_for_editing
jittat
disable fullname editing...
r23 if self.email==nil
"(unknown)"
elsif self.email==''
"(blank)"
else
jittat
add_email_to_user, fix empty problem for_in_place_editing...
r18 self.email
end
end
def email_for_editing=(e)
self.email=e
end
def alias_for_editing
jittat
disable fullname editing...
r23 if self.alias==nil
"(unknown)"
elsif self.alias==''
"(blank)"
else
jittat
add_email_to_user, fix empty problem for_in_place_editing...
r18 self.alias
end
end
def alias_for_editing=(e)
self.alias=e
end
protected
pramook
initial commit...
r0 def encrypt_new_password
return if password.blank?
self.salt = (10+rand(90)).to_s
jittat
[web] added graders_right_to_admin_role, added a few functional tests: main, user_admin, graders, login...
r58 self.hashed_password = User.encrypt(self.password,self.salt)
pramook
initial commit...
r0 end
def password_required?
jittat
[web] added graders_right_to_admin_role, added a few functional tests: main, user_admin, graders, login...
r58 self.hashed_password.blank? || !self.password.blank?
pramook
initial commit...
r0 end
jittat
[web] added graders_right_to_admin_role, added a few functional tests: main, user_admin, graders, login...
r58 def self.encrypt(string,salt)
pramook
initial commit...
r0 Digest::SHA1.hexdigest(salt + string)
end
end