Martin Edenhofer 11 лет назад
Родитель
Сommit
e4bfb82e06
1 измененных файлов с 127 добавлено и 1 удалено
  1. 127 1
      app/models/user.rb

+ 127 - 1
app/models/user.rb

@@ -19,6 +19,19 @@ class User < ApplicationModel
 
   store                   :preferences
 
+=begin
+
+fullname of user
+
+  user = User.find(123)
+  result = user.fulename
+
+returns
+
+  result = "Bob Smith"
+
+=end
+
   def fullname
     fullname = ''
     if self.firstname
@@ -33,6 +46,19 @@ class User < ApplicationModel
     return fullname
   end
 
+=begin
+
+check if user is in role
+
+  user = User.find(123)
+  result = user.is_role('Customer')
+
+returns
+
+  result = true|false
+
+=end
+
   def is_role( role_name )
     self.roles.each { |role|
       return role if role.name == role_name
@@ -40,6 +66,18 @@ class User < ApplicationModel
     return false
   end
 
+=begin
+
+authenticate user
+
+  result = User.authenticate(username, password)
+
+returns
+
+  result = user_model # user model if authentication was successfully
+
+=end
+
   def self.authenticate( username, password )
 
     # do not authenticate with nothing
@@ -73,6 +111,18 @@ class User < ApplicationModel
     return user_auth
   end
 
+=begin
+
+authenticate user agains sso
+
+  result = User.sso(sso_params)
+
+returns
+
+  result = user_model # user model if authentication was successfully
+
+=end
+
   def self.sso(params)
 
     # try to login against configure auth backends
@@ -82,6 +132,18 @@ class User < ApplicationModel
     return user_auth
   end
 
+=begin
+
+create user from from omni auth hash
+
+  result = User.create_from_hash!(hash)
+
+returns
+
+  result = user_model # user model if create was successfully
+
+=end
+
   def self.create_from_hash!(hash)
     url = ''
     if hash['info']['urls'] then
@@ -103,6 +165,18 @@ class User < ApplicationModel
 
   end
 
+=begin
+
+send reset password email with token to user
+
+  result = User.password_reset_send(username)
+
+returns
+
+  result = true|false
+
+=end
+
   def self.password_reset_send(username)
     return if !username || username == ''
 
@@ -160,7 +234,18 @@ class User < ApplicationModel
     return true
   end
 
-  # check token
+=begin
+
+check reset password token
+
+  result = User.password_reset_check(token)
+
+returns
+
+  result = user_model # user_model if token was verified
+
+=end
+
   def self.password_reset_check(token)
     user = Token.check( :action => 'PasswordReset', :name => token )
 
@@ -172,6 +257,18 @@ class User < ApplicationModel
     return user
   end
 
+=begin
+
+reset reset password with token and set new password
+
+  result = User.password_reset_via_token(token,password)
+
+returns
+
+  result = user_model # user_model if token was verified
+
+=end
+
   def self.password_reset_via_token(token,password)
 
     # check token
@@ -186,6 +283,22 @@ class User < ApplicationModel
     return user
   end
 
+=begin
+
+search user
+
+  result = User.search(
+    :query        => 'some search term'
+    :limit        => 15,
+    :current_user => user_model,
+  )
+
+returns
+
+  result = [user_model1, user_model2, ...]
+
+=end
+
   def self.search(params)
 
     # get params
@@ -308,6 +421,19 @@ class User < ApplicationModel
     return user
   end
 
+=begin
+
+update last login date (is automatically done by auth and sso backend)
+
+  user = User.find(123)
+  result = user.update_last_login
+
+returns
+
+  result = new_user_model
+
+=end
+
   def update_last_login
     self.last_login = Time.now
     self.save