Class: Releaf::Permissions::Roles::FormBuilder

Inherits:
Builders::FormBuilder
  • Object
show all
Defined in:
app/builders/releaf/permissions/roles/form_builder.rb

Instance Method Summary collapse

Instance Method Details

#controller_definition(controller_name) ⇒ Object



13
14
15
# File 'app/builders/releaf/permissions/roles/form_builder.rb', line 13

def controller_definition(controller_name)
  Releaf::ControllerDefinition.for(controller_name)
end

#permission_itemsObject



25
26
27
28
29
30
# File 'app/builders/releaf/permissions/roles/form_builder.rb', line 25

def permission_items
  Releaf.application.config.available_controllers.inject({}) do |h, controller_name|
    definition = controller_definition(controller_name)
    h.update("controller.#{definition.controller_name}" => definition.localized_name)
  end
end

#render_default_controllerObject



3
4
5
6
7
8
9
10
11
# File 'app/builders/releaf/permissions/roles/form_builder.rb', line 3

def render_default_controller
  controllers = {}
  Releaf.application.config.available_controllers.each do |controller_name|
    definition = controller_definition(controller_name)
    controllers[definition.localized_name] = definition.controller_name
  end

  releaf_item_field(:default_controller, options: {select_options: controllers})
end

#render_permissionsObject



17
18
19
20
21
22
23
# File 'app/builders/releaf/permissions/roles/form_builder.rb', line 17

def render_permissions
  options = {
    items: permission_items,
    field: :permission,
  }
  releaf_associated_set_field(:permissions, options: {association: options})
end