administrate 0.17.0 → 0.20.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Rakefile +0 -2
- data/app/assets/javascripts/administrate/application.js +0 -2
- data/app/assets/javascripts/administrate/components/select.js +3 -0
- data/app/assets/stylesheets/administrate/application.scss +0 -1
- data/app/assets/stylesheets/administrate/base/_forms.scss +1 -1
- data/app/assets/stylesheets/administrate/components/_buttons.scss +9 -0
- data/app/assets/stylesheets/administrate/components/_field-unit.scss +7 -0
- data/app/assets/stylesheets/administrate/components/_flashes.scss +2 -2
- data/app/assets/stylesheets/administrate/library/_variables.scss +1 -1
- data/app/controllers/administrate/application_controller.rb +85 -17
- data/app/controllers/concerns/administrate/punditize.rb +44 -20
- data/app/helpers/administrate/application_helper.rb +24 -6
- data/app/views/administrate/application/_collection.html.erb +5 -6
- data/app/views/administrate/application/_collection_header_actions.html.erb +2 -2
- data/app/views/administrate/application/_collection_item_actions.html.erb +4 -4
- data/app/views/administrate/application/_form.html.erb +19 -4
- data/app/views/administrate/application/_index_header.html.erb +2 -2
- data/app/views/administrate/application/_navigation.html.erb +2 -2
- data/app/views/administrate/application/_pagination.html.erb +1 -0
- data/app/views/administrate/application/edit.html.erb +2 -2
- data/app/views/administrate/application/index.html.erb +1 -1
- data/app/views/administrate/application/new.html.erb +1 -1
- data/app/views/administrate/application/show.html.erb +28 -12
- data/app/views/fields/belongs_to/_index.html.erb +1 -1
- data/app/views/fields/belongs_to/_show.html.erb +1 -1
- data/app/views/fields/date/_form.html.erb +1 -3
- data/app/views/fields/date_time/_form.html.erb +1 -3
- data/app/views/fields/has_many/_index.html.erb +1 -1
- data/app/views/fields/has_many/_show.html.erb +2 -1
- data/app/views/fields/has_one/_form.html.erb +15 -5
- data/app/views/fields/has_one/_index.html.erb +2 -1
- data/app/views/fields/has_one/_show.html.erb +20 -13
- data/app/views/fields/polymorphic/_index.html.erb +2 -1
- data/app/views/fields/polymorphic/_show.html.erb +1 -1
- data/app/views/fields/select/_form.html.erb +5 -18
- data/app/views/fields/time/_form.html.erb +2 -3
- data/app/views/fields/url/_index.html.erb +1 -1
- data/app/views/fields/url/_show.html.erb +1 -1
- data/app/views/layouts/administrate/application.html.erb +1 -1
- data/config/locales/administrate.de.yml +2 -2
- data/config/locales/administrate.ja.yml +5 -5
- data/config/locales/administrate.sl.yml +30 -0
- data/docs/adding_controllers_without_related_model.md +2 -2
- data/docs/authorization.md +43 -20
- data/docs/customizing_controller_actions.md +25 -6
- data/docs/customizing_dashboards.md +88 -10
- data/docs/getting_started.md +1 -1
- data/docs/guides/customising_search.md +149 -0
- data/docs/guides/hiding_dashboards_from_sidebar.md +4 -2
- data/docs/guides/scoping_has_many_relations.md +27 -0
- data/docs/guides.md +3 -1
- data/lib/administrate/base_dashboard.rb +39 -3
- data/lib/administrate/engine.rb +2 -2
- data/lib/administrate/field/associative.rb +18 -8
- data/lib/administrate/field/base.rb +4 -0
- data/lib/administrate/field/belongs_to.rb +9 -2
- data/lib/administrate/field/deferred.rb +5 -1
- data/lib/administrate/field/has_many.rb +20 -6
- data/lib/administrate/field/has_one.rb +4 -0
- data/lib/administrate/field/number.rb +2 -8
- data/lib/administrate/field/polymorphic.rb +2 -1
- data/lib/administrate/field/select.rb +19 -9
- data/lib/administrate/field/url.rb +4 -0
- data/lib/administrate/not_authorized_error.rb +20 -0
- data/lib/administrate/order.rb +73 -17
- data/lib/administrate/page/base.rb +4 -0
- data/lib/administrate/page/collection.rb +1 -0
- data/lib/administrate/page/form.rb +9 -8
- data/lib/administrate/page/show.rb +10 -2
- data/lib/administrate/resource_resolver.rb +2 -1
- data/lib/administrate/search.rb +1 -1
- data/lib/administrate/version.rb +1 -1
- data/lib/administrate/view_generator.rb +6 -1
- data/lib/administrate.rb +24 -2
- data/lib/generators/administrate/dashboard/dashboard_generator.rb +20 -2
- data/lib/generators/administrate/dashboard/templates/controller.rb.erb +2 -2
- data/lib/generators/administrate/install/install_generator.rb +6 -1
- data/lib/generators/administrate/routes/routes_generator.rb +11 -2
- data/lib/generators/administrate/test_record.rb +21 -0
- metadata +39 -46
- data/app/assets/javascripts/administrate/components/date_time_picker.js +0 -14
- data/config/i18n-tasks.yml +0 -18
- data/config/routes.rb +0 -2
- data/config/unicorn.rb +0 -25
data/lib/administrate/order.rb
CHANGED
@@ -1,18 +1,19 @@
|
|
1
1
|
module Administrate
|
2
2
|
class Order
|
3
|
-
def initialize(attribute = nil, direction = nil)
|
3
|
+
def initialize(attribute = nil, direction = nil, association_attribute: nil)
|
4
4
|
@attribute = attribute
|
5
5
|
@direction = sanitize_direction(direction)
|
6
|
+
@association_attribute = association_attribute
|
6
7
|
end
|
7
8
|
|
8
9
|
def apply(relation)
|
9
10
|
return order_by_association(relation) unless
|
10
11
|
reflect_association(relation).nil?
|
11
12
|
|
12
|
-
order =
|
13
|
+
order = relation.arel_table[attribute].public_send(direction)
|
13
14
|
|
14
|
-
return relation.reorder(
|
15
|
-
|
15
|
+
return relation.reorder(order) if
|
16
|
+
column_exist?(relation, attribute)
|
16
17
|
|
17
18
|
relation
|
18
19
|
end
|
@@ -32,7 +33,7 @@ module Administrate
|
|
32
33
|
|
33
34
|
private
|
34
35
|
|
35
|
-
attr_reader :attribute
|
36
|
+
attr_reader :attribute, :association_attribute
|
36
37
|
|
37
38
|
def sanitize_direction(direction)
|
38
39
|
%w[asc desc].include?(direction.to_s) ? direction.to_sym : :asc
|
@@ -51,32 +52,83 @@ module Administrate
|
|
51
52
|
end
|
52
53
|
|
53
54
|
def order_by_association(relation)
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
55
|
+
case relation_type(relation)
|
56
|
+
when :has_many
|
57
|
+
order_by_count(relation)
|
58
|
+
when :belongs_to
|
59
|
+
order_by_belongs_to(relation)
|
60
|
+
when :has_one
|
61
|
+
order_by_has_one(relation)
|
62
|
+
else
|
63
|
+
relation
|
64
|
+
end
|
59
65
|
end
|
60
66
|
|
61
67
|
def order_by_count(relation)
|
62
68
|
klass = reflect_association(relation).klass
|
63
|
-
query =
|
69
|
+
query = klass.arel_table[klass.primary_key].count.public_send(direction)
|
64
70
|
relation.
|
65
71
|
left_joins(attribute.to_sym).
|
66
72
|
group(:id).
|
67
|
-
reorder(
|
73
|
+
reorder(query)
|
74
|
+
end
|
75
|
+
|
76
|
+
def order_by_belongs_to(relation)
|
77
|
+
if ordering_by_association_column?(relation)
|
78
|
+
order_by_attribute(relation)
|
79
|
+
else
|
80
|
+
order_by_id(relation)
|
81
|
+
end
|
82
|
+
end
|
83
|
+
|
84
|
+
def order_by_has_one(relation)
|
85
|
+
if ordering_by_association_column?(relation)
|
86
|
+
order_by_attribute(relation)
|
87
|
+
else
|
88
|
+
order_by_association_id(relation)
|
89
|
+
end
|
90
|
+
end
|
91
|
+
|
92
|
+
def order_by_attribute(relation)
|
93
|
+
relation.joins(
|
94
|
+
attribute.to_sym,
|
95
|
+
).reorder(order_by_attribute_query)
|
68
96
|
end
|
69
97
|
|
70
98
|
def order_by_id(relation)
|
71
|
-
relation.reorder(
|
99
|
+
relation.reorder(order_by_id_query(relation))
|
100
|
+
end
|
101
|
+
|
102
|
+
def order_by_association_id(relation)
|
103
|
+
relation.reorder(order_by_association_id_query)
|
104
|
+
end
|
105
|
+
|
106
|
+
def ordering_by_association_column?(relation)
|
107
|
+
association_attribute &&
|
108
|
+
column_exist?(
|
109
|
+
reflect_association(relation).klass, association_attribute.to_sym
|
110
|
+
)
|
111
|
+
end
|
112
|
+
|
113
|
+
def column_exist?(table, column_name)
|
114
|
+
table.columns_hash.key?(column_name.to_s)
|
72
115
|
end
|
73
116
|
|
74
|
-
def
|
75
|
-
|
117
|
+
def order_by_id_query(relation)
|
118
|
+
relation.arel_table[foreign_key(relation)].public_send(direction)
|
76
119
|
end
|
77
120
|
|
78
|
-
def
|
79
|
-
|
121
|
+
def order_by_association_id_query
|
122
|
+
Arel::Table.new(association_table_name)[:id].public_send(direction)
|
123
|
+
end
|
124
|
+
|
125
|
+
def order_by_attribute_query
|
126
|
+
table = Arel::Table.new(association_table_name)
|
127
|
+
table[association_attribute].public_send(direction)
|
128
|
+
end
|
129
|
+
|
130
|
+
def relation_type(relation)
|
131
|
+
reflect_association(relation).macro
|
80
132
|
end
|
81
133
|
|
82
134
|
def reflect_association(relation)
|
@@ -86,5 +138,9 @@ module Administrate
|
|
86
138
|
def foreign_key(relation)
|
87
139
|
reflect_association(relation).foreign_key
|
88
140
|
end
|
141
|
+
|
142
|
+
def association_table_name
|
143
|
+
attribute.tableize
|
144
|
+
end
|
89
145
|
end
|
90
146
|
end
|
@@ -11,15 +11,16 @@ module Administrate
|
|
11
11
|
attr_reader :resource
|
12
12
|
|
13
13
|
def attributes(action = nil)
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
end
|
14
|
+
attributes = dashboard.form_attributes(action)
|
15
|
+
|
16
|
+
if attributes.is_a? Array
|
17
|
+
attributes = { "" => attributes }
|
18
|
+
end
|
20
19
|
|
21
|
-
|
22
|
-
|
20
|
+
attributes.transform_values do |attrs|
|
21
|
+
attrs.map do |attribute|
|
22
|
+
attribute_field(dashboard, resource, attribute, :form)
|
23
|
+
end
|
23
24
|
end
|
24
25
|
end
|
25
26
|
|
@@ -15,8 +15,16 @@ module Administrate
|
|
15
15
|
end
|
16
16
|
|
17
17
|
def attributes
|
18
|
-
dashboard.show_page_attributes
|
19
|
-
|
18
|
+
attributes = dashboard.show_page_attributes
|
19
|
+
|
20
|
+
if attributes.is_a? Array
|
21
|
+
attributes = { "" => attributes }
|
22
|
+
end
|
23
|
+
|
24
|
+
attributes.transform_values do |attrs|
|
25
|
+
attrs.map do |attr_name|
|
26
|
+
attribute_field(dashboard, resource, attr_name, :show)
|
27
|
+
end
|
20
28
|
end
|
21
29
|
end
|
22
30
|
end
|
data/lib/administrate/search.rb
CHANGED
data/lib/administrate/version.rb
CHANGED
@@ -5,7 +5,12 @@ require "administrate/namespace"
|
|
5
5
|
module Administrate
|
6
6
|
class ViewGenerator < Rails::Generators::Base
|
7
7
|
include Administrate::GeneratorHelpers
|
8
|
-
class_option
|
8
|
+
class_option(
|
9
|
+
:namespace,
|
10
|
+
type: :string,
|
11
|
+
desc: "Namespace where the admin dashboards live",
|
12
|
+
default: "admin",
|
13
|
+
)
|
9
14
|
|
10
15
|
def self.template_source_path
|
11
16
|
File.expand_path(
|
data/lib/administrate.rb
CHANGED
@@ -2,7 +2,7 @@ require "administrate/engine"
|
|
2
2
|
|
3
3
|
module Administrate
|
4
4
|
def self.warn_of_missing_resource_class
|
5
|
-
|
5
|
+
deprecator.warn(
|
6
6
|
"Calling Field::Base.permitted_attribute without the option " +
|
7
7
|
":resource_class is deprecated. If you are seeing this " +
|
8
8
|
"message, you are probably using a custom field type that" +
|
@@ -12,7 +12,7 @@ module Administrate
|
|
12
12
|
end
|
13
13
|
|
14
14
|
def self.warn_of_deprecated_option(name)
|
15
|
-
|
15
|
+
deprecator.warn(
|
16
16
|
"The option :#{name} is deprecated. " +
|
17
17
|
"Administrate should detect it automatically. " +
|
18
18
|
"Please file an issue at " +
|
@@ -20,4 +20,26 @@ module Administrate
|
|
20
20
|
"if you think otherwise.",
|
21
21
|
)
|
22
22
|
end
|
23
|
+
|
24
|
+
def self.warn_of_deprecated_method(klass, method)
|
25
|
+
deprecator.warn(
|
26
|
+
"The method #{klass}##{method} is deprecated. " +
|
27
|
+
"If you are seeing this message you are probably " +
|
28
|
+
"using a dashboard that depends explicitly on it. " +
|
29
|
+
"Please make sure you update it to a version that " +
|
30
|
+
"does not use a deprecated API",
|
31
|
+
)
|
32
|
+
end
|
33
|
+
|
34
|
+
def self.warn_of_deprecated_authorization_method(method)
|
35
|
+
deprecator.warn(
|
36
|
+
"The method `#{method}` is deprecated. " +
|
37
|
+
"Please use `accessible_action?` instead, " +
|
38
|
+
"or see the documentation for other options.",
|
39
|
+
)
|
40
|
+
end
|
41
|
+
|
42
|
+
def self.deprecator
|
43
|
+
@deprecator ||= ActiveSupport::Deprecation.new(VERSION, "Administrate")
|
44
|
+
end
|
23
45
|
end
|
@@ -27,7 +27,12 @@ module Administrate
|
|
27
27
|
COLLECTION_ATTRIBUTE_LIMIT = 4
|
28
28
|
READ_ONLY_ATTRIBUTES = %w[id created_at updated_at]
|
29
29
|
|
30
|
-
class_option
|
30
|
+
class_option(
|
31
|
+
:namespace,
|
32
|
+
type: :string,
|
33
|
+
desc: "Namespace where the admin dashboards live",
|
34
|
+
default: "admin",
|
35
|
+
)
|
31
36
|
|
32
37
|
source_root File.expand_path("../templates", __FILE__)
|
33
38
|
|
@@ -53,9 +58,22 @@ module Administrate
|
|
53
58
|
end
|
54
59
|
|
55
60
|
def attributes
|
56
|
-
|
61
|
+
attrs = (
|
62
|
+
klass.reflections.keys +
|
57
63
|
klass.columns.map(&:name) -
|
58
64
|
redundant_attributes
|
65
|
+
)
|
66
|
+
|
67
|
+
primary_key = attrs.delete(klass.primary_key)
|
68
|
+
created_at = attrs.delete("created_at")
|
69
|
+
updated_at = attrs.delete("updated_at")
|
70
|
+
|
71
|
+
[
|
72
|
+
primary_key,
|
73
|
+
*attrs.sort,
|
74
|
+
created_at,
|
75
|
+
updated_at,
|
76
|
+
].compact
|
59
77
|
end
|
60
78
|
|
61
79
|
def form_attributes
|
@@ -36,11 +36,11 @@ module <%= namespace.to_s.camelize %>
|
|
36
36
|
#
|
37
37
|
# def resource_params
|
38
38
|
# params.require(resource_class.model_name.param_key).
|
39
|
-
# permit(dashboard.permitted_attributes).
|
39
|
+
# permit(dashboard.permitted_attributes(action_name)).
|
40
40
|
# transform_values { |value| value == "" ? nil : value }
|
41
41
|
# end
|
42
42
|
|
43
|
-
# See https://administrate-
|
43
|
+
# See https://administrate-demo.herokuapp.com/customizing_controller_actions
|
44
44
|
# for more information
|
45
45
|
end
|
46
46
|
end
|
@@ -14,7 +14,12 @@ module Administrate
|
|
14
14
|
include Administrate::GeneratorHelpers
|
15
15
|
source_root File.expand_path("../templates", __FILE__)
|
16
16
|
|
17
|
-
class_option
|
17
|
+
class_option(
|
18
|
+
:namespace,
|
19
|
+
type: :string,
|
20
|
+
desc: "Namespace where the admin dashboards will live",
|
21
|
+
default: "admin",
|
22
|
+
)
|
18
23
|
|
19
24
|
def run_routes_generator
|
20
25
|
if dashboard_resources.none?
|
@@ -7,13 +7,19 @@ end
|
|
7
7
|
require "rails/generators/base"
|
8
8
|
require "administrate/generator_helpers"
|
9
9
|
require "administrate/namespace"
|
10
|
+
require "generators/administrate/test_record"
|
10
11
|
|
11
12
|
module Administrate
|
12
13
|
module Generators
|
13
14
|
class RoutesGenerator < Rails::Generators::Base
|
14
15
|
include Administrate::GeneratorHelpers
|
15
16
|
source_root File.expand_path("../templates", __FILE__)
|
16
|
-
class_option
|
17
|
+
class_option(
|
18
|
+
:namespace,
|
19
|
+
type: :string,
|
20
|
+
desc: "Namespace where the admin dashboards live",
|
21
|
+
default: "admin",
|
22
|
+
)
|
17
23
|
|
18
24
|
def insert_dashboard_routes
|
19
25
|
if valid_dashboard_models.any?
|
@@ -55,7 +61,10 @@ module Administrate
|
|
55
61
|
end
|
56
62
|
|
57
63
|
def database_models
|
58
|
-
ActiveRecord::Base.descendants.
|
64
|
+
ActiveRecord::Base.descendants.
|
65
|
+
reject(&:abstract_class?).
|
66
|
+
reject { |k| k < Administrate::Generators::TestRecord }.
|
67
|
+
sort_by(&:to_s)
|
59
68
|
end
|
60
69
|
|
61
70
|
def invalid_dashboard_models
|
@@ -0,0 +1,21 @@
|
|
1
|
+
module Administrate
|
2
|
+
module Generators
|
3
|
+
# This class serves only to work around a strange behaviour in Rails 7
|
4
|
+
# with Ruby 3.
|
5
|
+
#
|
6
|
+
# After running the spec for DashboardGenerator, the fake models that
|
7
|
+
# it generates (eg: Foo, Shipment) linger around despite being removed
|
8
|
+
# explicitly. This causes RouteGenerator to take them into
|
9
|
+
# account and generate routes for them, which its spec doesn't expect,
|
10
|
+
# causing a spec failure.
|
11
|
+
#
|
12
|
+
# To avoid this, the spec for DashboardGenerator defines its fake models
|
13
|
+
# as children of TestRecord. Then RoutesGenerator explicitly filters
|
14
|
+
# child classes of TestRecord when figuring out what models exist.
|
15
|
+
#
|
16
|
+
# Discussion at https://github.com/thoughtbot/administrate/pull/2324
|
17
|
+
class TestRecord < ApplicationRecord
|
18
|
+
self.abstract_class = true
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: administrate
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.20.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Nick Charlton
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2024-01-17 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: actionpack
|
@@ -17,98 +17,88 @@ dependencies:
|
|
17
17
|
requirements:
|
18
18
|
- - ">="
|
19
19
|
- !ruby/object:Gem::Version
|
20
|
-
version: '
|
20
|
+
version: '6.0'
|
21
|
+
- - "<"
|
22
|
+
- !ruby/object:Gem::Version
|
23
|
+
version: '8.0'
|
21
24
|
type: :runtime
|
22
25
|
prerelease: false
|
23
26
|
version_requirements: !ruby/object:Gem::Requirement
|
24
27
|
requirements:
|
25
28
|
- - ">="
|
26
29
|
- !ruby/object:Gem::Version
|
27
|
-
version: '
|
30
|
+
version: '6.0'
|
31
|
+
- - "<"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '8.0'
|
28
34
|
- !ruby/object:Gem::Dependency
|
29
35
|
name: actionview
|
30
36
|
requirement: !ruby/object:Gem::Requirement
|
31
37
|
requirements:
|
32
38
|
- - ">="
|
33
39
|
- !ruby/object:Gem::Version
|
34
|
-
version: '
|
40
|
+
version: '6.0'
|
41
|
+
- - "<"
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
version: '8.0'
|
35
44
|
type: :runtime
|
36
45
|
prerelease: false
|
37
46
|
version_requirements: !ruby/object:Gem::Requirement
|
38
47
|
requirements:
|
39
48
|
- - ">="
|
40
49
|
- !ruby/object:Gem::Version
|
41
|
-
version: '
|
50
|
+
version: '6.0'
|
51
|
+
- - "<"
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: '8.0'
|
42
54
|
- !ruby/object:Gem::Dependency
|
43
55
|
name: activerecord
|
44
56
|
requirement: !ruby/object:Gem::Requirement
|
45
57
|
requirements:
|
46
58
|
- - ">="
|
47
59
|
- !ruby/object:Gem::Version
|
48
|
-
version: '
|
60
|
+
version: '6.0'
|
61
|
+
- - "<"
|
62
|
+
- !ruby/object:Gem::Version
|
63
|
+
version: '8.0'
|
49
64
|
type: :runtime
|
50
65
|
prerelease: false
|
51
66
|
version_requirements: !ruby/object:Gem::Requirement
|
52
67
|
requirements:
|
53
68
|
- - ">="
|
54
69
|
- !ruby/object:Gem::Version
|
55
|
-
version: '
|
56
|
-
-
|
57
|
-
name: datetime_picker_rails
|
58
|
-
requirement: !ruby/object:Gem::Requirement
|
59
|
-
requirements:
|
60
|
-
- - "~>"
|
61
|
-
- !ruby/object:Gem::Version
|
62
|
-
version: 0.0.7
|
63
|
-
type: :runtime
|
64
|
-
prerelease: false
|
65
|
-
version_requirements: !ruby/object:Gem::Requirement
|
66
|
-
requirements:
|
67
|
-
- - "~>"
|
70
|
+
version: '6.0'
|
71
|
+
- - "<"
|
68
72
|
- !ruby/object:Gem::Version
|
69
|
-
version:
|
73
|
+
version: '8.0'
|
70
74
|
- !ruby/object:Gem::Dependency
|
71
75
|
name: jquery-rails
|
72
76
|
requirement: !ruby/object:Gem::Requirement
|
73
77
|
requirements:
|
74
|
-
- - "
|
78
|
+
- - "~>"
|
75
79
|
- !ruby/object:Gem::Version
|
76
|
-
version:
|
80
|
+
version: 4.6.0
|
77
81
|
type: :runtime
|
78
82
|
prerelease: false
|
79
83
|
version_requirements: !ruby/object:Gem::Requirement
|
80
84
|
requirements:
|
81
|
-
- - "
|
85
|
+
- - "~>"
|
82
86
|
- !ruby/object:Gem::Version
|
83
|
-
version:
|
87
|
+
version: 4.6.0
|
84
88
|
- !ruby/object:Gem::Dependency
|
85
89
|
name: kaminari
|
86
|
-
requirement: !ruby/object:Gem::Requirement
|
87
|
-
requirements:
|
88
|
-
- - ">="
|
89
|
-
- !ruby/object:Gem::Version
|
90
|
-
version: '1.0'
|
91
|
-
type: :runtime
|
92
|
-
prerelease: false
|
93
|
-
version_requirements: !ruby/object:Gem::Requirement
|
94
|
-
requirements:
|
95
|
-
- - ">="
|
96
|
-
- !ruby/object:Gem::Version
|
97
|
-
version: '1.0'
|
98
|
-
- !ruby/object:Gem::Dependency
|
99
|
-
name: momentjs-rails
|
100
90
|
requirement: !ruby/object:Gem::Requirement
|
101
91
|
requirements:
|
102
92
|
- - "~>"
|
103
93
|
- !ruby/object:Gem::Version
|
104
|
-
version:
|
94
|
+
version: 1.2.2
|
105
95
|
type: :runtime
|
106
96
|
prerelease: false
|
107
97
|
version_requirements: !ruby/object:Gem::Requirement
|
108
98
|
requirements:
|
109
99
|
- - "~>"
|
110
100
|
- !ruby/object:Gem::Version
|
111
|
-
version:
|
101
|
+
version: 1.2.2
|
112
102
|
- !ruby/object:Gem::Dependency
|
113
103
|
name: sassc-rails
|
114
104
|
requirement: !ruby/object:Gem::Requirement
|
@@ -160,7 +150,7 @@ files:
|
|
160
150
|
- Rakefile
|
161
151
|
- app/assets/javascripts/administrate/application.js
|
162
152
|
- app/assets/javascripts/administrate/components/associative.js
|
163
|
-
- app/assets/javascripts/administrate/components/
|
153
|
+
- app/assets/javascripts/administrate/components/select.js
|
164
154
|
- app/assets/javascripts/administrate/components/table.js
|
165
155
|
- app/assets/stylesheets/administrate/application.scss
|
166
156
|
- app/assets/stylesheets/administrate/base/_forms.scss
|
@@ -197,6 +187,7 @@ files:
|
|
197
187
|
- app/views/administrate/application/_index_header.html.erb
|
198
188
|
- app/views/administrate/application/_javascript.html.erb
|
199
189
|
- app/views/administrate/application/_navigation.html.erb
|
190
|
+
- app/views/administrate/application/_pagination.html.erb
|
200
191
|
- app/views/administrate/application/_search.html.erb
|
201
192
|
- app/views/administrate/application/_stylesheet.html.erb
|
202
193
|
- app/views/administrate/application/edit.html.erb
|
@@ -249,7 +240,6 @@ files:
|
|
249
240
|
- app/views/fields/url/_index.html.erb
|
250
241
|
- app/views/fields/url/_show.html.erb
|
251
242
|
- app/views/layouts/administrate/application.html.erb
|
252
|
-
- config/i18n-tasks.yml
|
253
243
|
- config/locales/administrate.ar.yml
|
254
244
|
- config/locales/administrate.bs.yml
|
255
245
|
- config/locales/administrate.ca.yml
|
@@ -268,6 +258,7 @@ files:
|
|
268
258
|
- config/locales/administrate.pt-BR.yml
|
269
259
|
- config/locales/administrate.pt.yml
|
270
260
|
- config/locales/administrate.ru.yml
|
261
|
+
- config/locales/administrate.sl.yml
|
271
262
|
- config/locales/administrate.sq.yml
|
272
263
|
- config/locales/administrate.sv.yml
|
273
264
|
- config/locales/administrate.tr.yml
|
@@ -275,8 +266,6 @@ files:
|
|
275
266
|
- config/locales/administrate.vi.yml
|
276
267
|
- config/locales/administrate.zh-CN.yml
|
277
268
|
- config/locales/administrate.zh-TW.yml
|
278
|
-
- config/routes.rb
|
279
|
-
- config/unicorn.rb
|
280
269
|
- docs/adding_controllers_without_related_model.md
|
281
270
|
- docs/adding_custom_field_types.md
|
282
271
|
- docs/authentication.md
|
@@ -288,7 +277,9 @@ files:
|
|
288
277
|
- docs/extending_administrate.md
|
289
278
|
- docs/getting_started.md
|
290
279
|
- docs/guides.md
|
280
|
+
- docs/guides/customising_search.md
|
291
281
|
- docs/guides/hiding_dashboards_from_sidebar.md
|
282
|
+
- docs/guides/scoping_has_many_relations.md
|
292
283
|
- docs/rails_api.md
|
293
284
|
- lib/administrate.rb
|
294
285
|
- lib/administrate/base_dashboard.rb
|
@@ -315,6 +306,7 @@ files:
|
|
315
306
|
- lib/administrate/generator_helpers.rb
|
316
307
|
- lib/administrate/namespace.rb
|
317
308
|
- lib/administrate/namespace/resource.rb
|
309
|
+
- lib/administrate/not_authorized_error.rb
|
318
310
|
- lib/administrate/order.rb
|
319
311
|
- lib/administrate/page.rb
|
320
312
|
- lib/administrate/page/base.rb
|
@@ -341,6 +333,7 @@ files:
|
|
341
333
|
- lib/generators/administrate/install/templates/application_controller.rb.erb
|
342
334
|
- lib/generators/administrate/routes/routes_generator.rb
|
343
335
|
- lib/generators/administrate/routes/templates/routes.rb.erb
|
336
|
+
- lib/generators/administrate/test_record.rb
|
344
337
|
- lib/generators/administrate/views/edit_generator.rb
|
345
338
|
- lib/generators/administrate/views/field_generator.rb
|
346
339
|
- lib/generators/administrate/views/form_generator.rb
|
@@ -370,7 +363,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
370
363
|
- !ruby/object:Gem::Version
|
371
364
|
version: '0'
|
372
365
|
requirements: []
|
373
|
-
rubygems_version: 3.
|
366
|
+
rubygems_version: 3.4.20
|
374
367
|
signing_key:
|
375
368
|
specification_version: 4
|
376
369
|
summary: A Rails engine for creating super-flexible admin dashboards
|
@@ -1,14 +0,0 @@
|
|
1
|
-
$(function () {
|
2
|
-
$('[data-type="time"]').datetimepicker({
|
3
|
-
debug: false,
|
4
|
-
format: 'HH:mm:ss',
|
5
|
-
});
|
6
|
-
$('[data-type="datetime"]').datetimepicker({
|
7
|
-
debug: false,
|
8
|
-
format: 'YYYY-MM-DD HH:mm:ss',
|
9
|
-
});
|
10
|
-
$('[data-type="date"]').datetimepicker({
|
11
|
-
debug: false,
|
12
|
-
format: 'YYYY-MM-DD',
|
13
|
-
});
|
14
|
-
});
|
data/config/i18n-tasks.yml
DELETED
@@ -1,18 +0,0 @@
|
|
1
|
-
search:
|
2
|
-
paths:
|
3
|
-
- "app/controllers"
|
4
|
-
- "app/helpers"
|
5
|
-
- "app/pages"
|
6
|
-
- "app/views"
|
7
|
-
|
8
|
-
data:
|
9
|
-
read:
|
10
|
-
- config/locales/administrate.%{locale}.yml
|
11
|
-
|
12
|
-
ignore_unused:
|
13
|
-
- activerecord.*
|
14
|
-
- administrate.*
|
15
|
-
- date.*
|
16
|
-
- simple_form.*
|
17
|
-
- time.*
|
18
|
-
- titles.*
|
data/config/routes.rb
DELETED