Module: Tramway::Admin::ActionsHelper

Included in:
ApplicationHelper
Defined in:
app/helpers/tramway/admin/actions_helper.rb

Instance Method Summary collapse

Instance Method Details

#create_is_available?(association_class) ⇒ Boolean

Returns:

  • (Boolean)


24
25
26
27
28
29
30
31
32
# File 'app/helpers/tramway/admin/actions_helper.rb', line 24

def create_is_available?(association_class)
  ::Tramway::Admin.action_is_available?(
    nil,
    project: (@application_engine || @application.name),
    model_name: association_class,
    role: current_admin.role,
    action: :create
  )
end

#destroy_is_available?(association_object, _main_object) ⇒ Boolean

Returns:

  • (Boolean)


4
5
6
7
8
9
10
11
12
# File 'app/helpers/tramway/admin/actions_helper.rb', line 4

def destroy_is_available?(association_object, _main_object)
  ::Tramway::Admin.action_is_available?(
    association_object,
    project: (@application_engine || @application.name),
    model_name: association_object.model.class.name,
    role: current_admin.role,
    action: :destroy
  )
end

#edit_button(url:, button_options:) ⇒ Object

delete_button is in smart-buttons gem



36
37
38
# File 'app/helpers/tramway/admin/actions_helper.rb', line 36

def edit_button(url:, button_options:)
  link_to(url, **button_options) { yield }
end

#habtm_destroy_is_available?(association_object, main_object) ⇒ Boolean

Returns:

  • (Boolean)


40
41
42
# File 'app/helpers/tramway/admin/actions_helper.rb', line 40

def habtm_destroy_is_available?(association_object, main_object)
  ::Tramway::Admin.forms&.include?("#{main_object.model.class.to_s.underscore.pluralize}/remove_#{association_object.model.class.to_s.underscore}")
end

#update_is_available?(association_object, _main_object) ⇒ Boolean

Returns:

  • (Boolean)


14
15
16
17
18
19
20
21
22
# File 'app/helpers/tramway/admin/actions_helper.rb', line 14

def update_is_available?(association_object, _main_object)
  ::Tramway::Admin.action_is_available?(
    association_object,
    project: (@application_engine || @application.name),
    model_name: association_object.model.class.name,
    role: current_admin.role,
    action: :update
  )
end