active_scaffold 3.7.13 → 4.0.0.rc1

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 (303) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.rdoc +9 -26
  3. data/README.md +3 -2
  4. data/app/assets/config/active_scaffold_manifest.js +3 -0
  5. data/app/assets/javascripts/active_scaffold.js.erb +24 -34
  6. data/app/assets/javascripts/jquery/active_scaffold.js +41 -58
  7. data/app/assets/javascripts/jquery/date_picker_bridge.js.erb +1 -1
  8. data/app/assets/stylesheets/active_scaffold_colors.scss +0 -7
  9. data/app/assets/stylesheets/active_scaffold_extensions.css.erb +2 -2
  10. data/app/assets/stylesheets/active_scaffold_jquery_ui.css.erb +7 -7
  11. data/app/assets/stylesheets/active_scaffold_layout.css +57 -30
  12. data/app/views/active_scaffold_overrides/_add_existing_form.html.erb +10 -10
  13. data/app/views/active_scaffold_overrides/_base_form.html.erb +21 -21
  14. data/app/views/active_scaffold_overrides/_create_form.html.erb +10 -7
  15. data/app/views/active_scaffold_overrides/_create_form_on_list.html.erb +5 -5
  16. data/app/views/active_scaffold_overrides/_field_search.html.erb +6 -6
  17. data/app/views/active_scaffold_overrides/_form.html.erb +11 -14
  18. data/app/views/active_scaffold_overrides/_form_association.html.erb +21 -12
  19. data/app/views/active_scaffold_overrides/_form_association_footer.html.erb +19 -10
  20. data/app/views/active_scaffold_overrides/_form_association_record.html.erb +15 -21
  21. data/app/views/active_scaffold_overrides/_form_messages.html.erb +2 -2
  22. data/app/views/active_scaffold_overrides/_horizontal_subform.html.erb +7 -6
  23. data/app/views/active_scaffold_overrides/_human_conditions.html.erb +2 -2
  24. data/app/views/active_scaffold_overrides/_list.html.erb +15 -8
  25. data/app/views/active_scaffold_overrides/_list_calculations.html.erb +2 -3
  26. data/app/views/active_scaffold_overrides/_list_header.html.erb +2 -2
  27. data/app/views/active_scaffold_overrides/_list_inline_adapter.html.erb +5 -5
  28. data/app/views/active_scaffold_overrides/_list_messages.html.erb +12 -3
  29. data/app/views/active_scaffold_overrides/_list_pagination.html.erb +3 -3
  30. data/app/views/active_scaffold_overrides/_list_pagination_links.html.erb +4 -4
  31. data/app/views/active_scaffold_overrides/_list_record.html.erb +6 -6
  32. data/app/views/active_scaffold_overrides/_list_with_header.html.erb +4 -4
  33. data/app/views/active_scaffold_overrides/_messages.html.erb +1 -1
  34. data/app/views/active_scaffold_overrides/_refresh_list.js.erb +2 -2
  35. data/app/views/active_scaffold_overrides/_render_field.js.erb +4 -4
  36. data/app/views/active_scaffold_overrides/_row.html.erb +1 -1
  37. data/app/views/active_scaffold_overrides/_search.html.erb +6 -5
  38. data/app/views/active_scaffold_overrides/_show.html.erb +3 -3
  39. data/app/views/active_scaffold_overrides/_show_actions.html.erb +1 -1
  40. data/app/views/active_scaffold_overrides/_show_association.html.erb +1 -1
  41. data/app/views/active_scaffold_overrides/_show_association_horizontal.html.erb +1 -1
  42. data/app/views/active_scaffold_overrides/_show_association_vertical.html.erb +1 -1
  43. data/app/views/active_scaffold_overrides/_show_columns.html.erb +1 -1
  44. data/app/views/active_scaffold_overrides/_show_horizontal_record.html.erb +1 -1
  45. data/app/views/active_scaffold_overrides/_update_actions.html.erb +1 -1
  46. data/app/views/active_scaffold_overrides/_update_calculations.js.erb +2 -2
  47. data/app/views/active_scaffold_overrides/_update_column.js.erb +8 -7
  48. data/app/views/active_scaffold_overrides/_update_form.html.erb +5 -5
  49. data/app/views/active_scaffold_overrides/_update_messages.js.erb +1 -1
  50. data/app/views/active_scaffold_overrides/_vertical_subform.html.erb +4 -3
  51. data/app/views/active_scaffold_overrides/action_confirmation.html.erb +3 -3
  52. data/app/views/active_scaffold_overrides/add_existing.js.erb +6 -6
  53. data/app/views/active_scaffold_overrides/add_existing_form.html.erb +1 -1
  54. data/app/views/active_scaffold_overrides/add_tab.js.erb +15 -0
  55. data/app/views/active_scaffold_overrides/create.html.erb +1 -1
  56. data/app/views/active_scaffold_overrides/delete.html.erb +4 -4
  57. data/app/views/active_scaffold_overrides/destroy.js.erb +15 -13
  58. data/app/views/active_scaffold_overrides/edit_associated.js.erb +3 -3
  59. data/app/views/active_scaffold_overrides/field_search.html.erb +1 -1
  60. data/app/views/active_scaffold_overrides/form_messages.js.erb +1 -1
  61. data/app/views/active_scaffold_overrides/list.html.erb +1 -1
  62. data/app/views/active_scaffold_overrides/on_action_update.js.erb +13 -8
  63. data/app/views/active_scaffold_overrides/on_create.js.erb +34 -6
  64. data/app/views/active_scaffold_overrides/on_mark.js.erb +3 -3
  65. data/app/views/active_scaffold_overrides/on_update.js.erb +9 -9
  66. data/app/views/active_scaffold_overrides/render_field.js.erb +1 -1
  67. data/app/views/active_scaffold_overrides/render_field_inplace.html.erb +1 -1
  68. data/app/views/active_scaffold_overrides/row.js.erb +2 -2
  69. data/app/views/active_scaffold_overrides/search.html.erb +1 -1
  70. data/app/views/active_scaffold_overrides/show.html.erb +3 -3
  71. data/app/views/active_scaffold_overrides/update.html.erb +2 -2
  72. data/app/views/active_scaffold_overrides/update_column.js.erb +4 -4
  73. data/app/views/active_scaffold_overrides/update_row.js.erb +1 -1
  74. data/lib/active_scaffold/actions/common_search.rb +5 -3
  75. data/lib/active_scaffold/actions/core.rb +57 -32
  76. data/lib/active_scaffold/actions/create.rb +19 -17
  77. data/lib/active_scaffold/actions/delete.rb +10 -12
  78. data/lib/active_scaffold/actions/field_search.rb +28 -13
  79. data/lib/active_scaffold/actions/list.rb +34 -34
  80. data/lib/active_scaffold/actions/mark.rb +5 -5
  81. data/lib/active_scaffold/actions/nested.rb +64 -56
  82. data/lib/active_scaffold/actions/search.rb +2 -2
  83. data/lib/active_scaffold/actions/show.rb +5 -5
  84. data/lib/active_scaffold/actions/subform.rb +15 -4
  85. data/lib/active_scaffold/actions/update.rb +20 -20
  86. data/lib/active_scaffold/active_record_permissions.rb +4 -3
  87. data/lib/active_scaffold/attribute_params.rb +51 -50
  88. data/lib/active_scaffold/bridges/active_storage/active_storage_bridge.rb +4 -4
  89. data/lib/active_scaffold/bridges/active_storage/active_storage_helpers.rb +6 -2
  90. data/lib/active_scaffold/bridges/active_storage.rb +1 -1
  91. data/lib/active_scaffold/bridges/ancestry/ancestry_bridge.rb +3 -3
  92. data/lib/active_scaffold/bridges/bitfields/bitfields_bridge.rb +4 -1
  93. data/lib/active_scaffold/bridges/bitfields.rb +1 -1
  94. data/lib/active_scaffold/bridges/cancan/cancan_bridge.rb +9 -8
  95. data/lib/active_scaffold/bridges/cancan.rb +8 -8
  96. data/lib/active_scaffold/bridges/carrierwave/form_ui.rb +1 -1
  97. data/lib/active_scaffold/bridges/carrierwave/list_ui.rb +4 -3
  98. data/lib/active_scaffold/bridges/carrierwave.rb +2 -2
  99. data/lib/active_scaffold/bridges/chosen.rb +1 -5
  100. data/lib/active_scaffold/bridges/country_select/country_select_bridge_helper.rb +4 -2
  101. data/lib/active_scaffold/bridges/date_picker/ext.rb +20 -12
  102. data/lib/active_scaffold/bridges/date_picker/helper.rb +37 -33
  103. data/lib/active_scaffold/bridges/date_picker.rb +1 -4
  104. data/lib/active_scaffold/bridges/dragonfly/dragonfly_bridge.rb +1 -1
  105. data/lib/active_scaffold/bridges/dragonfly/list_ui.rb +3 -2
  106. data/lib/active_scaffold/bridges/dragonfly.rb +1 -1
  107. data/lib/active_scaffold/bridges/file_column/as_file_column_bridge.rb +3 -2
  108. data/lib/active_scaffold/bridges/file_column/file_column_helpers.rb +2 -1
  109. data/lib/active_scaffold/bridges/file_column/form_ui.rb +4 -9
  110. data/lib/active_scaffold/bridges/file_column/list_ui.rb +6 -3
  111. data/lib/active_scaffold/bridges/file_column/test/functional/file_column_keep_test.rb +3 -3
  112. data/lib/active_scaffold/bridges/file_column/test/mock_model.rb +1 -4
  113. data/lib/active_scaffold/bridges/file_column.rb +1 -0
  114. data/lib/active_scaffold/bridges/paper_trail/actions.rb +4 -2
  115. data/lib/active_scaffold/bridges/paper_trail/config.rb +1 -1
  116. data/lib/active_scaffold/bridges/paper_trail/helper.rb +1 -1
  117. data/lib/active_scaffold/bridges/paper_trail/paper_trail_bridge.rb +2 -1
  118. data/lib/active_scaffold/bridges/paperclip/list_ui.rb +3 -2
  119. data/lib/active_scaffold/bridges/paperclip/paperclip_bridge.rb +1 -1
  120. data/lib/active_scaffold/bridges/paperclip/paperclip_bridge_helpers.rb +10 -9
  121. data/lib/active_scaffold/bridges/paperclip.rb +2 -1
  122. data/lib/active_scaffold/bridges/record_select/helpers.rb +10 -11
  123. data/lib/active_scaffold/bridges/semantic_attributes/column.rb +3 -1
  124. data/lib/active_scaffold/bridges/tiny_mce/helpers.rb +3 -7
  125. data/lib/active_scaffold/bridges/tiny_mce.rb +2 -7
  126. data/lib/active_scaffold/bridges/usa_state_select/usa_state_select_helper.rb +7 -7
  127. data/lib/active_scaffold/bridges.rb +7 -5
  128. data/lib/active_scaffold/config/base.rb +20 -24
  129. data/lib/active_scaffold/config/core.rb +27 -39
  130. data/lib/active_scaffold/config/create.rb +1 -1
  131. data/lib/active_scaffold/config/delete.rb +9 -9
  132. data/lib/active_scaffold/config/field_search.rb +4 -9
  133. data/lib/active_scaffold/config/form.rb +3 -1
  134. data/lib/active_scaffold/config/list.rb +19 -15
  135. data/lib/active_scaffold/config/nested.rb +2 -2
  136. data/lib/active_scaffold/config/search.rb +5 -5
  137. data/lib/active_scaffold/config/show.rb +1 -1
  138. data/lib/active_scaffold/config/subform.rb +1 -1
  139. data/lib/active_scaffold/config/update.rb +4 -5
  140. data/lib/active_scaffold/configurable.rb +2 -1
  141. data/lib/active_scaffold/constraints.rb +16 -11
  142. data/lib/active_scaffold/core.rb +25 -27
  143. data/lib/active_scaffold/data_structures/action_columns.rb +10 -3
  144. data/lib/active_scaffold/data_structures/action_link.rb +19 -9
  145. data/lib/active_scaffold/data_structures/action_links.rb +20 -26
  146. data/lib/active_scaffold/data_structures/actions.rb +3 -3
  147. data/lib/active_scaffold/data_structures/association/abstract.rb +8 -4
  148. data/lib/active_scaffold/data_structures/association/active_mongoid.rb +1 -0
  149. data/lib/active_scaffold/data_structures/association/active_record.rb +1 -4
  150. data/lib/active_scaffold/data_structures/column.rb +368 -327
  151. data/lib/active_scaffold/data_structures/columns.rb +3 -2
  152. data/lib/active_scaffold/data_structures/nested_info.rb +6 -5
  153. data/lib/active_scaffold/data_structures/proxy_column.rb +68 -0
  154. data/lib/active_scaffold/data_structures/set.rb +7 -4
  155. data/lib/active_scaffold/data_structures/sorting.rb +21 -12
  156. data/lib/active_scaffold/engine.rb +12 -12
  157. data/lib/active_scaffold/extensions/action_controller_rendering.rb +5 -5
  158. data/lib/active_scaffold/extensions/action_controller_rescueing.rb +1 -1
  159. data/lib/active_scaffold/extensions/action_view_rendering.rb +29 -31
  160. data/lib/active_scaffold/extensions/ice_nine.rb +2 -1
  161. data/lib/active_scaffold/extensions/localize.rb +2 -2
  162. data/lib/active_scaffold/extensions/name_option_for_datetime.rb +1 -1
  163. data/lib/active_scaffold/extensions/routing_mapper.rb +5 -4
  164. data/lib/active_scaffold/extensions/unsaved_associated.rb +3 -2
  165. data/lib/active_scaffold/finder.rb +71 -78
  166. data/lib/active_scaffold/helpers/action_link_helpers.rb +37 -49
  167. data/lib/active_scaffold/helpers/association_helpers.rb +4 -3
  168. data/lib/active_scaffold/helpers/controller_helpers.rb +18 -16
  169. data/lib/active_scaffold/helpers/form_column_helpers.rb +69 -53
  170. data/lib/active_scaffold/helpers/human_condition_helpers.rb +17 -15
  171. data/lib/active_scaffold/helpers/id_helpers.rb +5 -5
  172. data/lib/active_scaffold/helpers/list_column_helpers.rb +35 -38
  173. data/lib/active_scaffold/helpers/pagination_helpers.rb +4 -4
  174. data/lib/active_scaffold/helpers/search_column_helpers.rb +25 -34
  175. data/lib/active_scaffold/helpers/show_column_helpers.rb +7 -4
  176. data/lib/active_scaffold/helpers/tabs_helpers.rb +88 -0
  177. data/lib/active_scaffold/helpers/view_helpers.rb +15 -13
  178. data/lib/active_scaffold/marked_model.rb +1 -2
  179. data/lib/active_scaffold/orm_checks.rb +6 -4
  180. data/lib/active_scaffold/paginator.rb +3 -2
  181. data/lib/active_scaffold/registry.rb +5 -0
  182. data/lib/active_scaffold/tableless.rb +24 -14
  183. data/lib/active_scaffold/version.rb +4 -4
  184. data/lib/active_scaffold.rb +8 -34
  185. data/lib/generators/active_scaffold/controller_generator.rb +20 -20
  186. data/lib/generators/active_scaffold/install_generator.rb +4 -8
  187. data/lib/generators/active_scaffold/resource_generator.rb +31 -31
  188. data/lib/tasks/brakeman.rake +1 -1
  189. data/shoulda_macros/macros.rb +14 -14
  190. metadata +11 -232
  191. data/app/assets/javascripts/prototype/active_scaffold.js +0 -1249
  192. data/app/assets/javascripts/prototype/active_scaffold_chosen.js +0 -0
  193. data/app/assets/javascripts/prototype/dhtml_history.js +0 -870
  194. data/app/assets/javascripts/prototype/form_enhancements.js +0 -117
  195. data/app/assets/javascripts/prototype/tiny_mce_bridge.js +0 -17
  196. data/app/views/active_scaffold_overrides/_list_messages_content.html.erb +0 -8
  197. data/app/views/active_scaffold_overrides/_new_record.js.erb +0 -15
  198. data/app/views/active_scaffold_overrides/_popup_adapter.html.erb +0 -20
  199. data/app/views/active_scaffold_overrides/_refresh_create_form.js.erb +0 -12
  200. data/lib/active_scaffold/bridges/calendar_date_select/as_cds_bridge.rb +0 -58
  201. data/lib/active_scaffold/bridges/calendar_date_select.rb +0 -17
  202. data/lib/active_scaffold/data_structures/action_link_separator.rb +0 -13
  203. data/lib/active_scaffold/extensions/cow_proxy.rb +0 -102
  204. data/test/active_scaffold_config_mock.rb +0 -33
  205. data/test/bridges/bridge_test.rb +0 -88
  206. data/test/bridges/date_picker_test.rb +0 -31
  207. data/test/bridges/paper_trail_test.rb +0 -16
  208. data/test/bridges/paperclip_test.rb +0 -85
  209. data/test/bridges/tiny_mce_test.rb +0 -61
  210. data/test/class_with_finder.rb +0 -42
  211. data/test/company.rb +0 -97
  212. data/test/config/base_test.rb +0 -17
  213. data/test/config/core_test.rb +0 -66
  214. data/test/config/create_test.rb +0 -72
  215. data/test/config/delete_test.rb +0 -35
  216. data/test/config/field_search_test.rb +0 -49
  217. data/test/config/list_test.rb +0 -134
  218. data/test/config/nested_test.rb +0 -55
  219. data/test/config/search_test.rb +0 -62
  220. data/test/config/show_test.rb +0 -45
  221. data/test/config/subform_test.rb +0 -19
  222. data/test/config/update_test.rb +0 -52
  223. data/test/const_mocker.rb +0 -32
  224. data/test/data_structures/action_columns_test.rb +0 -112
  225. data/test/data_structures/action_link_test.rb +0 -79
  226. data/test/data_structures/action_links_test.rb +0 -78
  227. data/test/data_structures/actions_test.rb +0 -25
  228. data/test/data_structures/association_column_test.rb +0 -41
  229. data/test/data_structures/column_test.rb +0 -186
  230. data/test/data_structures/columns_test.rb +0 -68
  231. data/test/data_structures/set_test.rb +0 -84
  232. data/test/data_structures/sorting_test.rb +0 -148
  233. data/test/data_structures/standard_column_test.rb +0 -23
  234. data/test/data_structures/validation_reflection_test.rb +0 -69
  235. data/test/data_structures/virtual_column_test.rb +0 -23
  236. data/test/extensions/action_view_rendering_test.rb +0 -20
  237. data/test/extensions/active_record_test.rb +0 -44
  238. data/test/extensions/routing_mapper_test.rb +0 -73
  239. data/test/helpers/form_column_helpers_test.rb +0 -34
  240. data/test/helpers/list_column_helpers_test.rb +0 -53
  241. data/test/helpers/pagination_helpers_test.rb +0 -65
  242. data/test/helpers/search_column_helpers_test.rb +0 -15
  243. data/test/misc/active_record_permissions_test.rb +0 -193
  244. data/test/misc/attribute_params_test.rb +0 -460
  245. data/test/misc/calculation_test.rb +0 -39
  246. data/test/misc/configurable_test.rb +0 -97
  247. data/test/misc/constraints_test.rb +0 -209
  248. data/test/misc/convert_numbers_format_test.rb +0 -171
  249. data/test/misc/finder_test.rb +0 -124
  250. data/test/misc/lang_test.rb +0 -10
  251. data/test/misc/parse_datetime_test.rb +0 -159
  252. data/test/misc/render_test.rb +0 -9
  253. data/test/misc/tableless_test.rb +0 -56
  254. data/test/mock_app/.gitignore +0 -2
  255. data/test/mock_app/Rakefile +0 -7
  256. data/test/mock_app/app/assets/config/manifest.js +0 -0
  257. data/test/mock_app/app/controllers/addresses_controller.rb +0 -4
  258. data/test/mock_app/app/controllers/application_controller.rb +0 -10
  259. data/test/mock_app/app/controllers/buildings_controller.rb +0 -4
  260. data/test/mock_app/app/controllers/cars_controller.rb +0 -5
  261. data/test/mock_app/app/controllers/contacts_controller.rb +0 -4
  262. data/test/mock_app/app/controllers/floors_controller.rb +0 -6
  263. data/test/mock_app/app/controllers/people_controller.rb +0 -8
  264. data/test/mock_app/app/controllers/roles_controller.rb +0 -4
  265. data/test/mock_app/app/helpers/application_helper.rb +0 -3
  266. data/test/mock_app/app/models/address.rb +0 -3
  267. data/test/mock_app/app/models/building.rb +0 -9
  268. data/test/mock_app/app/models/car.rb +0 -3
  269. data/test/mock_app/app/models/contact.rb +0 -3
  270. data/test/mock_app/app/models/file_model.rb +0 -31
  271. data/test/mock_app/app/models/floor.rb +0 -8
  272. data/test/mock_app/app/models/person.rb +0 -12
  273. data/test/mock_app/app/models/role.rb +0 -3
  274. data/test/mock_app/app/views/active_scaffold_overrides/_form.html.erb +0 -2
  275. data/test/mock_app/app/views/active_scaffold_overrides/list.html.erb +0 -2
  276. data/test/mock_app/app/views/people/_first_name_form_column.html.erb +0 -2
  277. data/test/mock_app/app/views/people/_form.html.erb +0 -2
  278. data/test/mock_app/app/views/people/list.html.erb +0 -2
  279. data/test/mock_app/config/application.rb +0 -14
  280. data/test/mock_app/config/boot.rb +0 -7
  281. data/test/mock_app/config/database.yml +0 -16
  282. data/test/mock_app/config/environment.rb +0 -6
  283. data/test/mock_app/config/environments/development.rb +0 -24
  284. data/test/mock_app/config/environments/production.rb +0 -49
  285. data/test/mock_app/config/environments/test.rb +0 -34
  286. data/test/mock_app/config/initializers/backtrace_silencers.rb +0 -7
  287. data/test/mock_app/config/initializers/inflections.rb +0 -10
  288. data/test/mock_app/config/initializers/mime_types.rb +0 -5
  289. data/test/mock_app/config/initializers/secret_token.rb +0 -11
  290. data/test/mock_app/config/initializers/session_store.rb +0 -8
  291. data/test/mock_app/config/initializers/wrap_parameters.rb +0 -14
  292. data/test/mock_app/config/locales/en.yml +0 -5
  293. data/test/mock_app/config/routes.rb +0 -17
  294. data/test/mock_app/config.ru +0 -4
  295. data/test/mock_app/db/schema.rb +0 -68
  296. data/test/mock_app/db/test.sqlite3 +0 -1
  297. data/test/model_stub.rb +0 -64
  298. data/test/performance/list_cars_performance_test.rb +0 -34
  299. data/test/performance/list_people_performance_test.rb +0 -31
  300. data/test/performance_test_help.rb +0 -3
  301. data/test/run_all.rb +0 -6
  302. data/test/test_helper.rb +0 -71
  303. data/vendor/assets/javascripts/getprototypeof.js +0 -12
@@ -1,61 +0,0 @@
1
- require 'test_helper'
2
-
3
- class TinyMceTest < ActionView::TestCase
4
- include ActiveScaffold::Helpers::ViewHelpers
5
- include ActiveScaffold::Bridges::TinyMce::Helpers
6
-
7
- # Mimic the behaviour of the tinymce-rails plugin function[1] to get
8
- # configuration options from tinymce.yml
9
- #
10
- # [1]: https://github.com/spohlenz/tinymce-rails/blob/master/lib/tinymce/rails/helper.rb#L37
11
- def tinymce_configuration(config = :default)
12
- case config
13
- when :default
14
- Class.new do
15
- def options
16
- {theme: 'modern'}
17
- end
18
- end.new
19
- when :alternate
20
- Class.new do
21
- def options
22
- {theme: 'alternate', toolbar: 'undo redo | format'}
23
- end
24
- end.new
25
- end
26
- end
27
-
28
- def test_includes
29
- ActiveScaffold::Bridges::TinyMce.expects(:install?).returns(true)
30
- with_js_framework :jquery do
31
- assert ActiveScaffold::Bridges.all_javascripts.include?('tinymce')
32
- end
33
- end
34
-
35
- def test_form_ui
36
- config = ActiveScaffold::Config::Core.new(:company)
37
- record = Company.new
38
- opts = {name: 'record[name]', id: 'record_name', class: 'name-input', object: record}
39
-
40
- assert_dom_equal %(<textarea name=\"record[name]\" class=\"name-input mceEditor\" id=\"record_name\" data-tinymce=\"{&quot;theme&quot;:&quot;modern&quot;}\">\n</textarea>), active_scaffold_input_text_editor(config.columns[:name], opts)
41
- end
42
-
43
- def test_form_ui_alternate
44
- config = ActiveScaffold::Config::Core.new(:company)
45
- record = Company.new
46
- config.columns[:name].options[:tinymce_config] = :alternate
47
- opts = {name: 'record[name]', id: 'record_name', class: 'name-input', object: record}
48
-
49
- assert_dom_equal %(<textarea name=\"record[name]\" class=\"name-input mceEditor\" id=\"record_name\" data-tinymce=\"{&quot;theme&quot;:&quot;alternate&quot;,&quot;toolbar&quot;:&quot;undo redo | format&quot;}\">\n</textarea>), active_scaffold_input_tinymce(config.columns[:name], opts)
50
- end
51
-
52
- protected
53
-
54
- def include_tiny_mce_if_needed; end
55
-
56
- def tiny_mce_js; end
57
-
58
- def using_tiny_mce?
59
- true
60
- end
61
- end
@@ -1,42 +0,0 @@
1
- require 'active_scaffold_config_mock'
2
-
3
- class ClassWithFinder
4
- include ActiveScaffoldConfigMock
5
- include ActiveScaffold::Finder
6
-
7
- def active_scaffold_config
8
- self.class.active_scaffold_config
9
- end
10
-
11
- def conditions_for_collection; end
12
-
13
- def conditions_from_params; end
14
-
15
- def conditions_from_constraints; end
16
-
17
- def active_scaffold_embedded_params
18
- {}
19
- end
20
-
21
- def params_hash(value)
22
- value
23
- end
24
-
25
- def joins_for_collection; end
26
-
27
- def custom_finder_options
28
- {}
29
- end
30
-
31
- def beginning_of_chain
32
- active_scaffold_config.model
33
- end
34
-
35
- def conditional_get_support?; end
36
-
37
- def params; {}; end
38
-
39
- def grouped_search?
40
- false
41
- end
42
- end
data/test/company.rb DELETED
@@ -1,97 +0,0 @@
1
- class Company < ActiveRecord::Base
2
- def initialize(with_or_without = nil)
3
- @companies = with_or_without == :with_companies
4
- @company = with_or_without == :with_company
5
- @main_company = with_or_without == :with_main_company
6
- @attributes = {}
7
- @attributes_cache = {}
8
- @raw_attributes = {}
9
- end
10
-
11
- def self.columns_hash
12
- @columns_hash ||= {
13
- 'name' => ColumnMock.new('name', nil, 'varchar(255)'),
14
- 'date' => ColumnMock.new('date', nil, 'date'),
15
- 'datetime' => ColumnMock.new('datetime', nil, 'datetime'),
16
- 'logo_file_name' => ColumnMock.new('logo_file_name', nil, 'varchar(255)'),
17
- 'logo_content_type' => ColumnMock.new('logo_content_type', nil, 'varchar(255)'),
18
- 'logo_file_size' => ColumnMock.new('logo_file_size', nil, 'int(11)'),
19
- 'logo_updated_at' => ColumnMock.new('logo_updated_at', nil, 'datetime')
20
- }
21
- end
22
-
23
- def self.columns
24
- columns_hash.values
25
- end
26
-
27
- def self.class_name
28
- name
29
- end
30
-
31
- def self.table_name
32
- 'companies'
33
- end
34
-
35
- def self.attachment_definitions
36
- {:logo => {}}
37
- end
38
-
39
- # not the real signature of the method, but forgive me
40
- def self.before_destroy(string = nil)
41
- @@before = string
42
- end
43
-
44
- if respond_to?(:create_reflection)
45
- if method(:create_reflection).arity == 4
46
- def self.create_reflection(macro, name, scope, options, active_record)
47
- super(macro, name, options, active_record)
48
- end
49
- end
50
- else
51
- def self.create_reflection(*args)
52
- ActiveRecord::Reflection.create(*args)
53
- end
54
- end
55
-
56
- def self.has_many(association_id, options = {}) # rubocop:disable Naming/PredicateName
57
- create_reflection(:has_many, association_id, nil, options, self)
58
- end
59
-
60
- def self.has_one(association_id, options = {}) # rubocop:disable Naming/PredicateName
61
- create_reflection(:has_one, association_id, nil, options, self)
62
- end
63
-
64
- def self.belongs_to(association_id, options = {})
65
- create_reflection(:belongs_to, association_id, nil, options, self)
66
- end
67
- has_many :companies
68
- has_one :company
69
- belongs_to :main_company, :class_name => 'Company'
70
-
71
- def companies
72
- if @companies
73
- [nil]
74
- else
75
- []
76
- end
77
- end
78
-
79
- attr_reader :company
80
- attr_reader :main_company
81
-
82
- def name; end
83
-
84
- def name_before_type_cast
85
- name.to_s
86
- end
87
-
88
- def name_came_from_user?; end
89
-
90
- def date
91
- Time.zone.today
92
- end
93
-
94
- def datetime
95
- Time.zone.now
96
- end
97
- end
@@ -1,17 +0,0 @@
1
- require 'test_helper'
2
-
3
- module Config
4
- class BaseTest < Minitest::Test
5
- def setup
6
- @base = ActiveScaffold::Config::Base.new(ActiveScaffold::Config::Core.new(:model_stub))
7
- end
8
-
9
- def test_formats
10
- assert_equal [], @base.formats
11
- @base.formats << :pdf
12
- assert_equal [:pdf], @base.formats
13
- @base.formats = [:html]
14
- assert_equal [:html], @base.formats
15
- end
16
- end
17
- end
@@ -1,66 +0,0 @@
1
- require 'test_helper'
2
-
3
- module Config
4
- class CoreTest < Minitest::Test
5
- class ModelStubsController < ActionController::Base
6
- include ActiveScaffold::Core
7
- end
8
- def setup
9
- @config = ActiveScaffold::Config::Core.new :model_stub
10
- ModelStubsController.instance_variable_set :@active_scaffold_config, @config
11
- end
12
-
13
- def test_default_options
14
- refute @config.add_sti_create_links?
15
- refute @config.sti_children
16
- assert_equal %i[create list search update delete show nested subform], @config.actions.to_a
17
- assert_equal :default, @config.frontend
18
- assert_equal :default, @config.theme
19
- assert_equal 'Model stub', @config.label(:count => 1)
20
- assert_equal 'ModelStubs', @config.label
21
- end
22
-
23
- def test_add_sti_children
24
- @config.sti_create_links = true
25
- refute @config.add_sti_create_links?
26
- @config.sti_children = [:a]
27
- assert @config.add_sti_create_links?
28
- end
29
-
30
- def test_sti_children
31
- @config.sti_children = [:a]
32
- assert_equal [:a], @config.sti_children
33
- end
34
-
35
- def test_actions
36
- assert @config.actions.include?(:create)
37
- @config.actions = [:list]
38
- refute @config.actions.include?(:create)
39
- assert_equal [:list], @config.actions.to_a
40
- end
41
-
42
- def test_form_ui_in_sti
43
- @config.columns << :type
44
-
45
- @config.sti_create_links = false
46
- @config.sti_children = [:model_stub]
47
- @config._configure_sti
48
- assert_equal :select, @config.columns[:type].form_ui
49
- assert_equal [['Model stub', 'ModelStub']], @config.columns[:type].options[:options]
50
-
51
- @config.columns[:type].form_ui = nil
52
- @config.sti_create_links = true
53
- @config._configure_sti
54
- assert_equal :hidden, @config.columns[:type].form_ui
55
- end
56
-
57
- def test_sti_children_links
58
- @config.sti_children = [:model_stub]
59
- @config.sti_create_links = true
60
- @config.action_links.add @config.create.link
61
- ModelStubsController.send(:_add_sti_create_links)
62
- assert_equal 'Create Model stub', @config.action_links[:new].label
63
- assert_equal 'rb_config/core_test/model_stubs', @config.action_links[:new].parameters[:parent_sti]
64
- end
65
- end
66
- end
@@ -1,72 +0,0 @@
1
- require 'test_helper'
2
-
3
- module Config
4
- class CreateTest < Minitest::Test
5
- include ActiveScaffold::Helpers::ControllerHelpers
6
-
7
- def setup
8
- @config = ActiveScaffold::Config::Core.new :model_stub
9
- @default_link = @config.create.link
10
- end
11
-
12
- def teardown
13
- @config.create.link = @default_link
14
- end
15
-
16
- def test_default_columns
17
- assert_equal %i[a d other_model other_models], @config.create.columns.visible_columns_names
18
- end
19
-
20
- def test_default_options
21
- refute @config.create.persistent
22
- assert @config.create.action_after_create.nil?
23
- assert_equal 'Create Model stub', @config.create.label
24
- assert @config.columns[:b].required?
25
- end
26
-
27
- def test_override_required
28
- @config.configure { |conf| conf.columns[:b].required = false }
29
- refute @config.columns[:b].required?
30
- end
31
-
32
- def test_link_defaults
33
- link = @config.create.link
34
- refute link.page?
35
- refute link.popup?
36
- refute link.confirm?
37
- assert_equal 'new', link.action
38
- assert_equal 'Create New', link.label
39
- assert link.inline?
40
- blank = {}
41
- assert_equal blank, link.html_options
42
- assert_equal :get, link.method
43
- assert_equal :collection, link.type
44
- assert_equal :create, link.crud_type
45
- assert_equal :create_authorized?, link.security_method
46
- end
47
-
48
- def test_setting_link
49
- @config.create.link = ActiveScaffold::DataStructures::ActionLink.new('update', :label => 'Monkeys')
50
- refute_equal @default_link, @config.create.link
51
- end
52
-
53
- def test_label
54
- label = 'create new monkeys'
55
- @config.create.label = label
56
- assert_equal label, @config.create.label
57
- I18n.backend.store_translations :en, :active_scaffold => {:create_new_model => 'Create new %<model>s'}
58
- @config.create.label = :create_new_model
59
- assert_equal 'Create new Model stub', @config.create.label
60
- end
61
-
62
- def test_persistent
63
- @config.create.persistent = true
64
- assert @config.create.persistent
65
- end
66
-
67
- def test_action_after_create
68
- @config.create.action_after_create = :edit
69
- assert_equal :edit, @config.create.action_after_create
70
- end
71
- end
72
- end
@@ -1,35 +0,0 @@
1
- require 'test_helper'
2
-
3
- module Config
4
- class DeleteTest < Minitest::Test
5
- def setup
6
- @config = ActiveScaffold::Config::Core.new :model_stub
7
- @default_link = @config.delete.link
8
- end
9
-
10
- def teardown
11
- @config.delete.link = @default_link
12
- end
13
-
14
- def test_link_defaults
15
- link = @config.delete.link
16
- refute link.page?
17
- refute link.popup?
18
- assert link.confirm?
19
- assert_equal 'destroy', link.action
20
- assert_equal 'Delete', link.label
21
- assert link.inline?
22
- blank = {}
23
- assert_equal blank, link.html_options
24
- assert_equal :delete, link.method
25
- assert_equal :member, link.type
26
- assert_equal :delete, link.crud_type
27
- assert_equal :delete_authorized?, link.security_method
28
- end
29
-
30
- def test_setting_link
31
- @config.delete.link = ActiveScaffold::DataStructures::ActionLink.new('update', :label => 'Monkeys')
32
- refute_equal @default_link, @config.delete.link
33
- end
34
- end
35
- end
@@ -1,49 +0,0 @@
1
- require 'test_helper'
2
-
3
- module Config
4
- class FieldSearchTest < Minitest::Test
5
- def setup
6
- @config = ActiveScaffold::Config::Core.new :model_stub
7
- @config.actions.swap :search, :field_search
8
- @default_link = @config.field_search.link
9
- end
10
-
11
- def teardown
12
- @config.field_search.link = @default_link
13
- end
14
-
15
- def test_default_options
16
- assert_equal :full, @config.field_search.text_search
17
- end
18
-
19
- def test_text_search
20
- @config.field_search.text_search = :start
21
- assert_equal :start, @config.field_search.text_search
22
- @config.field_search.text_search = :end
23
- assert_equal :end, @config.field_search.text_search
24
- @config.field_search.text_search = false
25
- refute @config.field_search.text_search
26
- end
27
-
28
- def test_link_defaults
29
- link = @config.field_search.link
30
- refute link.page?
31
- refute link.popup?
32
- refute link.confirm?
33
- assert_equal 'show_search', link.action
34
- assert_equal 'Search', link.label
35
- assert link.inline?
36
- blank = {}
37
- assert_equal blank, link.html_options
38
- assert_equal :get, link.method
39
- assert_equal :collection, link.type
40
- assert_equal :read, link.crud_type
41
- assert_equal :search_authorized?, link.security_method
42
- end
43
-
44
- def test_setting_link
45
- @config.field_search.link = ActiveScaffold::DataStructures::ActionLink.new('update', :label => 'Monkeys')
46
- refute_equal @default_link, @config.field_search.link
47
- end
48
- end
49
- end
@@ -1,134 +0,0 @@
1
- require 'test_helper'
2
-
3
- module Config
4
- class ListTest < Minitest::Test
5
- def setup
6
- @config = ActiveScaffold::Config::Core.new :model_stub
7
- end
8
-
9
- def test_label
10
- I18n.backend.store_translations :en, :active_scaffold => {:resource => {:one => 'Resource', :other => 'Resources'}}
11
- @config.list.label = :resource
12
- assert_equal 'Resources', @config.list.label
13
- label = 'monkeys'
14
- @config.list.label = label
15
- assert_equal label, @config.list.label
16
- end
17
-
18
- def test_default_options
19
- assert_equal 15, @config.list.per_page
20
- assert_equal 2, @config.list.page_links_inner_window
21
- assert_equal '-', @config.list.empty_field_text
22
- assert_equal ', ', @config.list.association_join_text
23
- assert_equal true, @config.list.pagination
24
- assert_nil @config.list.search_partial
25
- assert_equal :no_entries, @config.list.no_entries_message
26
- assert_equal :filtered, @config.list.filtered_message
27
- refute @config.list.always_show_create
28
- refute @config.list.always_show_search
29
- assert @config.list.count_includes.nil?
30
- assert_equal 'ModelStubs', @config.list.label
31
- assert @config.list.sorting.sorts_on?(:id)
32
- assert_equal 'ASC', @config.list.sorting.direction_of(:id)
33
- end
34
-
35
- def test_empty_field_text
36
- @config.list.empty_field_text = '(missing)'
37
- assert_equal '(missing)', @config.list.empty_field_text
38
- end
39
-
40
- def test_association_join_text
41
- @config.list.association_join_text = '<br/>'
42
- assert_equal '<br/>', @config.list.association_join_text
43
- end
44
-
45
- def test_no_entries
46
- @config.list.no_entries_message = 'No items'
47
- assert_equal 'No items', @config.list.no_entries_message
48
- end
49
-
50
- def test_filtered_message
51
- @config.list.filtered_message = 'filtered items'
52
- assert_equal 'filtered items', @config.list.filtered_message
53
- end
54
-
55
- def test_pagination
56
- @config.list.pagination = :infinite
57
- assert_equal :infinite, @config.list.pagination
58
- @config.list.pagination = false
59
- refute @config.list.pagination
60
- end
61
-
62
- def test_sorting
63
- @config.list.sorting = {:a => :desc}
64
- assert @config.list.sorting.sorts_on?(:a)
65
- assert_equal 'DESC', @config.list.sorting.direction_of(:a)
66
- refute @config.list.sorting.sorts_on?(:id)
67
-
68
- @config.list.sorting = {:c => :asc, :d => :desc}
69
- assert @config.list.sorting.sorts_on?(:c)
70
- assert_equal 'ASC', @config.list.sorting.direction_of(:c)
71
- assert @config.list.sorting.sorts_on?(:d)
72
- assert_equal 'DESC', @config.list.sorting.direction_of(:d)
73
- refute @config.list.sorting.sorts_on?(:a)
74
- refute @config.list.sorting.sorts_on?(:id)
75
-
76
- @config.list.sorting = [{:a => :asc}, {:b => :desc}]
77
- assert @config.list.sorting.sorts_on?(:a)
78
- assert_equal 'ASC', @config.list.sorting.direction_of(:a)
79
- assert @config.list.sorting.sorts_on?(:b)
80
- assert_equal 'DESC', @config.list.sorting.direction_of(:b)
81
- refute @config.list.sorting.sorts_on?(:c)
82
- refute @config.list.sorting.sorts_on?(:id)
83
- end
84
-
85
- def test_per_page
86
- per_page = 35
87
- @config.list.per_page = per_page
88
- assert_equal per_page, @config.list.per_page
89
- end
90
-
91
- def test_page_links_window
92
- page_links_window = 3
93
- @config.list.page_links_inner_window = page_links_window
94
- assert_equal page_links_window, @config.list.page_links_inner_window
95
- end
96
-
97
- def test_always_show_create
98
- always_show_create = true
99
- @config.list.always_show_create = always_show_create
100
- assert_equal always_show_create, @config.list.always_show_create
101
- end
102
-
103
- def test_always_show_create_when_create_is_not_enabled
104
- always_show_create = true
105
- @config.list.always_show_create = always_show_create
106
- @config.actions.exclude :create
107
- assert_equal false, @config.list.always_show_create
108
- end
109
-
110
- def test_always_show_search
111
- @config.list.always_show_search = true
112
- assert @config.list.always_show_search
113
- assert_equal 'search', @config.list.search_partial
114
- end
115
-
116
- def test_always_show_search_when_search_is_not_enabled
117
- @config.list.always_show_search = true
118
- @config.actions.exclude :search
119
- assert_equal false, @config.list.always_show_search
120
- end
121
-
122
- def test_always_show_search_when_field_search
123
- @config.list.always_show_search = true
124
- @config.actions.swap :search, :field_search
125
- assert @config.list.always_show_search
126
- assert_equal 'field_search', @config.list.search_partial
127
- end
128
-
129
- def test_count_includes
130
- @config.list.count_includes = %i[assoc_1 assoc_2]
131
- assert_equal %i[assoc_1 assoc_2], @config.list.count_includes
132
- end
133
- end
134
- end
@@ -1,55 +0,0 @@
1
- require 'test_helper'
2
-
3
- module Config
4
- class NestedTest < Minitest::Test
5
- class ModelStubsController < ActionController::Base
6
- include ActiveScaffold::Core
7
- active_scaffold
8
- end
9
-
10
- def setup
11
- @config = ActiveScaffold::Config::Core.new(:model_stub)
12
- end
13
-
14
- def test_default_options
15
- assert @config.nested.shallow_delete
16
- assert_equal 'Add Existing Model stub', @config.nested.label
17
- end
18
-
19
- def test_label
20
- label = 'nested monkeys'
21
- @config.nested.label = label
22
- assert_equal label, @config.nested.label
23
- I18n.backend.store_translations :en, :active_scaffold => {:test_create_model => 'Add new %<model>s'}
24
- @config.nested.label = :test_create_model
25
- assert_equal 'Add new Model stub', @config.nested.label
26
- end
27
-
28
- def test_shallow_delete
29
- @config.nested.shallow_delete = true
30
- assert @config.nested.shallow_delete
31
- end
32
-
33
- def test_add_link
34
- assert_raises(ArgumentError) { @config.nested.add_link :assoc_1 }
35
- config = @config
36
- ModelStubsController.class_eval do
37
- config.configure { nested.add_link :other_models }
38
- end
39
- link = @config.action_links['index']
40
- assert_equal 'ModelStubs', link.label
41
- assert_equal 'index', link.action
42
- assert_equal :after, link.position
43
- refute link.page?
44
- refute link.popup?
45
- refute link.confirm?
46
- assert link.inline?
47
- assert link.refresh_on_close
48
- assert_equal :other_models, link.parameters[:association]
49
- assert_equal :get, link.method
50
- assert_equal :member, link.type
51
- assert_equal :read, link.crud_type
52
- assert_equal :nested_authorized?, link.security_method
53
- end
54
- end
55
- end
@@ -1,62 +0,0 @@
1
- require 'test_helper'
2
-
3
- module Config
4
- class SearchTest < Minitest::Test
5
- def setup
6
- @config = ActiveScaffold::Config::Core.new :model_stub
7
- @default_link = @config.search.link
8
- end
9
-
10
- def teardown
11
- @config.search.link = @default_link
12
- end
13
-
14
- def test_default_options
15
- assert_equal :full, @config.search.text_search
16
- refute @config.search.live?
17
- assert_equal ' ', @config.search.split_terms
18
- end
19
-
20
- def test_text_search
21
- @config.search.text_search = :start
22
- assert_equal :start, @config.search.text_search
23
- @config.search.text_search = :end
24
- assert_equal :end, @config.search.text_search
25
- @config.search.text_search = false
26
- refute @config.search.text_search
27
- end
28
-
29
- def test_live
30
- @config.search.live = true
31
- assert @config.search.live?
32
- end
33
-
34
- def test_split_terms
35
- @config.search.split_terms = nil
36
- assert @config.search.split_terms.nil?
37
- @config.search.split_terms = ','
38
- assert_equal ',', @config.search.split_terms
39
- end
40
-
41
- def test_link_defaults
42
- link = @config.search.link
43
- refute link.page?
44
- refute link.popup?
45
- refute link.confirm?
46
- assert_equal 'show_search', link.action
47
- assert_equal 'Search', link.label
48
- assert link.inline?
49
- blank = {}
50
- assert_equal blank, link.html_options
51
- assert_equal :get, link.method
52
- assert_equal :collection, link.type
53
- assert_equal :read, link.crud_type
54
- assert_equal :search_authorized?, link.security_method
55
- end
56
-
57
- def test_setting_link
58
- @config.search.link = ActiveScaffold::DataStructures::ActionLink.new('update', :label => 'Monkeys')
59
- refute_equal @default_link, @config.search.link
60
- end
61
- end
62
- end