Module: Tramway::ActionsHelper

Defined in:
app/helpers/tramway/actions_helper.rb

Instance Method Summary collapse

Instance Method Details

#create_is_available?(model_class) ⇒ Boolean

Returns:

  • (Boolean)


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

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

#destroy_is_available?(object) ⇒ Boolean

Returns:

  • (Boolean)


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

def destroy_is_available?(object)
  Tramway.action_is_available?(
    object,
    project: (@application_engine || @application.name),
    model_name: object.model.class.name,
    role: current_user.role,
    action: :destroy
  )
end

#edit_button(url:, button_options:, &block) ⇒ Object

delete_button is in smart-buttons gem



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

def edit_button(url:, button_options:, &block)
  link_to(url, **button_options, &block)
end

#habtm_destroy_is_available?(association_object, main_object) ⇒ Boolean

Returns:

  • (Boolean)


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

def habtm_destroy_is_available?(association_object, main_object)
  main_model_name = main_object.model.class.to_s.underscore.pluralize

  Tramway.forms&.include?("#{main_model_name}/remove_#{association_object.model.class.to_s.underscore}")
end

#update_is_available?(object) ⇒ Boolean

Returns:

  • (Boolean)


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

def update_is_available?(object)
  Tramway.action_is_available?(
    object,
    project: (@application_engine || @application.name),
    model_name: object.model.class.name,
    role: current_user.role,
    action: :update
  )
end