activeadmin 2.8.0 → 2.9.0
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of activeadmin might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/CHANGELOG.md +44 -0
- data/CONTRIBUTING.md +6 -6
- data/README.md +3 -3
- data/app/assets/javascripts/active_admin/base.js +1 -1
- data/app/views/active_admin/devise/mailer/reset_password_instructions.html.erb +1 -1
- data/app/views/active_admin/devise/mailer/unlock_instructions.html.erb +2 -2
- data/docs/5-forms.md +6 -1
- data/docs/6-show-pages.md +12 -0
- data/docs/Gemfile +2 -2
- data/docs/Gemfile.lock +23 -22
- data/lib/active_admin/application.rb +8 -8
- data/lib/active_admin/application_settings.rb +3 -3
- data/lib/active_admin/base_controller/authorization.rb +4 -3
- data/lib/active_admin/base_controller.rb +4 -4
- data/lib/active_admin/batch_actions/controller.rb +1 -1
- data/lib/active_admin/batch_actions/resource_extension.rb +9 -8
- data/lib/active_admin/batch_actions/views/batch_action_form.rb +2 -2
- data/lib/active_admin/batch_actions/views/batch_action_selector.rb +1 -1
- data/lib/active_admin/batch_actions/views/selection_cells.rb +3 -3
- data/lib/active_admin/cancan_adapter.rb +1 -1
- data/lib/active_admin/dependency.rb +4 -4
- data/lib/active_admin/devise.rb +5 -5
- data/lib/active_admin/dsl.rb +1 -1
- data/lib/active_admin/dynamic_settings_node.rb +2 -2
- data/lib/active_admin/engine.rb +10 -8
- data/lib/active_admin/error.rb +0 -2
- data/lib/active_admin/filters/active.rb +1 -1
- data/lib/active_admin/filters/active_filter.rb +5 -6
- data/lib/active_admin/filters/active_sidebar.rb +5 -5
- data/lib/active_admin/filters/forms.rb +3 -3
- data/lib/active_admin/filters/formtastic_addons.rb +1 -6
- data/lib/active_admin/filters.rb +6 -6
- data/lib/active_admin/form_builder.rb +21 -17
- data/lib/active_admin/generators/boilerplate.rb +1 -1
- data/lib/active_admin/inputs/datepicker_input.rb +1 -1
- data/lib/active_admin/inputs/filters/base/search_method_select.rb +2 -2
- data/lib/active_admin/inputs/filters/base.rb +1 -1
- data/lib/active_admin/inputs/filters/boolean_input.rb +1 -1
- data/lib/active_admin/inputs/filters/check_boxes_input.rb +1 -1
- data/lib/active_admin/inputs/filters/select_input.rb +2 -2
- data/lib/active_admin/localizers/resource_localizer.rb +3 -3
- data/lib/active_admin/localizers.rb +1 -1
- data/lib/active_admin/menu.rb +1 -1
- data/lib/active_admin/menu_item.rb +1 -1
- data/lib/active_admin/namespace.rb +7 -7
- data/lib/active_admin/namespace_settings.rb +5 -5
- data/lib/active_admin/order_clause.rb +1 -1
- data/lib/active_admin/orm/active_record/comments/views/active_admin_comments.rb +17 -17
- data/lib/active_admin/orm/active_record/comments/views.rb +2 -2
- data/lib/active_admin/orm/active_record/comments.rb +13 -13
- data/lib/active_admin/orm/active_record.rb +1 -1
- data/lib/active_admin/page.rb +1 -1
- data/lib/active_admin/pundit_adapter.rb +1 -1
- data/lib/active_admin/resource/action_items.rb +4 -4
- data/lib/active_admin/resource/attributes.rb +1 -1
- data/lib/active_admin/resource/belongs_to.rb +2 -2
- data/lib/active_admin/resource/controllers.rb +1 -1
- data/lib/active_admin/resource/naming.rb +2 -2
- data/lib/active_admin/resource/routes.rb +1 -3
- data/lib/active_admin/resource/sidebars.rb +1 -1
- data/lib/active_admin/resource.rb +17 -17
- data/lib/active_admin/resource_controller/decorators.rb +1 -3
- data/lib/active_admin/resource_controller/streaming.rb +7 -6
- data/lib/active_admin/resource_controller.rb +9 -9
- data/lib/active_admin/scope.rb +1 -1
- data/lib/active_admin/version.rb +1 -1
- data/lib/active_admin/view_factory.rb +1 -1
- data/lib/active_admin/view_helpers/breadcrumb_helper.rb +2 -2
- data/lib/active_admin/view_helpers/display_helper.rb +2 -2
- data/lib/active_admin/view_helpers/download_format_links_helper.rb +1 -1
- data/lib/active_admin/view_helpers/fields_for.rb +1 -1
- data/lib/active_admin/view_helpers.rb +1 -1
- data/lib/active_admin/views/components/active_admin_form.rb +5 -5
- data/lib/active_admin/views/components/attributes_table.rb +3 -3
- data/lib/active_admin/views/components/blank_slate.rb +1 -1
- data/lib/active_admin/views/components/dropdown_menu.rb +6 -6
- data/lib/active_admin/views/components/index_list.rb +2 -2
- data/lib/active_admin/views/components/menu.rb +1 -1
- data/lib/active_admin/views/components/menu_item.rb +3 -3
- data/lib/active_admin/views/components/paginated_collection.rb +6 -6
- data/lib/active_admin/views/components/panel.rb +1 -1
- data/lib/active_admin/views/components/scopes.rb +5 -5
- data/lib/active_admin/views/components/site_title.rb +1 -1
- data/lib/active_admin/views/components/status_tag.rb +11 -11
- data/lib/active_admin/views/components/table_for.rb +7 -7
- data/lib/active_admin/views/components/tabs.rb +2 -2
- data/lib/active_admin/views/footer.rb +2 -1
- data/lib/active_admin/views/header.rb +2 -2
- data/lib/active_admin/views/index_as_blog.rb +1 -1
- data/lib/active_admin/views/index_as_grid.rb +1 -1
- data/lib/active_admin/views/index_as_table.rb +11 -11
- data/lib/active_admin/views/pages/base.rb +6 -6
- data/lib/active_admin/views/pages/index.rb +10 -9
- data/lib/active_admin/views/tabbed_navigation.rb +2 -2
- data/lib/active_admin/views/title_bar.rb +1 -1
- data/lib/active_admin/views.rb +1 -1
- data/lib/active_admin.rb +55 -56
- data/lib/activeadmin.rb +1 -1
- data/lib/generators/active_admin/assets/assets_generator.rb +2 -2
- data/lib/generators/active_admin/devise/devise_generator.rb +1 -1
- data/lib/generators/active_admin/install/install_generator.rb +7 -7
- data/lib/generators/active_admin/page/page_generator.rb +1 -1
- data/lib/generators/active_admin/resource/resource_generator.rb +2 -2
- data/lib/generators/active_admin/webpacker/webpacker_generator.rb +7 -7
- data/lib/ransack_ext.rb +8 -8
- metadata +5 -39
@@ -5,11 +5,11 @@ module ActiveAdmin
|
|
5
5
|
builder_method :status_tag
|
6
6
|
|
7
7
|
def tag_name
|
8
|
-
|
8
|
+
"span"
|
9
9
|
end
|
10
10
|
|
11
11
|
def default_class_name
|
12
|
-
|
12
|
+
"status_tag"
|
13
13
|
end
|
14
14
|
|
15
15
|
# @overload status_tag(status, options = {})
|
@@ -49,12 +49,12 @@ module ActiveAdmin
|
|
49
49
|
|
50
50
|
def convert_to_boolean_status(status)
|
51
51
|
case status
|
52
|
-
when true,
|
53
|
-
|
54
|
-
when false,
|
55
|
-
|
52
|
+
when true, "true"
|
53
|
+
"Yes"
|
54
|
+
when false, "false"
|
55
|
+
"No"
|
56
56
|
when nil
|
57
|
-
|
57
|
+
"Unset"
|
58
58
|
else
|
59
59
|
status
|
60
60
|
end
|
@@ -62,12 +62,12 @@ module ActiveAdmin
|
|
62
62
|
|
63
63
|
def status_to_class(status)
|
64
64
|
case status
|
65
|
-
when
|
66
|
-
|
65
|
+
when "Unset"
|
66
|
+
"unset no"
|
67
67
|
when String, Symbol
|
68
|
-
status.to_s.titleize.gsub(/\s/,
|
68
|
+
status.to_s.titleize.gsub(/\s/, "").underscore
|
69
69
|
else
|
70
|
-
|
70
|
+
""
|
71
71
|
end
|
72
72
|
end
|
73
73
|
end
|
@@ -4,7 +4,7 @@ module ActiveAdmin
|
|
4
4
|
builder_method :table_for
|
5
5
|
|
6
6
|
def tag_name
|
7
|
-
|
7
|
+
"table"
|
8
8
|
end
|
9
9
|
|
10
10
|
def build(obj, *attrs)
|
@@ -69,7 +69,7 @@ module ActiveAdmin
|
|
69
69
|
sort_key = sortable? && col.sortable? && col.sort_key
|
70
70
|
params = request.query_parameters.except :page, :order, :commit, :format
|
71
71
|
|
72
|
-
classes <<
|
72
|
+
classes << "sortable" if sort_key
|
73
73
|
classes << "sorted-#{current_sort[1]}" if sort_key && current_sort[0] == sort_key
|
74
74
|
classes << col.html_class
|
75
75
|
|
@@ -86,13 +86,13 @@ module ActiveAdmin
|
|
86
86
|
@tbody = tbody do
|
87
87
|
# Build enough rows for our collection
|
88
88
|
@collection.each do |elem|
|
89
|
-
classes = [helpers.cycle(
|
89
|
+
classes = [helpers.cycle("odd", "even")]
|
90
90
|
|
91
91
|
if @row_class
|
92
92
|
classes << @row_class.call(elem)
|
93
93
|
end
|
94
94
|
|
95
|
-
tr(class: classes.flatten.join(
|
95
|
+
tr(class: classes.flatten.join(" "), id: dom_id_for(elem))
|
96
96
|
end
|
97
97
|
end
|
98
98
|
end
|
@@ -126,8 +126,8 @@ module ActiveAdmin
|
|
126
126
|
# 'desc' it will return 'asc'
|
127
127
|
def order_for_sort_key(sort_key)
|
128
128
|
current_key, current_order = current_sort
|
129
|
-
return
|
130
|
-
current_order ==
|
129
|
+
return "desc" unless current_key == sort_key
|
130
|
+
current_order == "desc" ? "asc" : "desc"
|
131
131
|
end
|
132
132
|
|
133
133
|
def default_options
|
@@ -150,7 +150,7 @@ module ActiveAdmin
|
|
150
150
|
elsif @title.present?
|
151
151
|
html_classes << "col-#{@title.to_s.parameterize(separator: "_")}"
|
152
152
|
end
|
153
|
-
@html_class = html_classes.join(
|
153
|
+
@html_class = html_classes.join(" ")
|
154
154
|
@data = args[1] || args[0]
|
155
155
|
@data = block if block
|
156
156
|
@resource_class = args[2]
|
@@ -10,8 +10,8 @@ module ActiveAdmin
|
|
10
10
|
end
|
11
11
|
|
12
12
|
def build(&block)
|
13
|
-
@menu = ul(class:
|
14
|
-
@tabs_content = div(class:
|
13
|
+
@menu = ul(class: "nav nav-tabs", role: "tablist")
|
14
|
+
@tabs_content = div(class: "tab-content")
|
15
15
|
end
|
16
16
|
|
17
17
|
def build_menu_item(title, options, &block)
|
@@ -10,8 +10,8 @@ module ActiveAdmin
|
|
10
10
|
@utility_menu = @namespace.fetch_menu(:utility_navigation)
|
11
11
|
|
12
12
|
site_title @namespace
|
13
|
-
global_navigation @menu, class:
|
14
|
-
utility_navigation @utility_menu, id: "utility_nav", class:
|
13
|
+
global_navigation @menu, class: "header-item tabs"
|
14
|
+
utility_navigation @utility_menu, id: "utility_nav", class: "header-item tabs"
|
15
15
|
end
|
16
16
|
|
17
17
|
end
|
@@ -278,13 +278,13 @@ module ActiveAdmin
|
|
278
278
|
# Display a column for checkbox
|
279
279
|
def selectable_column
|
280
280
|
return unless active_admin_config.batch_actions.any?
|
281
|
-
column resource_selection_toggle_cell, class:
|
281
|
+
column resource_selection_toggle_cell, class: "col-selectable", sortable: false do |resource|
|
282
282
|
resource_selection_cell resource
|
283
283
|
end
|
284
284
|
end
|
285
285
|
|
286
286
|
def index_column(start_value = 1)
|
287
|
-
column
|
287
|
+
column "#", class: "col-index", sortable: false do |resource|
|
288
288
|
@collection.offset_value + @collection.index(resource) + start_value
|
289
289
|
end
|
290
290
|
end
|
@@ -293,9 +293,9 @@ module ActiveAdmin
|
|
293
293
|
def id_column
|
294
294
|
raise "#{resource_class.name} has no primary_key!" unless resource_class.primary_key
|
295
295
|
column(resource_class.human_attribute_name(resource_class.primary_key), sortable: resource_class.primary_key) do |resource|
|
296
|
-
if controller.action_methods.include?(
|
296
|
+
if controller.action_methods.include?("show")
|
297
297
|
link_to resource.id, resource_path(resource), class: "resource_id_link"
|
298
|
-
elsif controller.action_methods.include?(
|
298
|
+
elsif controller.action_methods.include?("edit")
|
299
299
|
link_to resource.id, edit_resource_path(resource), class: "resource_id_link"
|
300
300
|
else
|
301
301
|
resource.id
|
@@ -304,7 +304,7 @@ module ActiveAdmin
|
|
304
304
|
end
|
305
305
|
|
306
306
|
def default_actions
|
307
|
-
raise
|
307
|
+
raise "`default_actions` is no longer provided in ActiveAdmin 1.x. Use `actions` instead."
|
308
308
|
end
|
309
309
|
|
310
310
|
# Add links to perform actions.
|
@@ -344,12 +344,12 @@ module ActiveAdmin
|
|
344
344
|
#
|
345
345
|
# ```
|
346
346
|
def actions(options = {}, &block)
|
347
|
-
name = options.delete(:name) {
|
347
|
+
name = options.delete(:name) { "" }
|
348
348
|
defaults = options.delete(:defaults) { true }
|
349
349
|
dropdown = options.delete(:dropdown) { false }
|
350
|
-
dropdown_name = options.delete(:dropdown_name) { I18n.t
|
350
|
+
dropdown_name = options.delete(:dropdown_name) { I18n.t "active_admin.dropdown_actions.button_label", default: "Actions" }
|
351
351
|
|
352
|
-
options[:class] ||=
|
352
|
+
options[:class] ||= "col-actions"
|
353
353
|
|
354
354
|
column name, options do |resource|
|
355
355
|
if dropdown
|
@@ -373,13 +373,13 @@ module ActiveAdmin
|
|
373
373
|
|
374
374
|
def defaults(resource, options = {})
|
375
375
|
localizer = ActiveAdmin::Localizers.resource(active_admin_config)
|
376
|
-
if controller.action_methods.include?(
|
376
|
+
if controller.action_methods.include?("show") && authorized?(ActiveAdmin::Auth::READ, resource)
|
377
377
|
item localizer.t(:view), resource_path(resource), class: "view_link #{options[:css_class]}", title: localizer.t(:view)
|
378
378
|
end
|
379
|
-
if controller.action_methods.include?(
|
379
|
+
if controller.action_methods.include?("edit") && authorized?(ActiveAdmin::Auth::UPDATE, resource)
|
380
380
|
item localizer.t(:edit), edit_resource_path(resource), class: "edit_link #{options[:css_class]}", title: localizer.t(:edit)
|
381
381
|
end
|
382
|
-
if controller.action_methods.include?(
|
382
|
+
if controller.action_methods.include?("destroy") && authorized?(ActiveAdmin::Auth::DESTROY, resource)
|
383
383
|
item localizer.t(:delete), resource_path(resource), class: "delete_link #{options[:css_class]}", title: localizer.t(:delete),
|
384
384
|
method: :delete, data: { confirm: localizer.t(:delete_confirmation) }
|
385
385
|
end
|
@@ -15,7 +15,7 @@ module ActiveAdmin
|
|
15
15
|
end
|
16
16
|
|
17
17
|
def main_content
|
18
|
-
I18n.t(
|
18
|
+
I18n.t("active_admin.main_content", model: title).html_safe
|
19
19
|
end
|
20
20
|
|
21
21
|
private
|
@@ -65,9 +65,9 @@ module ActiveAdmin
|
|
65
65
|
def body_classes
|
66
66
|
Arbre::HTML::ClassList.new [
|
67
67
|
params[:action],
|
68
|
-
params[:controller].tr(
|
69
|
-
|
70
|
-
active_admin_namespace.name.to_s +
|
68
|
+
params[:controller].tr("/", "_"),
|
69
|
+
"active_admin", "logged_in",
|
70
|
+
active_admin_namespace.name.to_s + "_namespace"
|
71
71
|
]
|
72
72
|
end
|
73
73
|
|
@@ -81,12 +81,12 @@ module ActiveAdmin
|
|
81
81
|
build_flash_messages
|
82
82
|
div id: "active_admin_content", class: (skip_sidebar? ? "without_sidebar" : "with_sidebar") do
|
83
83
|
build_main_content_wrapper
|
84
|
-
sidebar sidebar_sections_for_action, id:
|
84
|
+
sidebar sidebar_sections_for_action, id: "sidebar" unless skip_sidebar?
|
85
85
|
end
|
86
86
|
end
|
87
87
|
|
88
88
|
def build_flash_messages
|
89
|
-
div class:
|
89
|
+
div class: "flashes" do
|
90
90
|
flash_messages.each do |type, messages|
|
91
91
|
[*messages].each do |message|
|
92
92
|
div message, class: "flash flash_#{type}"
|
@@ -1,4 +1,4 @@
|
|
1
|
-
require
|
1
|
+
require "active_admin/helpers/collection"
|
2
2
|
|
3
3
|
module ActiveAdmin
|
4
4
|
module Views
|
@@ -111,7 +111,7 @@ module ActiveAdmin
|
|
111
111
|
|
112
112
|
def render_blank_slate
|
113
113
|
blank_slate_content = I18n.t("active_admin.blank_slate.content", resource_name: active_admin_config.plural_resource_label)
|
114
|
-
if controller.action_methods.include?(
|
114
|
+
if controller.action_methods.include?("new") && authorized?(ActiveAdmin::Auth::CREATE, active_admin_config.resource_class)
|
115
115
|
blank_slate_content = [blank_slate_content, blank_slate_link].compact.join(" ")
|
116
116
|
end
|
117
117
|
insert_tag(view_factory.blank_slate, blank_slate_content)
|
@@ -130,13 +130,14 @@ module ActiveAdmin
|
|
130
130
|
pagination_total = config.fetch(:pagination_total, true)
|
131
131
|
per_page = config.fetch(:per_page, active_admin_config.per_page)
|
132
132
|
|
133
|
-
paginated_collection(
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
133
|
+
paginated_collection(
|
134
|
+
collection, entry_name: active_admin_config.resource_label,
|
135
|
+
entries_name: active_admin_config.plural_resource_label(count: collection_size),
|
136
|
+
download_links: download_links,
|
137
|
+
paginator: paginator,
|
138
|
+
per_page: per_page,
|
139
|
+
pagination_total: pagination_total) do
|
140
|
+
div class: "index_content" do
|
140
141
|
insert_tag(renderer_class, config, collection)
|
141
142
|
end
|
142
143
|
end
|
@@ -1,10 +1,10 @@
|
|
1
|
-
require_relative
|
1
|
+
require_relative "components/menu"
|
2
2
|
|
3
3
|
module ActiveAdmin
|
4
4
|
module Views
|
5
5
|
class TabbedNavigation < Menu
|
6
6
|
def build(menu, options = {})
|
7
|
-
super(menu, options.reverse_merge(id:
|
7
|
+
super(menu, options.reverse_merge(id: "tabs"))
|
8
8
|
end
|
9
9
|
end
|
10
10
|
end
|
data/lib/active_admin/views.rb
CHANGED
data/lib/active_admin.rb
CHANGED
@@ -1,58 +1,57 @@
|
|
1
|
-
require
|
2
|
-
require
|
1
|
+
require "active_support/core_ext"
|
2
|
+
require "set"
|
3
3
|
|
4
|
-
require
|
5
|
-
require
|
6
|
-
require
|
7
|
-
require
|
8
|
-
require
|
9
|
-
require
|
10
|
-
require
|
11
|
-
require
|
12
|
-
require 'arbre'
|
4
|
+
require "ransack"
|
5
|
+
require "ransack_ext"
|
6
|
+
require "kaminari"
|
7
|
+
require "formtastic"
|
8
|
+
require "formtastic_i18n"
|
9
|
+
require "inherited_resources"
|
10
|
+
require "jquery-rails"
|
11
|
+
require "arbre"
|
13
12
|
|
14
|
-
require
|
13
|
+
require "active_admin/helpers/i18n"
|
15
14
|
|
16
15
|
module ActiveAdmin
|
17
16
|
|
18
|
-
autoload :VERSION,
|
19
|
-
autoload :Application,
|
20
|
-
autoload :AssetRegistration,
|
21
|
-
autoload :Authorization,
|
22
|
-
autoload :AuthorizationAdapter,
|
23
|
-
autoload :Callbacks,
|
24
|
-
autoload :Component,
|
25
|
-
autoload :BaseController,
|
26
|
-
autoload :CanCanAdapter,
|
27
|
-
autoload :ControllerAction,
|
28
|
-
autoload :CSVBuilder,
|
29
|
-
autoload :Dependency,
|
30
|
-
autoload :Deprecation,
|
31
|
-
autoload :Devise,
|
32
|
-
autoload :DSL,
|
33
|
-
autoload :FormBuilder,
|
34
|
-
autoload :Inputs,
|
35
|
-
autoload :Localizers,
|
36
|
-
autoload :Menu,
|
37
|
-
autoload :MenuCollection,
|
38
|
-
autoload :MenuItem,
|
39
|
-
autoload :Namespace,
|
40
|
-
autoload :OrderClause,
|
41
|
-
autoload :Page,
|
42
|
-
autoload :PagePresenter,
|
43
|
-
autoload :PageController,
|
44
|
-
autoload :PageDSL,
|
45
|
-
autoload :PunditAdapter,
|
46
|
-
autoload :Resource,
|
47
|
-
autoload :ResourceController,
|
48
|
-
autoload :ResourceDSL,
|
49
|
-
autoload :Scope,
|
50
|
-
autoload :ScopeChain,
|
51
|
-
autoload :SidebarSection,
|
52
|
-
autoload :TableBuilder,
|
53
|
-
autoload :ViewFactory,
|
54
|
-
autoload :ViewHelpers,
|
55
|
-
autoload :Views,
|
17
|
+
autoload :VERSION, "active_admin/version"
|
18
|
+
autoload :Application, "active_admin/application"
|
19
|
+
autoload :AssetRegistration, "active_admin/asset_registration"
|
20
|
+
autoload :Authorization, "active_admin/authorization_adapter"
|
21
|
+
autoload :AuthorizationAdapter, "active_admin/authorization_adapter"
|
22
|
+
autoload :Callbacks, "active_admin/callbacks"
|
23
|
+
autoload :Component, "active_admin/component"
|
24
|
+
autoload :BaseController, "active_admin/base_controller"
|
25
|
+
autoload :CanCanAdapter, "active_admin/cancan_adapter"
|
26
|
+
autoload :ControllerAction, "active_admin/controller_action"
|
27
|
+
autoload :CSVBuilder, "active_admin/csv_builder"
|
28
|
+
autoload :Dependency, "active_admin/dependency"
|
29
|
+
autoload :Deprecation, "active_admin/deprecation"
|
30
|
+
autoload :Devise, "active_admin/devise"
|
31
|
+
autoload :DSL, "active_admin/dsl"
|
32
|
+
autoload :FormBuilder, "active_admin/form_builder"
|
33
|
+
autoload :Inputs, "active_admin/inputs"
|
34
|
+
autoload :Localizers, "active_admin/localizers"
|
35
|
+
autoload :Menu, "active_admin/menu"
|
36
|
+
autoload :MenuCollection, "active_admin/menu_collection"
|
37
|
+
autoload :MenuItem, "active_admin/menu_item"
|
38
|
+
autoload :Namespace, "active_admin/namespace"
|
39
|
+
autoload :OrderClause, "active_admin/order_clause"
|
40
|
+
autoload :Page, "active_admin/page"
|
41
|
+
autoload :PagePresenter, "active_admin/page_presenter"
|
42
|
+
autoload :PageController, "active_admin/page_controller"
|
43
|
+
autoload :PageDSL, "active_admin/page_dsl"
|
44
|
+
autoload :PunditAdapter, "active_admin/pundit_adapter"
|
45
|
+
autoload :Resource, "active_admin/resource"
|
46
|
+
autoload :ResourceController, "active_admin/resource_controller"
|
47
|
+
autoload :ResourceDSL, "active_admin/resource_dsl"
|
48
|
+
autoload :Scope, "active_admin/scope"
|
49
|
+
autoload :ScopeChain, "active_admin/helpers/scope_chain"
|
50
|
+
autoload :SidebarSection, "active_admin/sidebar_section"
|
51
|
+
autoload :TableBuilder, "active_admin/table_builder"
|
52
|
+
autoload :ViewFactory, "active_admin/view_factory"
|
53
|
+
autoload :ViewHelpers, "active_admin/view_helpers"
|
54
|
+
autoload :Views, "active_admin/views"
|
56
55
|
|
57
56
|
class << self
|
58
57
|
|
@@ -121,13 +120,13 @@ module ActiveAdmin
|
|
121
120
|
end
|
122
121
|
|
123
122
|
# Require things that don't support autoload
|
124
|
-
require
|
125
|
-
require
|
123
|
+
require "active_admin/engine"
|
124
|
+
require "active_admin/error"
|
126
125
|
|
127
126
|
# Require internal plugins
|
128
|
-
require
|
129
|
-
require
|
127
|
+
require "active_admin/batch_actions"
|
128
|
+
require "active_admin/filters"
|
130
129
|
|
131
130
|
# Require ORM-specific plugins
|
132
|
-
require
|
133
|
-
require
|
131
|
+
require "active_admin/orm/active_record" if defined? ActiveRecord
|
132
|
+
require "active_admin/orm/mongoid" if defined? Mongoid
|
data/lib/activeadmin.rb
CHANGED
@@ -1 +1 @@
|
|
1
|
-
require
|
1
|
+
require "active_admin"
|
@@ -2,10 +2,10 @@ module ActiveAdmin
|
|
2
2
|
module Generators
|
3
3
|
class AssetsGenerator < Rails::Generators::Base
|
4
4
|
|
5
|
-
source_root File.expand_path(
|
5
|
+
source_root File.expand_path("templates", __dir__)
|
6
6
|
|
7
7
|
def install_assets
|
8
|
-
template
|
8
|
+
template "active_admin.js", "app/assets/javascripts/active_admin.js"
|
9
9
|
template "active_admin.scss", "app/assets/stylesheets/active_admin.scss"
|
10
10
|
end
|
11
11
|
|
@@ -22,7 +22,7 @@ module ActiveAdmin
|
|
22
22
|
raise ActiveAdmin::GeneratorError, "#{e.message} If you don't want to use devise, run the generator with --skip-users."
|
23
23
|
end
|
24
24
|
|
25
|
-
require
|
25
|
+
require "devise"
|
26
26
|
|
27
27
|
initializer_file =
|
28
28
|
File.join(destination_root, "config", "initializers", "devise.rb")
|
@@ -1,4 +1,4 @@
|
|
1
|
-
require
|
1
|
+
require "rails/generators/active_record"
|
2
2
|
|
3
3
|
module ActiveAdmin
|
4
4
|
module Generators
|
@@ -10,22 +10,22 @@ module ActiveAdmin
|
|
10
10
|
class_option :skip_comments, type: :boolean, default: false, desc: "Skip installation of comments"
|
11
11
|
class_option :use_webpacker, type: :boolean, default: false, desc: "Use Webpacker assets instead of Sprockets"
|
12
12
|
|
13
|
-
source_root File.expand_path(
|
13
|
+
source_root File.expand_path("templates", __dir__)
|
14
14
|
|
15
15
|
def copy_initializer
|
16
|
-
@underscored_user_name = name.underscore.gsub(
|
16
|
+
@underscored_user_name = name.underscore.gsub("/", "_")
|
17
17
|
@use_authentication_method = options[:users].present?
|
18
18
|
@skip_comments = options[:skip_comments]
|
19
19
|
@use_webpacker = options[:use_webpacker]
|
20
|
-
template
|
20
|
+
template "active_admin.rb.erb", "config/initializers/active_admin.rb"
|
21
21
|
end
|
22
22
|
|
23
23
|
def setup_directory
|
24
24
|
empty_directory "app/admin"
|
25
|
-
template
|
25
|
+
template "dashboard.rb", "app/admin/dashboard.rb"
|
26
26
|
if options[:users].present?
|
27
27
|
@user_class = name
|
28
|
-
template
|
28
|
+
template "admin_users.rb.erb", "app/admin/#{name.underscore.pluralize}.rb"
|
29
29
|
end
|
30
30
|
end
|
31
31
|
|
@@ -47,7 +47,7 @@ module ActiveAdmin
|
|
47
47
|
|
48
48
|
def create_migrations
|
49
49
|
unless options[:skip_comments]
|
50
|
-
migration_template
|
50
|
+
migration_template "migrations/create_active_admin_comments.rb.erb", "db/migrate/create_active_admin_comments.rb"
|
51
51
|
end
|
52
52
|
end
|
53
53
|
end
|
@@ -1,7 +1,7 @@
|
|
1
1
|
module ActiveAdmin
|
2
2
|
module Generators
|
3
3
|
class PageGenerator < Rails::Generators::NamedBase
|
4
|
-
source_root File.expand_path(
|
4
|
+
source_root File.expand_path("templates", __dir__)
|
5
5
|
|
6
6
|
def generate_config_file
|
7
7
|
template "page.rb", "app/admin/#{file_path.tr('/', '_')}.rb"
|
@@ -1,4 +1,4 @@
|
|
1
|
-
require
|
1
|
+
require "active_admin/generators/boilerplate"
|
2
2
|
|
3
3
|
module ActiveAdmin
|
4
4
|
module Generators
|
@@ -8,7 +8,7 @@ module ActiveAdmin
|
|
8
8
|
class_option :include_boilerplate, type: :boolean, default: false,
|
9
9
|
desc: "Generate boilerplate code for your resource."
|
10
10
|
|
11
|
-
source_root File.expand_path(
|
11
|
+
source_root File.expand_path("templates", __dir__)
|
12
12
|
|
13
13
|
def generate_config_file
|
14
14
|
@boilerplate = ActiveAdmin::Generators::Boilerplate.new(class_name)
|
@@ -2,22 +2,22 @@ module ActiveAdmin
|
|
2
2
|
module Generators
|
3
3
|
class WebpackerGenerator < Rails::Generators::Base
|
4
4
|
|
5
|
-
source_root File.expand_path(
|
5
|
+
source_root File.expand_path("templates", __dir__)
|
6
6
|
|
7
7
|
def install_assets
|
8
|
-
template
|
8
|
+
template "active_admin.js", "app/javascript/packs/active_admin.js"
|
9
9
|
template "active_admin.scss", "app/javascript/stylesheets/active_admin.scss"
|
10
|
-
template
|
10
|
+
template "print.scss", "app/javascript/packs/active_admin/print.scss"
|
11
11
|
|
12
12
|
copy_file "#{__dir__}/plugins/jquery.js", Rails.root.join("config/webpack/plugins/jquery.js").to_s
|
13
13
|
|
14
14
|
insert_into_file Rails.root.join("config/webpack/environment.js").to_s,
|
15
|
-
|
16
|
-
|
15
|
+
"const jquery = require('./plugins/jquery')\n",
|
16
|
+
after: /require\(('|")@rails\/webpacker\1\);?\n/
|
17
17
|
|
18
18
|
insert_into_file Rails.root.join("config/webpack/environment.js").to_s,
|
19
|
-
|
20
|
-
|
19
|
+
"environment.plugins.prepend('jquery', jquery)\n",
|
20
|
+
before: "module.exports"
|
21
21
|
|
22
22
|
run "yarn add @activeadmin/activeadmin"
|
23
23
|
end
|
data/lib/ransack_ext.rb
CHANGED
@@ -2,19 +2,19 @@
|
|
2
2
|
# identically to the versions given in Ransack.
|
3
3
|
#
|
4
4
|
Ransack.configure do |config|
|
5
|
-
{
|
5
|
+
{ "contains" => "cont", "starts_with" => "start", "ends_with" => "end" }.each do |old, current|
|
6
6
|
config.add_predicate old, Ransack::Constants::DERIVED_PREDICATES.detect { |q, _| q == current }[1]
|
7
7
|
end
|
8
8
|
|
9
|
-
{
|
9
|
+
{ "equals" => "eq", "greater_than" => "gt", "less_than" => "lt" }.each do |old, current|
|
10
10
|
config.add_predicate old, arel_predicate: current
|
11
11
|
end
|
12
12
|
|
13
|
-
config.add_predicate
|
14
|
-
|
15
|
-
|
13
|
+
config.add_predicate "gteq_datetime",
|
14
|
+
arel_predicate: "gteq",
|
15
|
+
formatter: ->(v) { v.beginning_of_day }
|
16
16
|
|
17
|
-
config.add_predicate
|
18
|
-
|
19
|
-
|
17
|
+
config.add_predicate "lteq_datetime",
|
18
|
+
arel_predicate: "lt",
|
19
|
+
formatter: ->(v) { v + 1.day }
|
20
20
|
end
|