Class: ErpApp::Desktop::UserManagement::RoleManagementController

Inherits:
BaseController show all
Defined in:
app/controllers/erp_app/desktop/user_management/role_management_controller.rb

Instance Method Summary collapse

Methods inherited from BaseController

#delete, #get_details, #index, #new

Methods inherited from BaseController

#index

Instance Method Details

#available_rolesObject



6
7
8
9
10
11
12
13
14
15
16
# File 'app/controllers/erp_app/desktop/user_management/role_management_controller.rb', line 6

def available_roles
  user_id = params[:user_id]
  roles = SecurityRole.order('description ASC').all

  unless user_id.empty?
    current_role_ids = User.find(user_id).roles.collect{|r| r.id}
    roles.delete_if{|r| current_role_ids.include?(r.id)}
  end

  render :json => roles.map{|role| {:text => role.description, :iconCls => 'icon-user', :leaf => true, :role_id => role.id}}
end

#current_rolesObject



18
19
20
21
22
23
24
25
26
27
# File 'app/controllers/erp_app/desktop/user_management/role_management_controller.rb', line 18

def current_roles
  user_id = params[:user_id]
  roles = []

  unless user_id.empty?
    roles = User.find(user_id).roles.order('description ASC')
  end

  render :json => roles.map{|role| {:text => role.description, :iconCls => 'icon-user', :leaf => true, :role_id => role.id}}
end

#save_rolesObject



29
30
31
32
33
34
35
36
37
38
39
40
41
42
# File 'app/controllers/erp_app/desktop/user_management/role_management_controller.rb', line 29

def save_roles
     role_ids = params[:role_ids]
     user_id  = params[:user_id]

     user = User.find(user_id)
     user.party.remove_all_roles
     unless role_ids.blank?
       roles = SecurityRole.where("id in (#{role_ids.join(',')})").all
       user.party.add_roles(roles)
     end
     user.party.save

     render :json => {:success => true, :message => 'Roles Saved'}
end