activeadmin 0.2.2 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of activeadmin might be problematic. Click here for more details.

Files changed (277) hide show
  1. data/.gitignore +34 -0
  2. data/.travis.yml +4 -0
  3. data/.yardopts +8 -0
  4. data/CHANGELOG.md +177 -0
  5. data/Gemfile +21 -32
  6. data/Guardfile +8 -0
  7. data/README.rdoc +75 -14
  8. data/Rakefile +7 -100
  9. data/activeadmin.gemspec +21 -353
  10. data/{lib/generators/active_admin/install/templates/images → app/assets/images/active_admin}/admin_notes_icon.png +0 -0
  11. data/app/assets/images/active_admin/datepicker/datepicker-header-bg.png +0 -0
  12. data/app/assets/images/active_admin/datepicker/datepicker-input-icon.png +0 -0
  13. data/app/assets/images/active_admin/datepicker/datepicker-next-link-icon.png +0 -0
  14. data/app/assets/images/active_admin/datepicker/datepicker-nipple.png +0 -0
  15. data/app/assets/images/active_admin/datepicker/datepicker-prev-link-icon.png +0 -0
  16. data/{lib/generators/active_admin/install/templates/images → app/assets/images/active_admin}/loading.gif +0 -0
  17. data/{lib/generators/active_admin/install/templates/images → app/assets/images/active_admin}/nested_menu_arrow.gif +0 -0
  18. data/{lib/generators/active_admin/install/templates/images → app/assets/images/active_admin}/nested_menu_arrow_dark.gif +0 -0
  19. data/{lib/generators/active_admin/install/templates/images → app/assets/images/active_admin}/orderable.png +0 -0
  20. data/app/assets/javascripts/active_admin/base.js +12 -0
  21. data/{lib/generators/active_admin/install/templates/active_admin_vendor.js → app/assets/javascripts/active_admin/vendor.js} +0 -0
  22. data/{lib/active_admin/stylesheets/active_admin.scss → app/assets/stylesheets/active_admin/_base.css.scss} +58 -82
  23. data/{lib/active_admin/stylesheets/active_admin/_forms.scss → app/assets/stylesheets/active_admin/_forms.css.scss} +94 -5
  24. data/{lib/active_admin/stylesheets/active_admin/_header.scss → app/assets/stylesheets/active_admin/_header.css.scss} +13 -11
  25. data/app/assets/stylesheets/active_admin/_mixins.css.scss +1 -0
  26. data/{lib/active_admin/stylesheets/active_admin/_typography.scss → app/assets/stylesheets/active_admin/_typography.css.scss} +0 -0
  27. data/{lib/active_admin/stylesheets/active_admin/_comments.scss → app/assets/stylesheets/active_admin/components/_comments.css.scss} +0 -0
  28. data/app/assets/stylesheets/active_admin/components/_date_picker.css.scss +123 -0
  29. data/app/assets/stylesheets/active_admin/components/_flash_messages.css.scss +38 -0
  30. data/{lib/active_admin/stylesheets/active_admin/mixins/_all.scss → app/assets/stylesheets/active_admin/mixins/_all.css.scss} +0 -0
  31. data/{lib/active_admin/stylesheets/active_admin/mixins/_buttons.scss → app/assets/stylesheets/active_admin/mixins/_buttons.css.scss} +0 -0
  32. data/{lib/active_admin/stylesheets/active_admin/mixins/_gradients.scss → app/assets/stylesheets/active_admin/mixins/_gradients.css.scss} +8 -0
  33. data/{lib/active_admin/stylesheets/active_admin/mixins/_icons.scss → app/assets/stylesheets/active_admin/mixins/_icons.css.scss} +0 -0
  34. data/{lib/active_admin/stylesheets/active_admin/mixins/_reset.scss → app/assets/stylesheets/active_admin/mixins/_reset.css.scss} +0 -0
  35. data/{lib/active_admin/stylesheets/active_admin/mixins/_rounded.scss → app/assets/stylesheets/active_admin/mixins/_rounded.css.scss} +0 -0
  36. data/{lib/active_admin/stylesheets/active_admin/mixins/_sections.scss → app/assets/stylesheets/active_admin/mixins/_sections.css.scss} +9 -2
  37. data/{lib/active_admin/stylesheets/active_admin/mixins/_shadows.scss → app/assets/stylesheets/active_admin/mixins/_shadows.css.scss} +1 -1
  38. data/{lib/active_admin/stylesheets/active_admin/mixins/_variables.scss → app/assets/stylesheets/active_admin/mixins/_variables.css.scss} +12 -3
  39. data/{lib/active_admin/views/templates/active_admin_dashboard → app/views/active_admin/dashboard}/index.html.arb +0 -0
  40. data/{lib/active_admin/views/templates → app/views}/active_admin/devise/mailer/reset_password_instructions.html.erb +0 -0
  41. data/{lib/active_admin/views/templates → app/views}/active_admin/devise/mailer/unlock_instructions.html.erb +0 -0
  42. data/{lib/active_admin/views/templates → app/views}/active_admin/devise/passwords/edit.html.erb +0 -0
  43. data/{lib/active_admin/views/templates → app/views}/active_admin/devise/passwords/new.html.erb +0 -0
  44. data/{lib/active_admin/views/templates → app/views}/active_admin/devise/sessions/new.html.erb +1 -1
  45. data/{lib/active_admin/views/templates → app/views}/active_admin/devise/shared/_links.erb +0 -0
  46. data/{lib/active_admin/views/templates → app/views}/active_admin/devise/unlocks/new.html.erb +0 -0
  47. data/{lib/active_admin/views/templates/active_admin_default → app/views/active_admin/resource}/edit.html.arb +0 -0
  48. data/app/views/active_admin/resource/index.csv.erb +20 -0
  49. data/{lib/active_admin/views/templates/active_admin_default → app/views/active_admin/resource}/index.html.arb +0 -0
  50. data/{lib/active_admin/views/templates/active_admin_default → app/views/active_admin/resource}/new.html.arb +0 -0
  51. data/{lib/active_admin/views/templates/active_admin_default → app/views/active_admin/resource}/show.html.arb +0 -0
  52. data/app/views/layouts/active_admin.html.arb +1 -0
  53. data/{lib/active_admin/views/templates → app/views}/layouts/active_admin_logged_out.html.erb +8 -4
  54. data/docs/0-installation.md +50 -0
  55. data/docs/1-general-configuration.md +43 -0
  56. data/docs/2-resource-customization.md +35 -0
  57. data/docs/3-index-pages.md +55 -0
  58. data/docs/3-index-pages/index-as-block.md +16 -0
  59. data/docs/3-index-pages/index-as-blog.md +61 -0
  60. data/docs/3-index-pages/index-as-grid.md +21 -0
  61. data/docs/3-index-pages/index-as-table.md +90 -0
  62. data/docs/4-csv-format.md +14 -0
  63. data/docs/5-forms.md +39 -0
  64. data/docs/6-show-screens.md +22 -0
  65. data/docs/7-sidebars.md +35 -0
  66. data/docs/8-custom-actions.md +123 -0
  67. data/features/comments/commenting.feature +31 -4
  68. data/features/edit_page.feature +30 -1
  69. data/features/index/filters.feature +35 -0
  70. data/features/index/format_as_csv.feature +46 -0
  71. data/features/index/formats.feature +2 -0
  72. data/features/index/index_as_block.feature +1 -1
  73. data/features/index/index_as_grid.feature +1 -1
  74. data/features/index/index_as_table.feature +2 -0
  75. data/features/index/index_blank_slate.feature +56 -0
  76. data/features/index/pagination.feature +0 -6
  77. data/features/registering_assets.feature +2 -2
  78. data/features/sidebar_sections.feature +7 -8
  79. data/features/specifying_actions.feature +72 -1
  80. data/features/step_definitions/action_item_steps.rb +2 -2
  81. data/features/step_definitions/additional_web_steps.rb +26 -16
  82. data/features/step_definitions/attribute_steps.rb +5 -7
  83. data/features/step_definitions/configuration_steps.rb +9 -9
  84. data/features/step_definitions/factory_steps.rb +4 -3
  85. data/features/step_definitions/format_steps.rb +29 -1
  86. data/features/step_definitions/layout_steps.rb +3 -0
  87. data/features/step_definitions/menu_steps.rb +2 -2
  88. data/features/step_definitions/sidebar_steps.rb +1 -5
  89. data/features/step_definitions/user_steps.rb +8 -2
  90. data/features/step_definitions/web_steps.rb +82 -90
  91. data/features/sti_resource.feature +12 -0
  92. data/features/support/env.rb +12 -10
  93. data/features/support/paths.rb +2 -0
  94. data/features/support/selectors.rb +45 -0
  95. data/lib/active_admin.rb +33 -263
  96. data/lib/active_admin/application.rb +228 -0
  97. data/lib/active_admin/arbre.rb +10 -10
  98. data/lib/active_admin/arbre/{html.rb → builder.rb} +29 -2
  99. data/lib/active_admin/arbre/context.rb +8 -0
  100. data/lib/active_admin/arbre/{attributes.rb → html/attributes.rb} +0 -0
  101. data/lib/active_admin/arbre/{class_list.rb → html/class_list.rb} +0 -0
  102. data/lib/active_admin/arbre/{collection.rb → html/collection.rb} +0 -0
  103. data/lib/active_admin/arbre/{document.rb → html/document.rb} +0 -0
  104. data/lib/active_admin/arbre/{element.rb → html/element.rb} +6 -6
  105. data/lib/active_admin/arbre/{html5_elements.rb → html/html5_elements.rb} +0 -0
  106. data/lib/active_admin/arbre/{tag.rb → html/tag.rb} +0 -0
  107. data/lib/active_admin/arbre/{text_node.rb → html/text_node.rb} +0 -0
  108. data/lib/active_admin/asset_registration.rb +1 -1
  109. data/lib/active_admin/callbacks.rb +5 -3
  110. data/lib/active_admin/comments.rb +3 -3
  111. data/lib/active_admin/comments/comment.rb +6 -0
  112. data/lib/active_admin/comments/configuration.rb +8 -6
  113. data/lib/active_admin/comments/namespace_helper.rb +1 -1
  114. data/lib/active_admin/comments/views/active_admin_comments.rb +1 -1
  115. data/lib/active_admin/csv_builder.rb +45 -0
  116. data/lib/active_admin/dashboards.rb +1 -1
  117. data/lib/active_admin/dashboards/dashboard_controller.rb +3 -10
  118. data/lib/active_admin/dependency_checker.rb +28 -0
  119. data/lib/active_admin/deprecation.rb +36 -0
  120. data/lib/active_admin/devise.rb +14 -3
  121. data/lib/active_admin/dsl.rb +26 -4
  122. data/lib/active_admin/engine.rb +4 -0
  123. data/lib/active_admin/form_builder.rb +18 -9
  124. data/lib/active_admin/helpers/scope_chain.rb +23 -0
  125. data/lib/active_admin/helpers/settings.rb +70 -0
  126. data/lib/active_admin/locales/cs.yml +34 -0
  127. data/lib/active_admin/locales/da.yml +28 -0
  128. data/lib/active_admin/locales/en.yml +40 -0
  129. data/lib/active_admin/locales/es.yml +40 -0
  130. data/lib/active_admin/locales/fr.yml +40 -0
  131. data/lib/active_admin/locales/it.yml +39 -0
  132. data/lib/active_admin/locales/pl.yml +34 -0
  133. data/lib/active_admin/locales/pt-BR.yml +41 -0
  134. data/lib/active_admin/locales/ru.yml +40 -0
  135. data/lib/active_admin/locales/zh_cn.yml +40 -0
  136. data/lib/active_admin/menu_item.rb +6 -0
  137. data/lib/active_admin/namespace.rb +14 -5
  138. data/lib/active_admin/reloader.rb +30 -0
  139. data/lib/active_admin/renderer.rb +1 -1
  140. data/lib/active_admin/resource.rb +45 -88
  141. data/lib/active_admin/resource/action_items.rb +88 -0
  142. data/lib/active_admin/resource/menu.rb +45 -0
  143. data/lib/active_admin/resource/naming.rb +46 -0
  144. data/lib/active_admin/resource/scopes.rb +33 -0
  145. data/lib/active_admin/resource/sidebars.rb +36 -0
  146. data/lib/active_admin/resource_controller.rb +32 -37
  147. data/lib/active_admin/resource_controller/action_builder.rb +1 -1
  148. data/lib/active_admin/resource_controller/actions.rb +66 -40
  149. data/lib/active_admin/resource_controller/callbacks.rb +1 -1
  150. data/lib/active_admin/resource_controller/collection.rb +9 -14
  151. data/lib/active_admin/resource_controller/filters.rb +1 -1
  152. data/lib/active_admin/resource_controller/form.rb +1 -1
  153. data/lib/active_admin/resource_controller/menu.rb +1 -1
  154. data/lib/active_admin/resource_controller/page_configurations.rb +2 -2
  155. data/lib/active_admin/resource_controller/scoping.rb +1 -1
  156. data/lib/active_admin/resource_controller/sidebars.rb +1 -21
  157. data/lib/active_admin/router.rb +85 -0
  158. data/lib/active_admin/sass/active_admin.scss +3 -0
  159. data/lib/active_admin/sass/css_loader.rb +16 -0
  160. data/lib/active_admin/sass/helpers.rb +45 -0
  161. data/lib/active_admin/scope.rb +16 -2
  162. data/lib/active_admin/sidebar_section.rb +41 -0
  163. data/lib/active_admin/stylesheets/active_admin/mixins/_utilities.scss +0 -0
  164. data/lib/active_admin/version.rb +1 -1
  165. data/lib/active_admin/view_factory.rb +5 -3
  166. data/lib/active_admin/view_helpers.rb +1 -2
  167. data/lib/active_admin/view_helpers/active_admin_application_helper.rb +12 -0
  168. data/lib/active_admin/view_helpers/auto_link_helper.rb +2 -1
  169. data/lib/active_admin/view_helpers/display_helper.rb +1 -1
  170. data/lib/active_admin/view_helpers/filter_form_helper.rb +26 -14
  171. data/lib/active_admin/view_helpers/form_helper.rb +1 -0
  172. data/lib/active_admin/view_helpers/view_factory_helper.rb +1 -1
  173. data/lib/active_admin/views/components/attributes_table.rb +2 -2
  174. data/lib/active_admin/views/components/blank_slate.rb +17 -0
  175. data/lib/active_admin/views/components/columns.rb +1 -3
  176. data/lib/active_admin/views/components/paginated_collection.rb +26 -8
  177. data/lib/active_admin/views/components/scopes.rb +13 -8
  178. data/lib/active_admin/views/components/sidebar_section.rb +1 -3
  179. data/lib/active_admin/views/components/status_tag.rb +55 -0
  180. data/lib/active_admin/views/components/table_for.rb +25 -6
  181. data/lib/active_admin/views/header_renderer.rb +20 -4
  182. data/lib/active_admin/views/index_as_block.rb +12 -7
  183. data/lib/active_admin/views/index_as_blog.rb +61 -21
  184. data/lib/active_admin/views/index_as_grid.rb +22 -1
  185. data/lib/active_admin/views/index_as_table.rb +97 -6
  186. data/lib/active_admin/views/pages/base.rb +20 -9
  187. data/lib/active_admin/views/pages/dashboard.rb +7 -4
  188. data/lib/active_admin/views/pages/edit.rb +3 -2
  189. data/lib/active_admin/views/pages/index.rb +30 -5
  190. data/lib/active_admin/views/pages/layout.rb +26 -0
  191. data/lib/active_admin/views/pages/new.rb +3 -2
  192. data/lib/active_admin/views/pages/show.rb +1 -1
  193. data/lib/active_admin/views/tabbed_navigation.rb +94 -0
  194. data/lib/generators/active_admin/assets/assets_generator.rb +21 -0
  195. data/lib/generators/active_admin/assets/templates/3.0/active_admin.js +427 -0
  196. data/lib/generators/active_admin/assets/templates/3.1/active_admin.css.scss +6 -0
  197. data/lib/generators/active_admin/assets/templates/3.1/active_admin.js +1 -0
  198. data/lib/generators/active_admin/assets/templates/dashboards.rb +36 -0
  199. data/lib/generators/active_admin/install/install_generator.rb +2 -4
  200. data/lib/generators/active_admin/install/templates/active_admin.rb.erb +26 -4
  201. data/lib/generators/active_admin/install/templates/dashboards.rb +4 -2
  202. data/lib/generators/active_admin/install/templates/migrations/2_move_admin_notes_to_comments.rb +2 -2
  203. data/script/local +44 -0
  204. data/script/use_rails +46 -0
  205. data/spec/integration/belongs_to_spec.rb +1 -1
  206. data/spec/integration/default_namespace.rb +77 -0
  207. data/spec/integration/javascript_spec.rb +20 -0
  208. data/spec/integration/stylesheets_spec.rb +41 -0
  209. data/spec/spec_helper.rb +21 -11
  210. data/spec/support/detect_rails_version.rb +10 -0
  211. data/spec/support/integration_example_group.rb +1 -1
  212. data/spec/support/jslint.yml +80 -0
  213. data/spec/support/rails_template.rb +1 -1
  214. data/spec/support/rails_template_with_data.rb +2 -1
  215. data/spec/support/templates/cucumber.rb +0 -4
  216. data/spec/unit/active_admin_spec.rb +8 -44
  217. data/spec/unit/application_spec.rb +78 -0
  218. data/spec/unit/arbre/context_spec.rb +22 -0
  219. data/spec/unit/arbre/html/element_finder_methods_spec.rb +2 -2
  220. data/spec/unit/arbre/html/element_spec.rb +2 -3
  221. data/spec/unit/arbre/html/tag_attributes_spec.rb +2 -2
  222. data/spec/unit/arbre/html/tag_spec.rb +2 -2
  223. data/spec/unit/arbre/html_spec.rb +2 -3
  224. data/spec/unit/auto_link_spec.rb +2 -1
  225. data/spec/unit/belongs_to_spec.rb +2 -1
  226. data/spec/unit/comments_spec.rb +43 -39
  227. data/spec/unit/controller_filters_spec.rb +11 -3
  228. data/spec/unit/csv_builder_spec.rb +83 -0
  229. data/spec/unit/devise_spec.rb +66 -0
  230. data/spec/unit/display_name_spec.rb +2 -2
  231. data/spec/unit/filter_form_builder_spec.rb +6 -3
  232. data/spec/unit/form_builder_spec.rb +20 -2
  233. data/spec/unit/generators/install_rails_3_1_spec.rb +16 -0
  234. data/spec/unit/helpers/scope_chain_spec.rb +36 -0
  235. data/spec/unit/helpers/settings_spec.rb +30 -0
  236. data/spec/unit/menu_item_spec.rb +6 -0
  237. data/spec/unit/namespace_spec.rb +68 -19
  238. data/spec/unit/rails_spec.rb +43 -0
  239. data/spec/unit/registration_spec.rb +18 -27
  240. data/spec/unit/reloader_spec.rb +28 -0
  241. data/spec/unit/resource/action_items_spec.rb +62 -0
  242. data/spec/unit/resource/menu_spec.rb +80 -0
  243. data/spec/unit/resource/naming_spec.rb +64 -0
  244. data/spec/unit/resource/scopes_spec.rb +30 -0
  245. data/spec/unit/resource/sidebars_spec.rb +50 -0
  246. data/spec/unit/resource_controller/collection_spec.rb +1 -1
  247. data/spec/unit/resource_controller_spec.rb +29 -24
  248. data/spec/unit/resource_spec.rb +78 -94
  249. data/spec/unit/sass/helpers_spec.rb +47 -0
  250. data/spec/unit/scope_spec.rb +11 -1
  251. data/spec/unit/view_factory_spec.rb +4 -1
  252. data/spec/unit/{components → views/components}/attributes_table_spec.rb +2 -2
  253. data/spec/unit/views/components/blank_slate_spec.rb +15 -0
  254. data/spec/unit/{components → views/components}/columns_spec.rb +2 -2
  255. data/spec/unit/{components → views/components}/panel_spec.rb +1 -3
  256. data/spec/unit/{components → views/components}/sidebar_section_spec.rb +3 -3
  257. data/spec/unit/views/components/status_tag_spec.rb +79 -0
  258. data/spec/unit/{components → views/components}/table_for_spec.rb +2 -1
  259. data/spec/unit/views/pages/layout_spec.rb +22 -0
  260. data/spec/unit/views/tabbed_navigation_spec.rb +125 -0
  261. data/tasks/docs.rake +39 -0
  262. data/tasks/test.rake +55 -0
  263. data/tasks/yard.rake +6 -0
  264. metadata +310 -189
  265. data/CHANGELOG.rdoc +0 -76
  266. data/lib/active_admin/action_items.rb +0 -37
  267. data/lib/active_admin/sidebar.rb +0 -39
  268. data/lib/active_admin/stylesheets/active_admin/_flash_messages.scss +0 -13
  269. data/lib/active_admin/view_helpers/status_tag_helper.rb +0 -13
  270. data/lib/active_admin/view_helpers/table_helper.rb +0 -12
  271. data/lib/active_admin/views/tabs_renderer.rb +0 -52
  272. data/lib/active_admin/views/templates/active_admin_default/index.csv.erb +0 -2
  273. data/lib/active_admin/views/templates/layouts/active_admin.html.erb +0 -39
  274. data/lib/generators/active_admin/install/templates/active_admin.js +0 -51
  275. data/spec/controllers/index_as_csv_spec.rb +0 -35
  276. data/spec/unit/action_items_spec.rb +0 -27
  277. data/spec/unit/tabs_renderer_spec.rb +0 -56
@@ -1,76 +0,0 @@
1
- == 0.2.2 (2011-05-26)
2
-
3
- 68 Commits by 13 Contributors
4
-
5
- === Features & Enhancements
6
-
7
- * Arbre includes self closing tags (#100)
8
- * Controller class & action added to body as CSS classes (#99)
9
- * HAML is not required by default (#92)
10
- * Devise login now respects Devise.authentication_keys (#69)
11
- * Active Admin no longer uses <tt>ActiveRecord::Base#search</tt> (#28)
12
- * Resource's can now override the label in the menu (#48)
13
- * Subdirectories are now loaded in the Active Admin load path
14
-
15
- === Bug Fixes
16
-
17
- * Sort order now includes table name (#38)
18
- * Fixed table_for 'odd', 'even' row classes (#96)
19
- * Fixed Devise installation if AdminUser already exists (#95)
20
- * Fixed issues when ActiveAdmin.default_namespaces is false (#32)
21
- * Added styles for missing HTML 5 inputs (#31)
22
- * Fixed issue if adding empty Active Admin Comment (#21)
23
- * Fixed layout issues in FF 4 (#22)
24
- * Use Sass::Plugin.options[:css_location] instead of Rails.root (#55)
25
-
26
- === Test Suite
27
-
28
- * Update RSpec to latest & fix specs (Thanks Ben Marini & Jeremt Ruppel!) (#100)
29
- * Added tests for STI models (#52)
30
-
31
- === Contributors
32
-
33
- * Ben Marini
34
- * Bookis Smuin
35
- * Caley Woods
36
- * Doug Puchalski
37
- * Federico Romero
38
- * Greg Bell
39
- * Ian MacLeod
40
- * Jeremy Ruppel
41
- * Jordan Sitkin
42
- * Juha Suuraho
43
- * Mathieu Martin
44
- * Paul Annesley
45
- * Philippe Creux
46
-
47
- == 0.2.1 (2011-05-12)
48
-
49
- === Bug Fixes
50
- * Fixed issue with dashboard rendering a sidebar
51
-
52
- == 0.2.0 (2011-05-12)
53
-
54
- 0.2.0 is essentially an entire re-write of Active Admin. Here are some
55
- of the highlights. 250 commits. Enough said.
56
-
57
- === Features & Enhancements
58
-
59
- * Full visual redesign
60
- * Integrated Devise for authentication
61
- * Brand new view and component layer called Arbre (Project coming soon)
62
- * Added ActiveAdmin::Comments
63
-
64
- === Bug Fixes
65
-
66
- * Too many to list! Been in production for close to a year
67
-
68
- == 0.1.1 (2010-09-15)
69
-
70
- === Bug Fixes
71
-
72
- * Fixed issues running on Ruby 1.9.2
73
-
74
- == 0.1.0
75
-
76
- * Initial release
@@ -1,37 +0,0 @@
1
- require 'active_admin/helpers/optional_display'
2
-
3
- module ActiveAdmin
4
- module ActionItems
5
- extend ActiveSupport::Concern
6
-
7
- included do
8
- self.class_inheritable_accessor :action_items
9
- self.action_items = []
10
- end
11
-
12
- module ClassMethods
13
- def action_item(options = {}, &block)
14
- self.action_items << ActiveAdmin::ActionItems::ActionItem.new(options, &block)
15
- end
16
-
17
- def clear_action_items!
18
- self.action_items = []
19
- end
20
-
21
- def action_items_for(action)
22
- action_items.select{|item| item.display_on?(action) }
23
- end
24
- end
25
-
26
- class ActionItem
27
- include ActiveAdmin::OptionalDisplay
28
-
29
- attr_accessor :block
30
-
31
- def initialize(options = {}, &block)
32
- @options, @block = options, block
33
- normalize_display_options!
34
- end
35
- end
36
- end
37
- end
@@ -1,39 +0,0 @@
1
- module ActiveAdmin
2
- module Sidebar
3
-
4
- class Section
5
- include ActiveAdmin::OptionalDisplay
6
-
7
- attr_accessor :name, :options, :block
8
-
9
- def initialize(name, options = {}, &block)
10
- @name, @options, @block = name, options, block
11
- normalize_display_options!
12
- end
13
-
14
- # The id gets used for the div in the view
15
- def id
16
- name.to_s.downcase.underscore + '_sidebar_section'
17
- end
18
-
19
- def icon?
20
- options[:icon]
21
- end
22
-
23
- def icon
24
- options[:icon] if icon?
25
- end
26
-
27
- # The title gets displayed within the section in the view
28
- def title
29
- name.to_s.titlecase
30
- end
31
-
32
- # If a block is not passed in, the name of the partial to render
33
- def partial_name
34
- options[:partial] || "#{name.to_s.downcase.gsub(' ', '_')}_sidebar"
35
- end
36
- end
37
-
38
- end
39
- end
@@ -1,13 +0,0 @@
1
- .flash {
2
- @include primary-gradient;
3
- @include shadow;
4
- @include text-shadow(#222);
5
- border: none;
6
- font-weight: bold;
7
- padding: 10px 10px 8px 10px;
8
- margin-bottom: 10px;
9
- color: #fff;
10
-
11
- &.flash_notice { @include gradient(#87a28b, #657b6a); }
12
- &.flash_error { @include gradient(#ca5b4f, #97443c); }
13
- }
@@ -1,13 +0,0 @@
1
- module ActiveAdmin
2
- module ViewHelpers
3
- module StatusTagHelper
4
-
5
- def status_tag(status, options = {})
6
- options[:class] ||= ""
7
- options[:class] << ["status", status.downcase].join(' ')
8
- content_tag :span, status, options
9
- end
10
-
11
- end
12
- end
13
- end
@@ -1,12 +0,0 @@
1
- module ActiveAdmin
2
- module ViewHelpers
3
- module TableHelper
4
-
5
- # Helper to render a table for a collection
6
- def table_for(collection, options = {}, &block)
7
- ActiveAdmin::TableBuilder.new(&block).to_html(self, collection, options)
8
- end
9
-
10
- end
11
- end
12
- end
@@ -1,52 +0,0 @@
1
- module ActiveAdmin
2
- module Views
3
-
4
- # Renders out a horizontal list of tabs.
5
- class TabsRenderer < Renderer
6
-
7
- # Pass in an ActiveAdmin::Menu and it will display the first level
8
- # of navigation as a horizontal list of tabs
9
- def to_html(menu, options = {})
10
- @options = default_options.merge(options)
11
- render_menu(menu)
12
- end
13
-
14
- protected
15
-
16
- def render_menu(menu)
17
- content_tag :ul, :id => @options[:id] do
18
- menu.items.collect do |item|
19
- render_item(item)
20
- end.join.html_safe
21
- end
22
- end
23
-
24
- def render_item(item)
25
- content_tag :li, :id => item.dom_id, :class => [("current" if current?(item)), ("has_nested" unless item.children.blank?)].compact.join(" ") do
26
- unless item.children.blank?
27
- link_to(item.name, item.url || "#") + render_nested_menu(item)
28
- else
29
- link_to item.name, item.url
30
- end
31
- end
32
- end
33
-
34
- def render_nested_menu(item)
35
- content_tag :ul do
36
- item.children.collect {|child| render_item(child)}.join.html_safe
37
- end
38
- end
39
-
40
- # Returns true if the menu item name is @current_tab
41
- def current?(menu_item)
42
- @current_tab.split("/").include?(menu_item.name) unless @current_tab.blank?
43
- end
44
-
45
- def default_options
46
- { :id => "tabs" }
47
- end
48
-
49
- end
50
-
51
- end
52
- end
@@ -1,2 +0,0 @@
1
- <%= @csv_columns.collect{|c| c.to_s.titleize }.join(",").html_safe %>
2
- <%= collection.collect{|resource| @csv_columns.collect{|col| "\"#{resource.send(col).to_s.gsub('"', '""')}\""}.join(",") }.join("\n").html_safe %>
@@ -1,39 +0,0 @@
1
- <!DOCTYPE html>
2
- <html>
3
- <head>
4
- <meta http-equiv="Content-type" content="text/html; charset=utf-8">
5
-
6
- <title><%= [@page_title, ActiveAdmin.site_title].join(" | ") %></title>
7
-
8
- <%= stylesheet_link_tag *ActiveAdmin.stylesheets %>
9
- <%= javascript_include_tag *ActiveAdmin.javascripts %>
10
- <%= csrf_meta_tag %>
11
-
12
- </head>
13
- <body class="<%= controller.action_name %>">
14
- <div id="wrapper">
15
- <div id="header">
16
- <%= yield :header %>
17
- </div>
18
- <div id="title_bar">
19
- <%= yield :title_bar %>
20
- </div>
21
- <div id="content" class="<%= skip_sidebar? ? 'without_sidebar' : 'with_sidebar' %>">
22
- <%= flash_messages %>
23
- <div id="main_content_wrapper">
24
- <div id="main_content">
25
- <%= yield %>
26
- </div>
27
- </div>
28
- <% unless skip_sidebar? %>
29
- <div id="sidebar">
30
- <%= yield :sidebar %>
31
- </div>
32
- <% end %>
33
- </div>
34
- <div id="footer">
35
- <%= yield :footer %>
36
- </div>
37
- </div>
38
- </body>
39
- </html>
@@ -1,51 +0,0 @@
1
- /* Active Admin JS */
2
-
3
- $(function(){
4
- $(".datepicker").datepicker({dateFormat: 'yy-mm-dd'});
5
-
6
- $(".clear_filters_btn").click(function(){
7
- window.location.search = "";
8
- return false;
9
- });
10
-
11
- // AJAX Comments
12
- $('form#admin_note_new').submit(function() {
13
-
14
- if ($(this).find('#admin_note_body').val() != "") {
15
- $(this).fadeOut('slow', function() {
16
- $('.loading_indicator').fadeIn();
17
- $.ajax({
18
- url: $(this).attr('action'),
19
- type: 'POST',
20
- dataType: 'json',
21
- data: $(this).serialize(),
22
- success: function(data, textStatus, xhr) {
23
- $('.loading_indicator').fadeOut('slow', function(){
24
-
25
- // Hide the empty message
26
- $('.admin_notes_list li.empty').fadeOut().remove();
27
-
28
- // Add the note
29
- $('.admin_notes_list').append(data['note']);
30
-
31
- // Update the number of notes
32
- $('.admin_notes h3 span.admin_notes_count').html("(" + data['number_of_notes'] + ")");
33
-
34
- // Reset the form
35
- $('form#new_active_admin_admin_note').find('#active_admin_admin_note_body').val("");
36
-
37
- // Show the form
38
- $('form#new_active_admin_admin_note').fadeIn('slow');
39
- })
40
- },
41
- error: function(xhr, textStatus, errorThrown) {
42
- //called when there is an error
43
- }
44
- });
45
- });
46
-
47
- };
48
-
49
- return false;
50
- });
51
- });
@@ -1,35 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe_with_render Admin::PostsController do
4
- describe "get index with format csv" do
5
-
6
- before do
7
- Post.create :title => "Hello World"
8
- Post.create :title => "Goodbye World"
9
- end
10
-
11
- it "should return csv" do
12
- get :index, 'format' => 'csv'
13
- response.content_type.should == 'text/csv'
14
- end
15
-
16
- it "should return a header and a line for each item" do
17
- get :index, 'format' => 'csv'
18
- response.body.split("\n").size.should == 3
19
- end
20
-
21
- Post.columns.each do |column|
22
- it "should include a header for #{column.name}" do
23
- get :index, 'format' => 'csv'
24
- response.body.split("\n").first.should include(column.name.titleize)
25
- end
26
- end
27
-
28
- it "should set a much higher per page pagination" do
29
- 100.times{ Post.create :title => "woot" }
30
- get :index, 'format' => 'csv'
31
- response.body.split("\n").size.should == 103
32
- end
33
-
34
- end
35
- end
@@ -1,27 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe ActiveAdmin::ActionItems do
4
-
5
- describe "rendering" do
6
- include Arbre::HTML
7
- let(:assigns){ {} }
8
- let(:action_item) do
9
- ActiveAdmin::ActionItems::ActionItem.new do
10
- h2 "Hello World"
11
- end
12
- end
13
-
14
- let(:rendered){ insert_tag ActiveAdmin::Views::ActionItems, [action_item]}
15
-
16
- it "should have a parent .action_items div" do
17
- rendered.tag_name.should == 'div'
18
- rendered.class_list.should include('action_items')
19
- end
20
-
21
- it "should render the contents of each action item" do
22
- rendered.children.size.should == 1
23
- rendered.content.strip.should == "<span class=\"action_item\">\n <h2>Hello World</h2>\n </span>"
24
- end
25
- end
26
-
27
- end
@@ -1,56 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe ActiveAdmin::Views::TabsRenderer do
4
-
5
- let(:renderer){ ActiveAdmin::Views::TabsRenderer.new(mock_action_view) }
6
- let(:menu){ ActiveAdmin::Menu.new }
7
- let(:html){ renderer.to_html(menu) }
8
-
9
- # Generate a menu to use
10
- before do
11
- menu.add "Blog Posts", "/admin/blog-posts"
12
- menu.add "Reports", "/admin/reports"
13
- reports = menu["Reports"]
14
- reports.add "A Sub Reports", "/admin/a-sub-reports"
15
- reports.add "B Sub Reports", "/admin/b-sub-reports"
16
- end
17
-
18
- it "should generate a ul" do
19
- html.should have_tag("ul")
20
- end
21
-
22
- it "should generate an li for each item" do
23
- html.should have_tag("li", :parent => { :tag => "ul" })
24
- end
25
-
26
- it "should generate a link for each item" do
27
- html.should have_tag("a", "Blog Posts", :attributes => { :href => '/admin/blog-posts' })
28
- end
29
-
30
- it "should generate a " do
31
- html.should have_tag("a", "Blog Posts", :attributes => { :href => '/admin/blog-posts' })
32
- end
33
-
34
- it "should generate a nested list for children" do
35
- html.should have_tag("ul", :parent => { :tag => "li" })
36
- end
37
-
38
- it "should generate a nested list with li for each child" do
39
- html.should have_tag("li", :parent => { :tag => "ul" }, :attributes => {:id => "a_sub_reports"})
40
- html.should have_tag("li", :parent => { :tag => "ul" }, :attributes => {:id => "b_sub_reports"})
41
- end
42
-
43
- describe "marking current item" do
44
- it "should add the 'current' class to the li" do
45
- renderer.instance_variable_set :@current_tab, "Blog Posts"
46
- html.should have_tag("li", :attributes => { :class => "current" })
47
- end
48
-
49
- it "should add the 'current' and 'has_nested' classes to the li and 'current' to the sub li" do
50
- renderer.instance_variable_set :@current_tab, "Reports/A Sub Reports"
51
- html.should have_tag("li", :attributes => { :id => "reports", :class => "current has_nested" })
52
- html.should have_tag("li", :attributes => { :id => "a_sub_reports", :class => "current" })
53
- end
54
- end
55
-
56
- end