class User

Attributes

login[R]

Public Class Methods

new(user) click to toggle source
# File lib/satops/operator.rb, line 1135
def initialize(user)
  @login=user['login']
  @first_name=user['first_name']
  @last_name=user['last_name']
  @email=user['email']
  @org_id=user['org_id']
  @prefix=user['prefix']
  @last_login_date=user['last_login_date']
  @created_date=user['created_date']
  @enabled=user['enabled']
  @use_pam=user['use_pam']
  @roles=user['roles']
  @assigned_system_groups=user['assigned_system_groups']
  @default_system_groups=user['default_system_groups']
end
reader(sat, login) click to toggle source
# File lib/satops/operator.rb, line 1126
def self.reader(sat, login)
  user={'login'=>login}
  user.merge!(sat.user.getDetails(login))
  user.merge!({'roles'=>sat.user.listRoles(login)})
  user.merge!({'assigned_system_groups'=>sat.user.listAssignedSystemGroups(login)})
  user.merge!({'default_system_groups'=>sat.user.listDefaultSystemGroups(login)})
  user
end

Public Instance Methods

common_update(sat) click to toggle source
# File lib/satops/operator.rb, line 1151
def common_update(sat)
  # Enable/Disable
  if @enabled
    sat.user.enable(@login)
  else
    sat.user.disable(@login)
  end

  # Adding roles
  @roles.each do |role|
    sat.user.addRole(@login, role)
  end

  # Assigned System Groups
  sat.user.addAssignedSystemGroups(@login, Helpers.filter(@assigned_system_groups, 'name'), false) unless @assigned_system_groups.empty?

  # Default System Groups
  sat.user.addDefaultSystemGroups(@login, Helpers.filter(@default_system_groups, 'name')) unless @default_system_groups.empty?
end
create(sat) click to toggle source
# File lib/satops/operator.rb, line 1171
def create(sat)
 @use_pam
  if @use_pam
    sat.user.create(@login, "", @first_name, @last_name, @email, 1)
  else
    # When creating user on target, the passwor comes from configuration
    # because there no API to read it.
    password=Users.password
    sat.user.create(@login, password, @first_name, @last_name, @email, 0)
  end
  sat.user.setDetails(@login, {'prefix' => @prefix}) unless @prefix.empty?
  common_update(sat)
end
update(sat) click to toggle source
# File lib/satops/operator.rb, line 1185
def update(sat)
  @prefix='' unless !@prefix.empty!
  # We ignore password update - Ain't any API for it!
  sat.user.setDetails(@login, {'first_name' => @first_name, 'last_name' => @last_name, 'email' => @email, 'prefix' => @prefix})
  sat.user.listRoles(login).each do |role|
    sat.user.removeRole(login, role)
  end
  common_update(sat)
end