Module: Adminpanel::ApplicationHelper

Includes:
BreadcrumbsHelper, SessionsHelper, SharedPagesHelper
Included in:
Ability, AdminpanelFormBuilder, Permission, SessionsController
Defined in:
app/helpers/adminpanel/application_helper.rb

Instance Method Summary collapse

Methods included from SharedPagesHelper

#active_tab, #belong_to_object_name, #class_name_downcase, #demodulize_class, #field_value, #get_oauth_link, #is_customized_field?, #pluralize_model, #relationship_ids, #table_type

Methods included from BreadcrumbsHelper

#breadcrumb_add, #render_breadcrumb

Methods included from SessionsHelper

#current_user, #current_user=, #sign_in, #sign_out, #signed_in?

Instance Method Details

#adminpanel_form_for(object, *args, &block) ⇒ Object



7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# File 'app/helpers/adminpanel/application_helper.rb', line 7

def adminpanel_form_for(object, *args, &block)
  options = args.extract_options!
  options.reverse_merge! builder: Adminpanel::AdminpanelFormBuilder, html: { class: 'form-horizontal' }
  if @model.has_gallery?
    options[:html][:"data-parent-object-class"] = @model.to_s
    options[:html][:"data-parent-object-id"] = object.id
    options[:html][:"data-dropzone"] = @model.to_s.demodulize.underscore
    options[:html][:"data-dropzone-galleries"] = @model.galleries.to_json
    if @resource_instance.is_a? Adminpanel::Page
      options[:html][:"data-dropzone-url"] = url_for(controller: :pages, action: :add_to_gallery)
      options[:html][:"data-dropzone-delete-url"] = url_for(controller: :pages, action: :remove_image)
    else
      options[:html][:"data-dropzone-url"] = url_for(controller: @model.to_controller_name, action: :add_to_gallery)
      options[:html][:"data-dropzone-delete-url"] = url_for(controller: @model.to_controller_name, action: :remove_image)
    end
  end
  if @model.has_trix_gallery?
    options[:html][:"data-trix-url"] = url_for(controller: @model.to_controller_name, action: :add_to_gallery)
    options[:html][:"data-parent-class"] ||= @model.to_s
    options[:html][:"data-params-key"] ||= @model.to_s.demodulize.underscore
  end
  if @resource_instance.is_a? Adminpanel::Page
    options[:url] = adminpanel.page_path(@resource_instance)
  end

  form_for(object, *(args << options), &block)
end

#full_title(page_title) ⇒ Object



35
36
37
38
39
40
41
42
# File 'app/helpers/adminpanel/application_helper.rb', line 35

def full_title(page_title)
  base_title = I18n.t("panel-title")
  if page_title.empty?
    base_title
  else
    "#{page_title} | #{base_title}"
  end
end

#is_current_section?(display_name) ⇒ Boolean

Returns:

  • (Boolean)


44
45
46
# File 'app/helpers/adminpanel/application_helper.rb', line 44

def is_current_section?(display_name)
  display_name == params[:controller].classify.constantize.display_name ? 'active' : nil
end


48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
# File 'app/helpers/adminpanel/application_helper.rb', line 48

def link_to_add_fields(name, f, association, hidden='not-hidden')
  new_object = f.object.send(association).klass.new
  id = new_object.object_id
  fields = f.fields_for(association, new_object, child_index: id) do |builder|
    render('adminpanel/shared/image_fields', f: builder)
  end
  add_another_image_button = (:div, id: 'new-image-button') do
    (:button, class: 'btn btn-success btn-mini') do
      (:h6, name)
    end
  end
  link_to(
    add_another_image_button,
    '#',
    class: "add-fields #{hidden}",
    id: 'add-image-link',
    data: {
      id: id,
      fields: fields.gsub("\n", "")
    }
  )
end

#main_root_pathObject



79
80
81
82
83
84
85
# File 'app/helpers/adminpanel/application_helper.rb', line 79

def main_root_path
  if main_app.respond_to?(root_path)
    main_app.root_path
  else
    "/"
  end
end

#route_symbol(model_name) ⇒ Object



71
72
73
# File 'app/helpers/adminpanel/application_helper.rb', line 71

def route_symbol(model_name)
  model_name.pluralize.downcase
end

#symbol_class(symbol_model) ⇒ Object



75
76
77
# File 'app/helpers/adminpanel/application_helper.rb', line 75

def symbol_class(symbol_model)
  "adminpanel/#{symbol_model.to_s.singularize}".classify.constantize
end