Class: EasyAdmin::Permissions::UserRoleAssignmentComponent

Inherits:
BaseComponent
  • Object
show all
Defined in:
app/components/easy_admin/permissions/user_role_assignment_component.rb

Instance Method Summary collapse

Methods inherited from BaseComponent

#easy_admin_url_helpers, #helpers, #rails_url_helpers

Methods included from Component

#current_user_can?, #current_user_has_role?, #if_can, #if_has_role, #permission_attrs, #permission_button, #permission_case, #permission_classes, #permission_field, #permission_link, #unless_can, #unless_has_role

Methods included from FieldsHelper

#field_component, #render_field

Methods included from DashboardsHelper

#delta_badge_classes, #metric_value_classes, #render_card, #sparkline_color, #sparkline_points, #trend_direction, #trend_icon, #trend_indicator_classes

Constructor Details

#initialize(user:, form: nil) ⇒ UserRoleAssignmentComponent

Returns a new instance of UserRoleAssignmentComponent.



4
5
6
7
8
9
10
11
12
13
14
15
# File 'app/components/easy_admin/permissions/user_role_assignment_component.rb', line 4

def initialize(user:, form: nil)
  @user = user
  @form = form
  @current_role = user&.respond_to?(:role) ? user.role : nil
  
  # Get actual permissions from permissions_cache 
  @user_permissions_cache = get_user_permissions_from_cache(user)
  
  # Get all available resources and generate permissions dynamically
  @available_resources = EasyAdmin::Permissions.available_resources
  @all_permissions = generate_permissions_from_resources
end

Instance Method Details

#view_templateObject



17
18
19
20
21
22
23
24
25
26
27
28
29
# File 'app/components/easy_admin/permissions/user_role_assignment_component.rb', line 17

def view_template
  div(class: "space-y-6") do
    # Current Role Section
    render_current_role_section
    
    # Permissions Section
    if @form
      render_permissions_form_section
    else
      render_permissions_display_section
    end
  end
end