activeadmin 3.2.2 → 3.2.5

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a0548655f225688960699146ba45dcacd0b22375225cd51a835e0226a9347c0a
4
- data.tar.gz: accc8e86bd98b8c7d2f1dca258f528e6a36941e3c7cc8633605cfbb05fd652d6
3
+ metadata.gz: 99b9db7d0e925b5764b5141008734fa147cbb742e0f3e62476a7dcc8fb1f0485
4
+ data.tar.gz: b0f5aa9c2dc4c1923e7cac2b893a0a2d871ddb67cdec7183dc7886b5adea97e6
5
5
  SHA512:
6
- metadata.gz: 9fdd7e6072424d783695be0cf5887800d894bd83a18511177d06bd16604b99b04ae491bcd281efb4acffd425b95fc747e2ede748574c07adc507a18380096184
7
- data.tar.gz: 3756bf37298eab6a6227e56a76cf4ebfa4563f718a9f8c67feeb34446c56e1b2bce8243cbf5f267801e3aa42ff12f56acf01e37bef409a80a1f6180072c2aa38
6
+ metadata.gz: efa9d0ded1ac54f680ab3409019cf425a578d18bd89c73b4a39cc219cbbb50e25abeb294d771724394648432704e5bbcb10729ea5aa4e89150c00c3de876755d
7
+ data.tar.gz: c85cd6bfc4f4cbaa4345d960c8c797ab4066d58f131116b79100195edd6e269ac8f1867441442801c7a7eea4cefebe36506db373284d28b7ee48fa826d05bdcc
data/CHANGELOG.md CHANGED
@@ -2,6 +2,38 @@
2
2
 
3
3
  ## Unreleased
4
4
 
5
+ ## 3.2.5 [☰](https://github.com/activeadmin/activeadmin/compare/v3.2.4..v3.2.5)
6
+
7
+ ### Enhancements
8
+
9
+ * Backport Add favicon to template app to fix Rails 7.2 test suite run [#8468] by [@mgrunberg]
10
+ * Backport Use attribute_types instead of columns_hash to determine type [#8469] by [@mgrunberg]
11
+ * Backport Optimize count query for pagination_total: false option [#8470] by [@mgrunberg]
12
+
13
+ ### Bug Fixes
14
+
15
+ * Restore inner span tag to form inputs legend [#8467] by [@denisahearn]
16
+
17
+ ## 3.2.4 [☰](https://github.com/activeadmin/activeadmin/compare/v3.2.3..v3.2.4)
18
+
19
+ ### Enhancements
20
+
21
+ * Test against Rails 7.2 [#8434] by [@mgrunberg]
22
+
23
+ ### Bug Fixes
24
+
25
+ * Backport Improve form f.inputs attributes rendering [#8446] by [@amiel]
26
+
27
+ ## 3.2.3 [☰](https://github.com/activeadmin/activeadmin/compare/v3.2.2..v3.2.3)
28
+
29
+ ### Enhancements
30
+
31
+ * Backport better implementation of counter-cache-column check [#8412] by [@plashchynski]
32
+
33
+ ### Bug Fixes
34
+
35
+ * Remove deprecation warnings when building with dart sass >= 1.77.7 [#8405] by [@mgrunberg]
36
+
5
37
  ## 3.2.2 [☰](https://github.com/activeadmin/activeadmin/compare/v3.2.1..v3.2.2)
6
38
 
7
39
  ### Security Fixes
@@ -920,6 +952,14 @@ Please check [0-6-stable] for previous changes.
920
952
  [#8311]: https://github.com/activeadmin/activeadmin/pull/8311
921
953
  [#8329]: https://github.com/activeadmin/activeadmin/pull/8329
922
954
  [#8349]: https://github.com/activeadmin/activeadmin/pull/8349
955
+ [#8405]: https://github.com/activeadmin/activeadmin/pull/8405
956
+ [#8412]: https://github.com/activeadmin/activeadmin/pull/8412
957
+ [#8434]: https://github.com/activeadmin/activeadmin/pull/8434
958
+ [#8446]: https://github.com/activeadmin/activeadmin/pull/8446
959
+ [#8467]: https://github.com/activeadmin/activeadmin/pull/8467
960
+ [#8468]: https://github.com/activeadmin/activeadmin/pull/8468
961
+ [#8469]: https://github.com/activeadmin/activeadmin/pull/8469
962
+ [#8470]: https://github.com/activeadmin/activeadmin/pull/8470
923
963
 
924
964
  [@1000ship]: https://github.com/1000ship
925
965
  [@5t111111]: https://github.com/5t111111
@@ -948,6 +988,7 @@ Please check [0-6-stable] for previous changes.
948
988
  [@craigmcnamara]: https://github.com/craigmcnamara
949
989
  [@DanielHeath]: https://github.com/DanielHeath
950
990
  [@deivid-rodriguez]: https://github.com/deivid-rodriguez
991
+ [@denisahearn]: https://github.com/denisahearn
951
992
  [@dennisvdvliet]: https://github.com/dennisvdvliet
952
993
  [@dhyegofernando]: https://github.com/dhyegofernando
953
994
  [@dkniffin]: https://github.com/dkniffin
@@ -1014,6 +1055,7 @@ Please check [0-6-stable] for previous changes.
1014
1055
  [@orkhan]: https://github.com/orkhan
1015
1056
  [@panasyuk]: https://github.com/panasyuk
1016
1057
  [@PChambino]: https://github.com/PChambino
1058
+ [@plashchynski]: https://github.com/plashchynski
1017
1059
  [@potatosalad]: https://github.com/potatosalad
1018
1060
  [@pranas]: https://github.com/pranas
1019
1061
  [@ray-curran]: https://github.com/ray-curran
data/README.md CHANGED
@@ -85,8 +85,8 @@ Thanks to [Tidelift][tidelift] and all our Tidelift subscribers.
85
85
  Thanks to [Open Collective][opencollective contributors] and all our Open Collective contributors.
86
86
 
87
87
  [Arbre]: https://github.com/activeadmin/arbre
88
- [Devise]: https://github.com/plataformatec/devise
89
- [Formtastic]: https://github.com/justinfrench/formtastic
88
+ [Devise]: https://github.com/heartcombo/devise
89
+ [Formtastic]: https://github.com/formtastic/formtastic
90
90
  [Inherited Resources]: https://github.com/activeadmin/inherited_resources
91
91
  [Kaminari]: https://github.com/kaminari/kaminari
92
92
  [Ransack]: https://github.com/activerecord-hackery/ransack
@@ -220,9 +220,8 @@ form {
220
220
  /* Buttons */
221
221
 
222
222
  input[type=submit], input[type=button], button {
223
- @include dark-button;
224
223
  cursor: pointer;
225
-
224
+ @include dark-button;
226
225
  }
227
226
 
228
227
  .buttons, .actions {
@@ -2,10 +2,10 @@
2
2
  .comments {
3
3
 
4
4
  .active_admin_comment {
5
- @include clearfix;
6
5
  margin-top: 10px;
7
6
  margin-bottom: 20px;
8
7
  max-width: 700px;
8
+ @include clearfix;
9
9
 
10
10
  .active_admin_comment_meta {
11
11
  width: 130px;
@@ -3,9 +3,12 @@
3
3
 
4
4
  .dropdown_menu_button {
5
5
  @include light-button;
6
- position: relative;
7
- padding-right: 22px !important;
8
- cursor: pointer;
6
+
7
+ & {
8
+ position: relative;
9
+ padding-right: 22px !important;
10
+ cursor: pointer;
11
+ }
9
12
 
10
13
  &:before {
11
14
  content: ' ';
@@ -139,11 +142,11 @@
139
142
  }
140
143
 
141
144
  &:last-child {
145
+ border: none;
142
146
  a {
143
147
  border-bottom-left-radius: 2px;
144
148
  border-bottom-right-radius: 2px;
145
149
  }
146
- border: none;
147
150
  }
148
151
  }
149
152
  }
@@ -38,8 +38,11 @@
38
38
  margin-left: 4px;
39
39
  select {
40
40
  @include light-button;
41
- @include rounded(0px);
42
- padding: 1px 5px;
41
+
42
+ & {
43
+ @include rounded(0px);
44
+ padding: 1px 5px;
45
+ }
43
46
  }
44
47
  }
45
48
 
@@ -1,6 +1,6 @@
1
1
  .table_tools {
2
- @include clearfix;
3
2
  margin-bottom: 16px;
3
+ @include clearfix;
4
4
  }
5
5
 
6
6
  .table_tools .dropdown_menu {
@@ -9,11 +9,14 @@
9
9
 
10
10
  a.table_tools_button, .table_tools .dropdown_menu_button {
11
11
  @include light-button;
12
- @include gradient(#FFFFFF, #F0F0F0);
13
- @include border-colors(#d9d9d9, #d0d0d0, #c5c5c5);
14
- font-size: 0.9em;
15
- padding: 4px 14px 4px;
16
- margin: 0;
12
+
13
+ & {
14
+ @include gradient(#FFFFFF, #F0F0F0);
15
+ @include border-colors(#d9d9d9, #d0d0d0, #c5c5c5);
16
+ font-size: 0.9em;
17
+ padding: 4px 14px 4px;
18
+ margin: 0;
19
+ }
17
20
 
18
21
  &:not(.disabled) {
19
22
  &:hover {
@@ -28,13 +28,16 @@
28
28
 
29
29
  a {
30
30
  @include light-button;
31
- @include gradient(#FFFFFF, #F0F0F0);
32
- @include border-colors(#d9d9d9, #d0d0d0, #c5c5c5);
33
- text-decoration: none;
34
- border-radius: 0;
35
- border-width: 1px .5px 1px .5px;
36
- margin-right: 0;
37
- padding: 4px 14px 4px;
31
+
32
+ & {
33
+ @include gradient(#FFFFFF, #F0F0F0);
34
+ @include border-colors(#d9d9d9, #d0d0d0, #c5c5c5);
35
+ text-decoration: none;
36
+ border-radius: 0;
37
+ border-width: 1px .5px 1px .5px;
38
+ margin-right: 0;
39
+ padding: 4px 14px 4px;
40
+ }
38
41
 
39
42
  &:not(.disabled) {
40
43
  &:hover {
@@ -17,13 +17,13 @@
17
17
  }
18
18
 
19
19
  @mixin default-button {
20
- @include basic-button;
21
20
  @include gradient(lighten($primary-color, 15%), darken($primary-color, 12%));
22
21
  @include text-shadow(#000);
23
22
  box-shadow: 0 1px 1px rgba(0,0,0,0.10), 0 1px 0 0px rgba(255,255,255, 0.2) inset;
24
23
  border: solid 1px #484e53;
25
24
  @include border-colors(#616a71, #484e53, #363b3f);
26
25
  color: #efefef;
26
+ @include basic-button;
27
27
 
28
28
  &:not(.disabled) {
29
29
  &:hover{
@@ -38,13 +38,13 @@
38
38
  }
39
39
 
40
40
  @mixin light-button {
41
- @include basic-button;
42
41
  @include gradient(#FFFFFF, #E7E7E7);
43
42
  box-shadow: 0 1px 1px rgba(0,0,0,0.10), 0 1px 0 0 rgba(255,255,255, 0.8) inset;
44
43
  border: solid 1px #c7c7c7;
45
44
  @include border-colors(#d3d3d3, #c7c7c7, #c2c2c2);
46
45
  @include text-shadow;
47
46
  color: $primary-color;
47
+ @include basic-button;
48
48
 
49
49
  &:not(.disabled) {
50
50
  &:hover {
@@ -28,13 +28,13 @@ body.logged_out {
28
28
  @include no-shadow;
29
29
  background: none;
30
30
  padding: 0;
31
+ margin-bottom: 0;
31
32
  li { padding: 10px 0; }
32
33
 
33
34
  input[type=text], input[type=email], input[type=password] {
34
35
  width: 70%;
35
36
  }
36
37
  &.buttons { margin-left: 20%; }
37
- margin-bottom: 0;
38
38
  }
39
39
  }
40
40
 
@@ -10,10 +10,10 @@
10
10
 
11
11
  // -------------------------------------- Index Footer (Under Table)
12
12
  #index_footer {
13
- @include clearfix;
14
13
  padding-top: 5px;
15
14
  text-align: right;
16
15
  font-size: 0.85em;
16
+ @include clearfix;
17
17
  }
18
18
 
19
19
  .index_content { clear: both; }
@@ -1,6 +1,5 @@
1
1
  #title_bar {
2
2
  @include section-header;
3
- @include clearfix;
4
3
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.37);
5
4
  display: table;
6
5
  border-bottom-color: #EEE;
@@ -9,6 +8,7 @@
9
8
  margin: 0;
10
9
  padding: 10px $horizontal-page-margin;
11
10
  z-index: 800;
11
+ @include clearfix;
12
12
 
13
13
  #titlebar_left, #titlebar_right {
14
14
  height: 50px;
@@ -32,8 +32,11 @@
32
32
  span.action_item {
33
33
  & > a, & > .dropdown_menu > a {
34
34
  @include light-button;
35
- padding: 12px 17px 10px;
36
- margin: 0px;
35
+
36
+ & {
37
+ padding: 12px 17px 10px;
38
+ margin: 0px;
39
+ }
37
40
  }
38
41
  }
39
42
  }
@@ -42,7 +42,7 @@ module ActiveAdmin
42
42
  end
43
43
 
44
44
  def format_action(action, subject)
45
- # https://github.com/varvet/pundit/blob/master/lib/generators/pundit/install/templates/application_policy.rb
45
+ # https://github.com/varvet/pundit/blob/main/lib/generators/pundit/install/templates/application_policy.rb
46
46
  case action
47
47
  when Auth::READ then subject.is_a?(Class) ? :index? : :show?
48
48
  when Auth::DESTROY then subject.is_a?(Class) ? :destroy_all? : :destroy?
@@ -37,7 +37,14 @@ module ActiveAdmin
37
37
  end
38
38
 
39
39
  def counter_cache_col?(c)
40
- c.name.end_with?("_count")
40
+ # This helper is called inside a loop. Let's memoize the result.
41
+ @counter_cache_columns ||= begin
42
+ resource_class.reflect_on_all_associations(:has_many)
43
+ .select(&:has_cached_counter?)
44
+ .map(&:counter_cache_column)
45
+ end
46
+
47
+ @counter_cache_columns.include?(c.name)
41
48
  end
42
49
 
43
50
  def filtered_col?(c)
@@ -61,7 +61,7 @@ module ActiveAdmin
61
61
  def self.wrap!(parent, name)
62
62
  ::Class.new parent do
63
63
  delegate :reorder, :page, :current_page, :total_pages, :limit_value,
64
- :total_count, :total_pages, :offset, :to_key, :group_values,
64
+ :total_count, :offset, :to_key, :group_values,
65
65
  :except, :find_each, :ransack, to: :object
66
66
 
67
67
  define_singleton_method(:name) { name }
@@ -1,4 +1,4 @@
1
1
  # frozen_string_literal: true
2
2
  module ActiveAdmin
3
- VERSION = "3.2.2"
3
+ VERSION = "3.2.5"
4
4
  end
@@ -108,8 +108,8 @@ module ActiveAdmin
108
108
  when TrueClass, FalseClass
109
109
  true
110
110
  else
111
- if resource.class.respond_to? :columns_hash
112
- column = resource.class.columns_hash[attr.to_s] and column.type == :boolean
111
+ if resource.class.respond_to? :attribute_types
112
+ resource.class.attribute_types[attr.to_s].is_a?(ActiveModel::Type::Boolean)
113
113
  end
114
114
  end
115
115
  end
@@ -127,12 +127,24 @@ module ActiveAdmin
127
127
  html_options[:class] ||= "inputs"
128
128
  legend = args.shift if args.first.is_a?(::String)
129
129
  legend = html_options.delete(:name) if html_options.key?(:name)
130
- legend_tag = legend ? "<legend><span>#{ERB::Util.html_escape(legend)}</span></legend>" : ""
131
- fieldset_attrs = html_options.map { |k, v| %Q{#{k}="#{v}"} }.join(" ")
130
+ legend_tag = legend ? helpers.tag.legend(helpers.tag.span(legend), class: "fieldset-title") : ""
131
+ fieldset_attrs = tag_attributes html_options
132
132
  @opening_tag = "<fieldset #{fieldset_attrs}>#{legend_tag}<ol>"
133
133
  @closing_tag = "</ol></fieldset>"
134
134
  super(*(args << html_options), &block)
135
135
  end
136
+
137
+ private
138
+
139
+ def tag_attributes(html_options)
140
+ if Rails::VERSION::MAJOR <= 6
141
+ # Reimplement tag.attributes to backport support for Rails 6.1.
142
+ # TODO: this can be removed when support for Rails 6.x is dropped
143
+ helpers.tag.tag_options(html_options.to_h).to_s.strip.html_safe
144
+ else
145
+ helpers.tag.attributes html_options
146
+ end
147
+ end
136
148
  end
137
149
 
138
150
  class SemanticActionsProxy < FormtasticProxy
@@ -103,7 +103,10 @@ module ActiveAdmin
103
103
  # you pass in the :total_pages option. We issue a query to determine
104
104
  # if there is another page or not, but the limit/offset make this
105
105
  # query fast.
106
- offset = collection.offset(collection.current_page * collection.limit_value).limit(1).count
106
+ offset_scope = collection.offset(collection.current_page * collection.limit_value)
107
+ # Support array collections. Kaminari::PaginatableArray does not respond to except
108
+ offset_scope = offset_scope.except(:select, :order) if offset_scope.respond_to?(:except)
109
+ offset = offset_scope.limit(1).count
107
110
  options[:total_pages] = collection.current_page + offset
108
111
  options[:right] = 0
109
112
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: activeadmin
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.2.2
4
+ version: 3.2.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Charles Maresh
@@ -15,7 +15,7 @@ authors:
15
15
  autorequire:
16
16
  bindir: bin
17
17
  cert_chain: []
18
- date: 2024-05-31 00:00:00.000000000 Z
18
+ date: 2024-09-05 00:00:00.000000000 Z
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
21
21
  name: arbre
@@ -533,7 +533,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
533
533
  - !ruby/object:Gem::Version
534
534
  version: '0'
535
535
  requirements: []
536
- rubygems_version: 3.5.11
536
+ rubygems_version: 3.5.16
537
537
  signing_key:
538
538
  specification_version: 4
539
539
  summary: Active Admin is a Ruby on Rails plugin for generating administration style