Class: KirguduBase::Security::User

Inherits:
BaseModel
  • Object
show all
Includes:
Concerns::Models::CreatedBy, Concerns::Models::UpdatedBy
Defined in:
app/models/kirgudu_base/security/user.rb

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from BaseModel

belongs_to_module?, #belongs_to_module?, for_form_params, #for_form_params, for_sql_order_by, #for_sql_order_by, #for_sql_order_by_inverted, for_sql_order_by_inverted, get_entries, get_entry_by_id, get_entry_name, #i18n_yes_no_label, #is_active_label, #is_html_label, is_subclass?, #is_subclass?, #mass_assign, #merge_options_for_json, #set_options_for_json, #to_i18n, to_i18n

Methods included from Models::UncloneableProperties

#unclonable_properties_set, #unclonable_property

Methods included from Models::BeforeQuery

#before_query, #filters_set_before_query

Class Method Details

.apply_filters_to_query(query, filters = {}) ⇒ Object



43
44
45
46
47
48
49
50
51
52
53
54
55
56
# File 'app/models/kirgudu_base/security/user.rb', line 43

def self.apply_filters_to_query(query, filters={})
  filters ||= {}

  filters.merge!({
          order:
            {
              last_name: :asc,
              first_name: :asc
            }
                })


  super(query, filters)
end

.create_system_user(email) ⇒ Object



65
66
67
68
69
# File 'app/models/kirgudu_base/security/user.rb', line 65

def self.create_system_user(email)
  new_user = User.new(first_name: "SYSTEM", email: email, password: ::ChupakabraTools::Security.get_password_hash(SecureRandom.uuid), is_system: true, uin: SecureRandom.uuid)
  new_user.save
  new_user
end

.get_by_email(email) ⇒ Object

DATABASE METHODS #################################



61
62
63
# File 'app/models/kirgudu_base/security/user.rb', line 61

def self.get_by_email(email)
  self.where(email: email.to_s).first if email
end

Instance Method Details

#as_json(options = { }) ⇒ Object



101
102
103
104
105
106
# File 'app/models/kirgudu_base/security/user.rb', line 101

def as_json(options = { })
  super(merge_options_for_json(options,{
                                 :methods => [:full_name],
                                 except: [:password]
                               }))
end

#full_nameObject



80
81
82
83
84
85
86
# File 'app/models/kirgudu_base/security/user.rb', line 80

def full_name
  nm = self.first_name
  if self.last_name
    nm = "#{self.last_name} #{nm}"
  end
  nm
end

#name_for_breadcrumbsObject



92
93
94
# File 'app/models/kirgudu_base/security/user.rb', line 92

def name_for_breadcrumbs
  full_name
end

#status_nameObject



88
89
90
# File 'app/models/kirgudu_base/security/user.rb', line 88

def status_name
  #
end

#to_sObject



96
97
98
# File 'app/models/kirgudu_base/security/user.rb', line 96

def to_s
  self.full_name
end

#update_password!(password) ⇒ Object



72
73
74
75
# File 'app/models/kirgudu_base/security/user.rb', line 72

def update_password!(password)
  self.password = ::ChupakabraTools::Security.get_password_hash(password)
  self.save!
end