rails_admin 2.0.0.beta → 2.0.0.rc

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.
Files changed (178) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +1 -1
  3. data/README.md +1 -1
  4. data/app/assets/javascripts/rails_admin/custom/ui.js +1 -0
  5. data/app/assets/javascripts/rails_admin/ra.filtering-multiselect.js +1 -1
  6. data/app/assets/javascripts/rails_admin/ra.i18n.js +28 -0
  7. data/app/assets/javascripts/rails_admin/ra.nested-form-hooks.js +57 -0
  8. data/app/assets/javascripts/rails_admin/ra.sidescroll.js +31 -0
  9. data/app/assets/javascripts/rails_admin/ra.widgets.js +371 -0
  10. data/app/assets/javascripts/rails_admin/ui.js +135 -0
  11. data/app/assets/stylesheets/rails_admin/ra.widgets.scss +4 -0
  12. data/app/helpers/rails_admin/application_helper.rb +17 -2
  13. data/app/views/layouts/rails_admin/_head.html.haml +7 -0
  14. data/app/views/layouts/rails_admin/_secondary_navigation.html.haml +1 -1
  15. data/app/views/layouts/rails_admin/_sidebar_navigation.html.haml +2 -1
  16. data/app/views/layouts/rails_admin/application.html.haml +3 -8
  17. data/app/views/rails_admin/main/_form_file_upload.html.haml +3 -3
  18. data/app/views/rails_admin/main/_form_multiple_file_upload.html.haml +6 -4
  19. data/config/locales/rails_admin.en.yml +1 -0
  20. data/lib/generators/rails_admin/templates/initializer.erb +2 -2
  21. data/lib/rails_admin.rb +0 -1
  22. data/lib/rails_admin/abstract_model.rb +1 -1
  23. data/lib/rails_admin/adapters/active_record.rb +12 -3
  24. data/lib/rails_admin/adapters/mongoid.rb +14 -0
  25. data/lib/rails_admin/bootstrap-sass.rb +1 -1
  26. data/lib/rails_admin/config.rb +4 -6
  27. data/lib/rails_admin/config/actions/base.rb +17 -1
  28. data/lib/rails_admin/config/actions/edit.rb +1 -3
  29. data/lib/rails_admin/config/actions/index.rb +1 -1
  30. data/lib/rails_admin/config/actions/new.rb +1 -3
  31. data/lib/rails_admin/config/fields.rb +0 -1
  32. data/lib/rails_admin/config/fields/association.rb +1 -1
  33. data/lib/rails_admin/config/fields/types/action_text.rb +1 -2
  34. data/lib/rails_admin/config/fields/types/all.rb +0 -1
  35. data/lib/rails_admin/config/fields/types/ck_editor.rb +2 -2
  36. data/lib/rails_admin/config/fields/types/code_mirror.rb +2 -2
  37. data/lib/rails_admin/config/fields/types/color.rb +2 -2
  38. data/lib/rails_admin/config/fields/types/file_upload.rb +6 -2
  39. data/lib/rails_admin/config/fields/types/froala.rb +2 -2
  40. data/lib/rails_admin/config/fields/types/hidden.rb +2 -2
  41. data/lib/rails_admin/config/fields/types/multiple_active_storage.rb +1 -1
  42. data/lib/rails_admin/config/fields/types/multiple_carrierwave.rb +15 -3
  43. data/lib/rails_admin/config/fields/types/multiple_file_upload.rb +17 -3
  44. data/lib/rails_admin/config/fields/types/polymorphic_association.rb +7 -0
  45. data/lib/rails_admin/config/fields/types/shrine.rb +5 -1
  46. data/lib/rails_admin/config/fields/types/simple_mde.rb +2 -2
  47. data/lib/rails_admin/config/fields/types/string.rb +2 -2
  48. data/lib/rails_admin/config/fields/types/string_like.rb +19 -0
  49. data/lib/rails_admin/config/fields/types/text.rb +2 -2
  50. data/lib/rails_admin/config/fields/types/wysihtml5.rb +2 -2
  51. data/lib/rails_admin/extensions/cancancan/authorization_adapter.rb +45 -21
  52. data/lib/rails_admin/extensions/paper_trail/auditing_adapter.rb +4 -1
  53. data/lib/rails_admin/version.rb +1 -1
  54. data/{app → vendor}/assets/images/rails_admin/bootstrap/glyphicons-halflings-white.png +0 -0
  55. data/{app → vendor}/assets/images/rails_admin/bootstrap/glyphicons-halflings.png +0 -0
  56. data/{app → vendor}/assets/images/rails_admin/colorpicker/colorpicker_background.png +0 -0
  57. data/{app → vendor}/assets/images/rails_admin/colorpicker/colorpicker_hex.png +0 -0
  58. data/{app → vendor}/assets/images/rails_admin/colorpicker/colorpicker_hsb_b.png +0 -0
  59. data/{app → vendor}/assets/images/rails_admin/colorpicker/colorpicker_hsb_h.png +0 -0
  60. data/{app → vendor}/assets/images/rails_admin/colorpicker/colorpicker_hsb_s.png +0 -0
  61. data/{app → vendor}/assets/images/rails_admin/colorpicker/colorpicker_indic.gif +0 -0
  62. data/{app → vendor}/assets/images/rails_admin/colorpicker/colorpicker_overlay.png +0 -0
  63. data/{app → vendor}/assets/images/rails_admin/colorpicker/colorpicker_rgb_b.png +0 -0
  64. data/{app → vendor}/assets/images/rails_admin/colorpicker/colorpicker_rgb_g.png +0 -0
  65. data/{app → vendor}/assets/images/rails_admin/colorpicker/colorpicker_rgb_r.png +0 -0
  66. data/{app → vendor}/assets/images/rails_admin/colorpicker/colorpicker_select.gif +0 -0
  67. data/{app → vendor}/assets/images/rails_admin/colorpicker/colorpicker_submit.png +0 -0
  68. data/{app → vendor}/assets/images/rails_admin/colorpicker/custom_background.png +0 -0
  69. data/{app → vendor}/assets/images/rails_admin/colorpicker/custom_hex.png +0 -0
  70. data/{app → vendor}/assets/images/rails_admin/colorpicker/custom_hsb_b.png +0 -0
  71. data/{app → vendor}/assets/images/rails_admin/colorpicker/custom_hsb_h.png +0 -0
  72. data/{app → vendor}/assets/images/rails_admin/colorpicker/custom_hsb_s.png +0 -0
  73. data/{app → vendor}/assets/images/rails_admin/colorpicker/custom_indic.gif +0 -0
  74. data/{app → vendor}/assets/images/rails_admin/colorpicker/custom_rgb_b.png +0 -0
  75. data/{app → vendor}/assets/images/rails_admin/colorpicker/custom_rgb_g.png +0 -0
  76. data/{app → vendor}/assets/images/rails_admin/colorpicker/custom_rgb_r.png +0 -0
  77. data/{app → vendor}/assets/images/rails_admin/colorpicker/custom_submit.png +0 -0
  78. data/{app → vendor}/assets/images/rails_admin/colorpicker/select.png +0 -0
  79. data/{app → vendor}/assets/images/rails_admin/colorpicker/select2.png +0 -0
  80. data/{app → vendor}/assets/images/rails_admin/colorpicker/slider.png +0 -0
  81. data/{app → vendor}/assets/javascripts/rails_admin/bootstrap/bootstrap-affix.js +0 -0
  82. data/{app → vendor}/assets/javascripts/rails_admin/bootstrap/bootstrap-alert.js +0 -0
  83. data/{app → vendor}/assets/javascripts/rails_admin/bootstrap/bootstrap-button.js +0 -0
  84. data/{app → vendor}/assets/javascripts/rails_admin/bootstrap/bootstrap-carousel.js +0 -0
  85. data/{app → vendor}/assets/javascripts/rails_admin/bootstrap/bootstrap-collapse.js +0 -0
  86. data/{app → vendor}/assets/javascripts/rails_admin/bootstrap/bootstrap-dropdown.js +0 -0
  87. data/{app → vendor}/assets/javascripts/rails_admin/bootstrap/bootstrap-modal.js +0 -0
  88. data/{app → vendor}/assets/javascripts/rails_admin/bootstrap/bootstrap-popover.js +0 -0
  89. data/{app → vendor}/assets/javascripts/rails_admin/bootstrap/bootstrap-scrollspy.js +0 -0
  90. data/{app → vendor}/assets/javascripts/rails_admin/bootstrap/bootstrap-tab.js +0 -0
  91. data/{app → vendor}/assets/javascripts/rails_admin/bootstrap/bootstrap-tooltip.js +0 -0
  92. data/{app → vendor}/assets/javascripts/rails_admin/bootstrap/bootstrap-transition.js +0 -0
  93. data/{app → vendor}/assets/javascripts/rails_admin/bootstrap/bootstrap-typeahead.js +0 -0
  94. data/{app → vendor}/assets/javascripts/rails_admin/bootstrap/bootstrap.js +0 -0
  95. data/{app → vendor}/assets/javascripts/rails_admin/jquery.colorpicker.js +0 -0
  96. data/{app → vendor}/assets/javascripts/rails_admin/jquery.pjax.js +0 -0
  97. data/{app → vendor}/assets/stylesheets/rails_admin/bootstrap/_alerts.scss +0 -0
  98. data/{app → vendor}/assets/stylesheets/rails_admin/bootstrap/_badges.scss +0 -0
  99. data/{app → vendor}/assets/stylesheets/rails_admin/bootstrap/_breadcrumbs.scss +0 -0
  100. data/{app → vendor}/assets/stylesheets/rails_admin/bootstrap/_button-groups.scss +0 -0
  101. data/{app → vendor}/assets/stylesheets/rails_admin/bootstrap/_buttons.scss +0 -0
  102. data/{app → vendor}/assets/stylesheets/rails_admin/bootstrap/_carousel.scss +0 -0
  103. data/{app → vendor}/assets/stylesheets/rails_admin/bootstrap/_close.scss +0 -0
  104. data/{app → vendor}/assets/stylesheets/rails_admin/bootstrap/_code.scss +0 -0
  105. data/{app → vendor}/assets/stylesheets/rails_admin/bootstrap/_component-animations.scss +0 -0
  106. data/{app → vendor}/assets/stylesheets/rails_admin/bootstrap/_dropdowns.scss +0 -0
  107. data/{app → vendor}/assets/stylesheets/rails_admin/bootstrap/_forms.scss +0 -0
  108. data/{app → vendor}/assets/stylesheets/rails_admin/bootstrap/_glyphicons.scss +0 -0
  109. data/{app → vendor}/assets/stylesheets/rails_admin/bootstrap/_grid.scss +0 -0
  110. data/{app → vendor}/assets/stylesheets/rails_admin/bootstrap/_input-groups.scss +0 -0
  111. data/{app → vendor}/assets/stylesheets/rails_admin/bootstrap/_jumbotron.scss +0 -0
  112. data/{app → vendor}/assets/stylesheets/rails_admin/bootstrap/_labels.scss +0 -0
  113. data/{app → vendor}/assets/stylesheets/rails_admin/bootstrap/_list-group.scss +0 -0
  114. data/{app → vendor}/assets/stylesheets/rails_admin/bootstrap/_media.scss +0 -0
  115. data/{app → vendor}/assets/stylesheets/rails_admin/bootstrap/_mixins.scss +0 -0
  116. data/{app → vendor}/assets/stylesheets/rails_admin/bootstrap/_modals.scss +0 -0
  117. data/{app → vendor}/assets/stylesheets/rails_admin/bootstrap/_navbar.scss +0 -0
  118. data/{app → vendor}/assets/stylesheets/rails_admin/bootstrap/_navs.scss +0 -0
  119. data/{app → vendor}/assets/stylesheets/rails_admin/bootstrap/_normalize.scss +0 -0
  120. data/{app → vendor}/assets/stylesheets/rails_admin/bootstrap/_pager.scss +0 -0
  121. data/{app → vendor}/assets/stylesheets/rails_admin/bootstrap/_pagination.scss +0 -0
  122. data/{app → vendor}/assets/stylesheets/rails_admin/bootstrap/_panels.scss +0 -0
  123. data/{app → vendor}/assets/stylesheets/rails_admin/bootstrap/_popovers.scss +0 -0
  124. data/{app → vendor}/assets/stylesheets/rails_admin/bootstrap/_print.scss +0 -0
  125. data/{app → vendor}/assets/stylesheets/rails_admin/bootstrap/_progress-bars.scss +0 -0
  126. data/{app → vendor}/assets/stylesheets/rails_admin/bootstrap/_responsive-embed.scss +0 -0
  127. data/{app → vendor}/assets/stylesheets/rails_admin/bootstrap/_responsive-utilities.scss +0 -0
  128. data/{app → vendor}/assets/stylesheets/rails_admin/bootstrap/_scaffolding.scss +0 -0
  129. data/{app → vendor}/assets/stylesheets/rails_admin/bootstrap/_tables.scss +0 -0
  130. data/{app → vendor}/assets/stylesheets/rails_admin/bootstrap/_theme.scss +0 -0
  131. data/{app → vendor}/assets/stylesheets/rails_admin/bootstrap/_thumbnails.scss +0 -0
  132. data/{app → vendor}/assets/stylesheets/rails_admin/bootstrap/_tooltip.scss +0 -0
  133. data/{app → vendor}/assets/stylesheets/rails_admin/bootstrap/_type.scss +0 -0
  134. data/{app → vendor}/assets/stylesheets/rails_admin/bootstrap/_utilities.scss +0 -0
  135. data/{app → vendor}/assets/stylesheets/rails_admin/bootstrap/_variables.scss +0 -0
  136. data/{app → vendor}/assets/stylesheets/rails_admin/bootstrap/_wells.scss +0 -0
  137. data/{app → vendor}/assets/stylesheets/rails_admin/bootstrap/bootstrap.scss +0 -0
  138. data/{app → vendor}/assets/stylesheets/rails_admin/bootstrap/mixins/_alerts.scss +0 -0
  139. data/{app → vendor}/assets/stylesheets/rails_admin/bootstrap/mixins/_background-variant.scss +0 -0
  140. data/{app → vendor}/assets/stylesheets/rails_admin/bootstrap/mixins/_border-radius.scss +0 -0
  141. data/{app → vendor}/assets/stylesheets/rails_admin/bootstrap/mixins/_buttons.scss +0 -0
  142. data/{app → vendor}/assets/stylesheets/rails_admin/bootstrap/mixins/_center-block.scss +0 -0
  143. data/{app → vendor}/assets/stylesheets/rails_admin/bootstrap/mixins/_clearfix.scss +0 -0
  144. data/{app → vendor}/assets/stylesheets/rails_admin/bootstrap/mixins/_forms.scss +0 -0
  145. data/{app → vendor}/assets/stylesheets/rails_admin/bootstrap/mixins/_gradients.scss +0 -0
  146. data/{app → vendor}/assets/stylesheets/rails_admin/bootstrap/mixins/_grid-framework.scss +0 -0
  147. data/{app → vendor}/assets/stylesheets/rails_admin/bootstrap/mixins/_grid.scss +0 -0
  148. data/{app → vendor}/assets/stylesheets/rails_admin/bootstrap/mixins/_hide-text.scss +0 -0
  149. data/{app → vendor}/assets/stylesheets/rails_admin/bootstrap/mixins/_image.scss +0 -0
  150. data/{app → vendor}/assets/stylesheets/rails_admin/bootstrap/mixins/_labels.scss +0 -0
  151. data/{app → vendor}/assets/stylesheets/rails_admin/bootstrap/mixins/_list-group.scss +0 -0
  152. data/{app → vendor}/assets/stylesheets/rails_admin/bootstrap/mixins/_nav-divider.scss +0 -0
  153. data/{app → vendor}/assets/stylesheets/rails_admin/bootstrap/mixins/_nav-vertical-align.scss +0 -0
  154. data/{app → vendor}/assets/stylesheets/rails_admin/bootstrap/mixins/_opacity.scss +0 -0
  155. data/{app → vendor}/assets/stylesheets/rails_admin/bootstrap/mixins/_pagination.scss +0 -0
  156. data/{app → vendor}/assets/stylesheets/rails_admin/bootstrap/mixins/_panels.scss +0 -0
  157. data/{app → vendor}/assets/stylesheets/rails_admin/bootstrap/mixins/_progress-bar.scss +0 -0
  158. data/{app → vendor}/assets/stylesheets/rails_admin/bootstrap/mixins/_reset-filter.scss +0 -0
  159. data/{app → vendor}/assets/stylesheets/rails_admin/bootstrap/mixins/_resize.scss +0 -0
  160. data/{app → vendor}/assets/stylesheets/rails_admin/bootstrap/mixins/_responsive-visibility.scss +0 -0
  161. data/{app → vendor}/assets/stylesheets/rails_admin/bootstrap/mixins/_size.scss +0 -0
  162. data/{app → vendor}/assets/stylesheets/rails_admin/bootstrap/mixins/_tab-focus.scss +0 -0
  163. data/{app → vendor}/assets/stylesheets/rails_admin/bootstrap/mixins/_table-row.scss +0 -0
  164. data/{app → vendor}/assets/stylesheets/rails_admin/bootstrap/mixins/_text-emphasis.scss +0 -0
  165. data/{app → vendor}/assets/stylesheets/rails_admin/bootstrap/mixins/_text-overflow.scss +0 -0
  166. data/{app → vendor}/assets/stylesheets/rails_admin/bootstrap/mixins/_vendor-prefixes.scss +0 -0
  167. data/{app → vendor}/assets/stylesheets/rails_admin/jquery.colorpicker.scss +0 -0
  168. metadata +130 -153
  169. data/app/assets/javascripts/rails_admin/custom/ui.coffee +0 -1
  170. data/app/assets/javascripts/rails_admin/ra.i18n.coffee +0 -10
  171. data/app/assets/javascripts/rails_admin/ra.nested-form-hooks.coffee +0 -55
  172. data/app/assets/javascripts/rails_admin/ra.sidescroll.coffee +0 -19
  173. data/app/assets/javascripts/rails_admin/ra.widgets.coffee +0 -359
  174. data/app/assets/javascripts/rails_admin/ui.coffee +0 -107
  175. data/lib/rails_admin/config/fields/factories/refile.rb +0 -25
  176. data/lib/rails_admin/config/fields/types/refile.rb +0 -27
  177. data/lib/rails_admin/extensions/cancan.rb +0 -3
  178. data/lib/rails_admin/extensions/cancan/authorization_adapter.rb +0 -57
@@ -1,25 +0,0 @@
1
- require 'rails_admin/config/fields'
2
- require 'rails_admin/config/fields/types'
3
- require 'rails_admin/config/fields/types/file_upload'
4
-
5
- RailsAdmin::Config::Fields.register_factory do |parent, properties, fields|
6
- extensions = [:id, :filename, :size, :content_type]
7
- model = parent.abstract_model.model
8
- if (properties.name.to_s =~ /^(.+)_id$/) && defined?(::Refile) && model.ancestors.map(&:to_s).include?("Refile::Attachment(#{attachment_name = Regexp.last_match[1].to_sym})")
9
- field = RailsAdmin::Config::Fields::Types.load(:refile).new(parent, attachment_name, properties)
10
- children_fields = []
11
- extensions.each do |ext|
12
- children_column_name = "#{attachment_name}_#{ext}".to_sym
13
- next unless child_properties = parent.abstract_model.properties.detect { |p| p.name.to_s == children_column_name.to_s }
14
- children_field = fields.detect { |f| f.name == children_column_name } || RailsAdmin::Config::Fields.default_factory.call(parent, child_properties, fields)
15
- children_field.hide
16
- children_field.filterable(false)
17
- children_fields << children_field.name
18
- end
19
- field.children_fields(children_fields)
20
- fields << field
21
- true
22
- else
23
- false
24
- end
25
- end
@@ -1,27 +0,0 @@
1
- require 'rails_admin/config/fields/base'
2
- require 'rails_admin/config/fields/types/file_upload'
3
-
4
- module RailsAdmin
5
- module Config
6
- module Fields
7
- module Types
8
- class Refile < RailsAdmin::Config::Fields::Types::FileUpload
9
- RailsAdmin::Config::Fields::Types.register(self)
10
-
11
- register_instance_option :thumb_method do
12
- [:limit, 100, 100]
13
- end
14
-
15
- register_instance_option :delete_method do
16
- "remove_#{name}"
17
- end
18
-
19
- def resource_url(thumb = [])
20
- return nil unless value
21
- Object.const_get(:Refile).attachment_url(bindings[:object], name, *thumb)
22
- end
23
- end
24
- end
25
- end
26
- end
27
- end
@@ -1,3 +0,0 @@
1
- require 'rails_admin/extensions/cancan/authorization_adapter'
2
-
3
- RailsAdmin.add_extension(:cancan, RailsAdmin::Extensions::CanCan, authorization: true)
@@ -1,57 +0,0 @@
1
- module RailsAdmin
2
- module Extensions
3
- module CanCan
4
- # This adapter is for the CanCan[https://github.com/ryanb/cancan] authorization library.
5
- # You can create another adapter for different authorization behavior, just be certain it
6
- # responds to each of the public methods here.
7
- class AuthorizationAdapter
8
- # See the +authorize_with+ config method for where the initialization happens.
9
- def initialize(controller, ability = ::Ability)
10
- @controller = controller
11
- @controller.instance_variable_set '@ability', ability
12
- @controller.extend ControllerExtension
13
- @controller.current_ability.authorize! :access, :rails_admin
14
- end
15
-
16
- # This method is called in every controller action and should raise an exception
17
- # when the authorization fails. The first argument is the name of the controller
18
- # action as a symbol (:create, :bulk_delete, etc.). The second argument is the
19
- # AbstractModel instance that applies. The third argument is the actual model
20
- # instance if it is available.
21
- def authorize(action, abstract_model = nil, model_object = nil)
22
- @controller.current_ability.authorize!(action, model_object || abstract_model && abstract_model.model) if action
23
- end
24
-
25
- # This method is called primarily from the view to determine whether the given user
26
- # has access to perform the action on a given model. It should return true when authorized.
27
- # This takes the same arguments as +authorize+. The difference is that this will
28
- # return a boolean whereas +authorize+ will raise an exception when not authorized.
29
- def authorized?(action, abstract_model = nil, model_object = nil)
30
- @controller.current_ability.can?(action, model_object || abstract_model && abstract_model.model) if action
31
- end
32
-
33
- # This is called when needing to scope a database query. It is called within the list
34
- # and bulk_delete/destroy actions and should return a scope which limits the records
35
- # to those which the user can perform the given action on.
36
- def query(action, abstract_model)
37
- abstract_model.model.accessible_by(@controller.current_ability, action)
38
- end
39
-
40
- # This is called in the new/create actions to determine the initial attributes for new
41
- # records. It should return a hash of attributes which match what the user
42
- # is authorized to create.
43
- def attributes_for(action, abstract_model)
44
- @controller.current_ability.attributes_for(action, abstract_model && abstract_model.model)
45
- end
46
-
47
- module ControllerExtension
48
- def current_ability
49
- # use _current_user instead of default current_user so it works with
50
- # whatever current user method is defined with RailsAdmin
51
- @current_ability ||= @ability.new(_current_user)
52
- end
53
- end
54
- end
55
- end
56
- end
57
- end