administrate 0.12.0 → 0.17.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (115) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/javascripts/administrate/components/associative.js +5 -0
  3. data/app/assets/javascripts/administrate/components/date_time_picker.js +6 -2
  4. data/app/assets/javascripts/administrate/components/table.js +1 -1
  5. data/app/assets/stylesheets/administrate/base/_tables.scss +3 -0
  6. data/app/assets/stylesheets/administrate/components/_attributes.scss +4 -3
  7. data/app/assets/stylesheets/administrate/components/_buttons.scss +11 -0
  8. data/app/assets/stylesheets/administrate/components/_cells.scss +2 -0
  9. data/app/assets/stylesheets/administrate/components/_field-unit.scss +17 -4
  10. data/app/assets/stylesheets/administrate/components/_flashes.scss +0 -8
  11. data/app/assets/stylesheets/administrate/components/_main-content.scss +1 -0
  12. data/app/assets/stylesheets/administrate/components/_navigation.scss +2 -3
  13. data/app/assets/stylesheets/administrate/library/_variables.scss +10 -8
  14. data/app/controllers/administrate/application_controller.rb +47 -13
  15. data/app/helpers/administrate/application_helper.rb +32 -14
  16. data/app/views/administrate/application/_collection.html.erb +24 -26
  17. data/app/views/administrate/application/_collection_header_actions.html.erb +4 -0
  18. data/app/views/administrate/application/_collection_item_actions.html.erb +17 -0
  19. data/app/views/administrate/application/_flashes.html.erb +1 -0
  20. data/app/views/administrate/application/_form.html.erb +3 -3
  21. data/app/views/administrate/application/_icons.html.erb +1 -1
  22. data/app/views/administrate/application/_index_header.html.erb +28 -0
  23. data/app/views/administrate/application/_navigation.html.erb +5 -3
  24. data/app/views/administrate/application/index.html.erb +9 -29
  25. data/app/views/administrate/application/show.html.erb +1 -1
  26. data/app/views/fields/belongs_to/_form.html.erb +3 -3
  27. data/app/views/fields/belongs_to/_index.html.erb +1 -1
  28. data/app/views/fields/belongs_to/_show.html.erb +1 -1
  29. data/app/views/fields/date/_form.html.erb +24 -0
  30. data/app/views/fields/date/_index.html.erb +21 -0
  31. data/app/views/fields/date/_show.html.erb +21 -0
  32. data/app/views/fields/has_one/_index.html.erb +1 -1
  33. data/app/views/fields/has_one/_show.html.erb +4 -4
  34. data/app/views/fields/number/_form.html.erb +1 -1
  35. data/app/views/fields/polymorphic/_show.html.erb +1 -1
  36. data/app/views/fields/select/_form.html.erb +23 -9
  37. data/app/views/fields/string/_show.html.erb +2 -2
  38. data/app/views/fields/text/_show.html.erb +2 -3
  39. data/app/views/fields/time/_form.html.erb +3 -2
  40. data/app/views/fields/time/_index.html.erb +3 -1
  41. data/app/views/fields/time/_show.html.erb +3 -1
  42. data/app/views/fields/url/_index.html.erb +1 -1
  43. data/app/views/fields/url/_show.html.erb +1 -1
  44. data/app/views/layouts/administrate/application.html.erb +1 -0
  45. data/config/locales/administrate.ar.yml +2 -0
  46. data/config/locales/administrate.bs.yml +2 -0
  47. data/config/locales/administrate.ca.yml +2 -0
  48. data/config/locales/administrate.da.yml +2 -0
  49. data/config/locales/administrate.de.yml +2 -0
  50. data/config/locales/administrate.en.yml +2 -0
  51. data/config/locales/administrate.es.yml +2 -0
  52. data/config/locales/administrate.fi.yml +30 -0
  53. data/config/locales/administrate.fr.yml +4 -2
  54. data/config/locales/administrate.id.yml +2 -0
  55. data/config/locales/administrate.it.yml +2 -0
  56. data/config/locales/administrate.ja.yml +2 -0
  57. data/config/locales/administrate.ko.yml +2 -0
  58. data/config/locales/administrate.nl.yml +7 -5
  59. data/config/locales/administrate.pl.yml +2 -0
  60. data/config/locales/administrate.pt-BR.yml +4 -2
  61. data/config/locales/administrate.pt.yml +4 -2
  62. data/config/locales/administrate.ru.yml +2 -0
  63. data/config/locales/{administrate.al.yml → administrate.sq.yml} +3 -1
  64. data/config/locales/administrate.sv.yml +2 -0
  65. data/config/locales/administrate.tr.yml +30 -0
  66. data/config/locales/administrate.uk.yml +2 -0
  67. data/config/locales/administrate.vi.yml +2 -0
  68. data/config/locales/administrate.zh-CN.yml +2 -0
  69. data/config/locales/administrate.zh-TW.yml +2 -0
  70. data/config/unicorn.rb +8 -13
  71. data/docs/adding_controllers_without_related_model.md +52 -0
  72. data/docs/adding_custom_field_types.md +3 -1
  73. data/docs/authentication.md +3 -1
  74. data/docs/authorization.md +5 -3
  75. data/docs/customizing_attribute_partials.md +4 -1
  76. data/docs/customizing_controller_actions.md +48 -1
  77. data/docs/customizing_dashboards.md +90 -37
  78. data/docs/customizing_page_views.md +18 -4
  79. data/docs/extending_administrate.md +27 -0
  80. data/docs/getting_started.md +35 -11
  81. data/docs/guides/hiding_dashboards_from_sidebar.md +19 -0
  82. data/docs/guides.md +5 -0
  83. data/docs/rails_api.md +5 -3
  84. data/lib/administrate/base_dashboard.rb +35 -12
  85. data/lib/administrate/custom_dashboard.rb +15 -0
  86. data/lib/administrate/engine.rb +7 -0
  87. data/lib/administrate/field/associative.rb +49 -5
  88. data/lib/administrate/field/base.rb +35 -9
  89. data/lib/administrate/field/belongs_to.rb +13 -3
  90. data/lib/administrate/field/date.rb +20 -0
  91. data/lib/administrate/field/deferred.rb +22 -3
  92. data/lib/administrate/field/has_many.rb +15 -2
  93. data/lib/administrate/field/has_one.rb +32 -12
  94. data/lib/administrate/field/number.rb +19 -2
  95. data/lib/administrate/field/polymorphic.rb +5 -5
  96. data/lib/administrate/field/select.rb +10 -1
  97. data/lib/administrate/field/time.rb +11 -0
  98. data/lib/administrate/namespace.rb +5 -1
  99. data/lib/administrate/order.rb +17 -7
  100. data/lib/administrate/page/base.rb +1 -3
  101. data/lib/administrate/page/form.rb +10 -3
  102. data/lib/administrate/resource_resolver.rb +2 -2
  103. data/lib/administrate/search.rb +47 -36
  104. data/lib/administrate/version.rb +1 -1
  105. data/lib/administrate/view_generator.rb +9 -3
  106. data/lib/administrate.rb +19 -0
  107. data/lib/generators/administrate/dashboard/dashboard_generator.rb +19 -15
  108. data/lib/generators/administrate/dashboard/templates/controller.rb.erb +22 -10
  109. data/lib/generators/administrate/dashboard/templates/dashboard.rb.erb +4 -4
  110. data/lib/generators/administrate/install/install_generator.rb +37 -1
  111. data/lib/generators/administrate/install/templates/application_controller.rb.erb +4 -4
  112. data/lib/generators/administrate/routes/routes_generator.rb +15 -25
  113. data/lib/generators/administrate/views/views_generator.rb +5 -4
  114. metadata +29 -43
  115. data/app/assets/javascripts/administrate/components/has_many_form.js +0 -3
@@ -5,30 +5,32 @@ else
5
5
  end
6
6
 
7
7
  require "rails/generators/base"
8
+ require "administrate/generator_helpers"
8
9
  require "administrate/namespace"
9
10
 
10
11
  module Administrate
11
12
  module Generators
12
13
  class RoutesGenerator < Rails::Generators::Base
14
+ include Administrate::GeneratorHelpers
13
15
  source_root File.expand_path("../templates", __FILE__)
14
16
  class_option :namespace, type: :string, default: "admin"
15
17
 
16
18
  def insert_dashboard_routes
17
- if should_route_dashboard?
19
+ if valid_dashboard_models.any?
18
20
  route(dashboard_routes)
19
21
  end
20
22
  end
21
23
 
22
24
  def warn_about_invalid_models
23
- namespaced_models.each do |invalid_model|
24
- puts "WARNING: Unable to generate a dashboard for #{invalid_model}."
25
- puts " Administrate does not yet support namespaced models."
26
- end
27
-
28
- models_without_tables.each do |invalid_model|
29
- puts "WARNING: Unable to generate a dashboard for #{invalid_model}."
30
- puts " It is not connected to a database table."
31
- puts " Make sure your database migrations are up to date."
25
+ invalid_dashboard_models.each do |model|
26
+ puts "WARNING: Unable to generate a dashboard for #{model}."
27
+ if namespaced_models.include?(model)
28
+ puts " - Administrate does not yet support namespaced models."
29
+ end
30
+ if models_without_tables.include?(model)
31
+ puts " - It is not connected to a database table."
32
+ puts " Make sure your database migrations are up to date."
33
+ end
32
34
  end
33
35
 
34
36
  unnamed_constants.each do |invalid_model|
@@ -49,15 +51,15 @@ module Administrate
49
51
  end
50
52
 
51
53
  def valid_dashboard_models
52
- database_models - invalid_database_models
54
+ database_models - invalid_dashboard_models
53
55
  end
54
56
 
55
57
  def database_models
56
58
  ActiveRecord::Base.descendants.reject(&:abstract_class?)
57
59
  end
58
60
 
59
- def invalid_database_models
60
- models_without_tables + namespaced_models + unnamed_constants
61
+ def invalid_dashboard_models
62
+ (models_without_tables + namespaced_models + unnamed_constants).uniq
61
63
  end
62
64
 
63
65
  def models_without_tables
@@ -76,21 +78,9 @@ module Administrate
76
78
  ERB.new(File.read(routes_file_path)).result(binding)
77
79
  end
78
80
 
79
- def routes_includes_resources?
80
- File.read(rails_routes_file_path).include?(dashboard_routes)
81
- end
82
-
83
- def rails_routes_file_path
84
- Rails.root.join("config/routes.rb")
85
- end
86
-
87
81
  def routes_file_path
88
82
  File.expand_path(find_in_source_paths("routes.rb.erb"))
89
83
  end
90
-
91
- def should_route_dashboard?
92
- routes_includes_resources? || valid_dashboard_models.any?
93
- end
94
84
  end
95
85
  end
96
86
  end
@@ -4,10 +4,11 @@ module Administrate
4
4
  module Generators
5
5
  class ViewsGenerator < Administrate::ViewGenerator
6
6
  def copy_templates
7
- call_generator("administrate:views:index", resource_path)
8
- call_generator("administrate:views:show", resource_path)
9
- call_generator("administrate:views:new", resource_path)
10
- call_generator("administrate:views:edit", resource_path)
7
+ view = "administrate:views:"
8
+ call_generator("#{view}index", resource_path, "--namespace", namespace)
9
+ call_generator("#{view}show", resource_path, "--namespace", namespace)
10
+ call_generator("#{view}new", resource_path, "--namespace", namespace)
11
+ call_generator("#{view}edit", resource_path, "--namespace", namespace)
11
12
  end
12
13
  end
13
14
  end
metadata CHANGED
@@ -1,15 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: administrate
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.12.0
4
+ version: 0.17.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nick Charlton
8
8
  - Grayson Wright
9
- autorequire:
9
+ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2019-09-10 00:00:00.000000000 Z
12
+ date: 2022-02-02 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: actionpack
@@ -17,56 +17,42 @@ dependencies:
17
17
  requirements:
18
18
  - - ">="
19
19
  - !ruby/object:Gem::Version
20
- version: '4.2'
20
+ version: '5.0'
21
21
  type: :runtime
22
22
  prerelease: false
23
23
  version_requirements: !ruby/object:Gem::Requirement
24
24
  requirements:
25
25
  - - ">="
26
26
  - !ruby/object:Gem::Version
27
- version: '4.2'
27
+ version: '5.0'
28
28
  - !ruby/object:Gem::Dependency
29
29
  name: actionview
30
30
  requirement: !ruby/object:Gem::Requirement
31
31
  requirements:
32
32
  - - ">="
33
33
  - !ruby/object:Gem::Version
34
- version: '4.2'
34
+ version: '5.0'
35
35
  type: :runtime
36
36
  prerelease: false
37
37
  version_requirements: !ruby/object:Gem::Requirement
38
38
  requirements:
39
39
  - - ">="
40
40
  - !ruby/object:Gem::Version
41
- version: '4.2'
41
+ version: '5.0'
42
42
  - !ruby/object:Gem::Dependency
43
43
  name: activerecord
44
44
  requirement: !ruby/object:Gem::Requirement
45
45
  requirements:
46
46
  - - ">="
47
47
  - !ruby/object:Gem::Version
48
- version: '4.2'
48
+ version: '5.0'
49
49
  type: :runtime
50
50
  prerelease: false
51
51
  version_requirements: !ruby/object:Gem::Requirement
52
52
  requirements:
53
53
  - - ">="
54
54
  - !ruby/object:Gem::Version
55
- version: '4.2'
56
- - !ruby/object:Gem::Dependency
57
- name: autoprefixer-rails
58
- requirement: !ruby/object:Gem::Requirement
59
- requirements:
60
- - - ">="
61
- - !ruby/object:Gem::Version
62
- version: '6.0'
63
- type: :runtime
64
- prerelease: false
65
- version_requirements: !ruby/object:Gem::Requirement
66
- requirements:
67
- - - ">="
68
- - !ruby/object:Gem::Version
69
- version: '6.0'
55
+ version: '5.0'
70
56
  - !ruby/object:Gem::Dependency
71
57
  name: datetime_picker_rails
72
58
  requirement: !ruby/object:Gem::Requirement
@@ -151,20 +137,6 @@ dependencies:
151
137
  - - "~>"
152
138
  - !ruby/object:Gem::Version
153
139
  version: '0.6'
154
- - !ruby/object:Gem::Dependency
155
- name: rspec-rails
156
- requirement: !ruby/object:Gem::Requirement
157
- requirements:
158
- - - ">="
159
- - !ruby/object:Gem::Version
160
- version: '0'
161
- type: :development
162
- prerelease: false
163
- version_requirements: !ruby/object:Gem::Requirement
164
- requirements:
165
- - - ">="
166
- - !ruby/object:Gem::Version
167
- version: '0'
168
140
  description: |
169
141
  Administrate is heavily inspired by projects like Rails Admin and ActiveAdmin,
170
142
  but aims to provide a better user experience for site admins,
@@ -187,8 +159,8 @@ extra_rdoc_files: []
187
159
  files:
188
160
  - Rakefile
189
161
  - app/assets/javascripts/administrate/application.js
162
+ - app/assets/javascripts/administrate/components/associative.js
190
163
  - app/assets/javascripts/administrate/components/date_time_picker.js
191
- - app/assets/javascripts/administrate/components/has_many_form.js
192
164
  - app/assets/javascripts/administrate/components/table.js
193
165
  - app/assets/stylesheets/administrate/application.scss
194
166
  - app/assets/stylesheets/administrate/base/_forms.scss
@@ -217,9 +189,12 @@ files:
217
189
  - app/controllers/concerns/administrate/punditize.rb
218
190
  - app/helpers/administrate/application_helper.rb
219
191
  - app/views/administrate/application/_collection.html.erb
192
+ - app/views/administrate/application/_collection_header_actions.html.erb
193
+ - app/views/administrate/application/_collection_item_actions.html.erb
220
194
  - app/views/administrate/application/_flashes.html.erb
221
195
  - app/views/administrate/application/_form.html.erb
222
196
  - app/views/administrate/application/_icons.html.erb
197
+ - app/views/administrate/application/_index_header.html.erb
223
198
  - app/views/administrate/application/_javascript.html.erb
224
199
  - app/views/administrate/application/_navigation.html.erb
225
200
  - app/views/administrate/application/_search.html.erb
@@ -234,6 +209,9 @@ files:
234
209
  - app/views/fields/boolean/_form.html.erb
235
210
  - app/views/fields/boolean/_index.html.erb
236
211
  - app/views/fields/boolean/_show.html.erb
212
+ - app/views/fields/date/_form.html.erb
213
+ - app/views/fields/date/_index.html.erb
214
+ - app/views/fields/date/_show.html.erb
237
215
  - app/views/fields/date_time/_form.html.erb
238
216
  - app/views/fields/date_time/_index.html.erb
239
217
  - app/views/fields/date_time/_show.html.erb
@@ -272,7 +250,6 @@ files:
272
250
  - app/views/fields/url/_show.html.erb
273
251
  - app/views/layouts/administrate/application.html.erb
274
252
  - config/i18n-tasks.yml
275
- - config/locales/administrate.al.yml
276
253
  - config/locales/administrate.ar.yml
277
254
  - config/locales/administrate.bs.yml
278
255
  - config/locales/administrate.ca.yml
@@ -280,6 +257,7 @@ files:
280
257
  - config/locales/administrate.de.yml
281
258
  - config/locales/administrate.en.yml
282
259
  - config/locales/administrate.es.yml
260
+ - config/locales/administrate.fi.yml
283
261
  - config/locales/administrate.fr.yml
284
262
  - config/locales/administrate.id.yml
285
263
  - config/locales/administrate.it.yml
@@ -290,13 +268,16 @@ files:
290
268
  - config/locales/administrate.pt-BR.yml
291
269
  - config/locales/administrate.pt.yml
292
270
  - config/locales/administrate.ru.yml
271
+ - config/locales/administrate.sq.yml
293
272
  - config/locales/administrate.sv.yml
273
+ - config/locales/administrate.tr.yml
294
274
  - config/locales/administrate.uk.yml
295
275
  - config/locales/administrate.vi.yml
296
276
  - config/locales/administrate.zh-CN.yml
297
277
  - config/locales/administrate.zh-TW.yml
298
278
  - config/routes.rb
299
279
  - config/unicorn.rb
280
+ - docs/adding_controllers_without_related_model.md
300
281
  - docs/adding_custom_field_types.md
301
282
  - docs/authentication.md
302
283
  - docs/authorization.md
@@ -304,15 +285,20 @@ files:
304
285
  - docs/customizing_controller_actions.md
305
286
  - docs/customizing_dashboards.md
306
287
  - docs/customizing_page_views.md
288
+ - docs/extending_administrate.md
307
289
  - docs/getting_started.md
290
+ - docs/guides.md
291
+ - docs/guides/hiding_dashboards_from_sidebar.md
308
292
  - docs/rails_api.md
309
293
  - lib/administrate.rb
310
294
  - lib/administrate/base_dashboard.rb
295
+ - lib/administrate/custom_dashboard.rb
311
296
  - lib/administrate/engine.rb
312
297
  - lib/administrate/field/associative.rb
313
298
  - lib/administrate/field/base.rb
314
299
  - lib/administrate/field/belongs_to.rb
315
300
  - lib/administrate/field/boolean.rb
301
+ - lib/administrate/field/date.rb
316
302
  - lib/administrate/field/date_time.rb
317
303
  - lib/administrate/field/deferred.rb
318
304
  - lib/administrate/field/email.rb
@@ -365,11 +351,11 @@ files:
365
351
  - lib/generators/administrate/views/show_generator.rb
366
352
  - lib/generators/administrate/views/views_generator.rb
367
353
  - lib/tasks/administrate_tasks.rake
368
- homepage: https://administrate-prototype.herokuapp.com/
354
+ homepage: https://administrate-demo.herokuapp.com/
369
355
  licenses:
370
356
  - MIT
371
357
  metadata: {}
372
- post_install_message:
358
+ post_install_message:
373
359
  rdoc_options: []
374
360
  require_paths:
375
361
  - lib
@@ -384,8 +370,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
384
370
  - !ruby/object:Gem::Version
385
371
  version: '0'
386
372
  requirements: []
387
- rubygems_version: 3.0.3
388
- signing_key:
373
+ rubygems_version: 3.1.6
374
+ signing_key:
389
375
  specification_version: 4
390
376
  summary: A Rails engine for creating super-flexible admin dashboards
391
377
  test_files: []
@@ -1,3 +0,0 @@
1
- $(function() {
2
- $(".field-unit--has-many select").selectize({});
3
- });