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
@@ -0,0 +1,34 @@
1
+ ## MAC OS
2
+ .DS_Store
3
+
4
+ ## TEXTMATE
5
+ *.tmproj
6
+ tmtags
7
+
8
+ ## EMACS
9
+ *~
10
+ \#*
11
+ .\#*
12
+
13
+ ## VIM
14
+ *.swp
15
+
16
+ ## PROJECT::GENERAL
17
+ tags
18
+ coverage
19
+ rdoc
20
+ doc
21
+ .yardoc
22
+ pkg
23
+
24
+ ## PROJECT::SPECIFIC
25
+ .bundle
26
+ spec/rails
27
+ *.sqlite3-journal
28
+ Gemfile.lock
29
+ Gemfile-*.lock
30
+ capybara*
31
+ viewcumber
32
+ test-rails*
33
+ public
34
+ .rvmrc
@@ -0,0 +1,4 @@
1
+ script: bundle exec rake
2
+ rvm:
3
+ - ree
4
+ - 1.9.2
@@ -0,0 +1,8 @@
1
+ lib/**/*.rb
2
+ --protected
3
+ --no-private
4
+ --asset docs/images:images
5
+ -
6
+ README.rdoc
7
+ CHANGELOG.rdoc
8
+ docs/**/*.md
@@ -0,0 +1,177 @@
1
+ ## Master
2
+
3
+ Nothing yet
4
+
5
+ ## 0.3.0
6
+
7
+ 326 commits by 35 contributors
8
+
9
+ ### New Features
10
+
11
+ * I18n! Now supported in 10 languages!
12
+ * Customizeable CSV (@pcreux, @gregbell)
13
+ * Menus now support `if` and `priority` (Moritz Lawitschka)
14
+ * Rails 3.1 support
15
+ * Asset pipeline support (@gregbell)
16
+ * `skip_before_filter` now supported in DSL (@shayfrendt)
17
+ * Added a blank slate design (@mattvague)
18
+ * Collection and Member actions use the Active Admin layout (@gregbell)
19
+
20
+ ### Enhancements
21
+
22
+ * Better I18n config file loading (@fabiokr)
23
+ * `TableFor` now supports I18n headers (@fabiokr)
24
+ * `AttributesTable` now supports I18n attributes (@fabiokr)
25
+ * Member actions all use CSS class `member_link` (@doug316)
26
+ * Made `status_tag` an Arbre component (@pcreux)
27
+ * CSV downloads have sexy names such as "articles-2011-06-21.csv" (@pcreux)
28
+ * Created `ActiveAdmin::Setting` to easily create settings (@gregbell)
29
+ * New datepicker styles (@mattvague)
30
+ * Set `@page_title` in member action to render a custom title (@gregbell)
31
+ * #248: Settable logout link options in initializer (@gregbell)
32
+ * Added a DependencyChecker that warns if dependencies aren't met (@pcreux)
33
+
34
+ ### Bug Fixes
35
+
36
+ * #52: Fix update action with STI models (@gregbell)
37
+ * #122: Fix sortable columns on nested resources (@knoopx)
38
+ * Fix so that Dashboard Sections can appear in root namespace (@knoopx)
39
+ * #131: Fixed `status_tag` with nil content (@pcreux)
40
+ * #110: Fixed dropdown menu floats in Firefox (@mattvague)
41
+ * Use quoted table names (@krug)
42
+ * Fixed CSS float of `.paginated_collection_contents` bug in Firefox (@mattvague)
43
+ * Removed unwanted gradient in IE in attribute table headers (@emzeq)
44
+ * #222: Added `Arbre::Context#length` for Rack servers (@gregbell)
45
+ * #255: Fixed problem with dropdown menus in IE8 and IE9 (@mattvague)
46
+ * #235: Default sort order should use primary_key (@gregbell)
47
+ * #197: Fixed issues with #form params disappearing (@rolfb)
48
+ * #186: Fixes for when `default_namespace = false` (@gregbell)
49
+ * #135: Comments on STI classes redirect correctly (@gregbell)
50
+ * #77: Fixed performance issue where ActiveRecord::Base.all was being called (@pcreux)
51
+ * #332: Fixed Devise redirection when in false namespace (@gregbell)
52
+ * #171: Fixed issue where class names would clash with HTML object names (@gregbell)
53
+ * #381: Fixed issues with Devise < 1.2 (@pcreux)
54
+ * #369: Added support for pluralized model names such as News (@gregbell)
55
+ * #42: Default forms work with polymorphic associations (@mattvague)
56
+
57
+ ### Dependencies
58
+
59
+ * Switched from will_paginate to Kaminari for pagination (@mwindwer)
60
+ * Removed dependency on InheritedViews (@gregbell)
61
+ * Removed Jeweler. Using Bundler and a gemspec (@gregbell)
62
+
63
+ ### Contributors
64
+
65
+ * Armand du Plessis
66
+ * Aurelio Agundez
67
+ * Bruno Bonamin
68
+ * Chris Ostrowski
69
+ * Corey Woodcox
70
+ * DeLynn Berry
71
+ * Doug Puchalski
72
+ * Fabio Kreusch
73
+ * Greg Bell
74
+ * Ismael G Marin C
75
+ * Jackson Pires
76
+ * Jesper Hvirring Henriksen
77
+ * Josef Šimánek
78
+ * Jørgen Orehøj Erichsen
79
+ * Liborio Cannici
80
+ * Matt Vague
81
+ * Matthew Windwer
82
+ * Moritz Lawitschka
83
+ * Nathan Le Ray
84
+ * Nicolas Mosconi
85
+ * Philippe Creux
86
+ * Rolf Bjaanes
87
+ * Ryan D Johnson
88
+ * Ryan Krug
89
+ * Shay Frendt
90
+ * Steve Klabnik
91
+ * Tiago Rafael Godinho
92
+ * Toby Hede
93
+ * Vijay Dev
94
+ * Víctor Martínez
95
+ * doabit
96
+ * hoverlover
97
+ * nhurst
98
+ * whatthewhat
99
+ * Łukasz Anwajler
100
+
101
+
102
+ ## 0.2.2 (2011-05-26)
103
+
104
+ 68 Commits by 13 Contributors
105
+
106
+ ### Features & Enhancements
107
+
108
+ * Arbre includes self closing tags (#100)
109
+ * Controller class & action added to body as CSS classes (#99)
110
+ * HAML is not required by default (#92)
111
+ * Devise login now respects Devise.authentication_keys (#69)
112
+ * Active Admin no longer uses <tt>ActiveRecord::Base#search</tt> (#28)
113
+ * Resource's can now override the label in the menu (#48)
114
+ * Subdirectories are now loaded in the Active Admin load path
115
+
116
+ ### Bug Fixes
117
+
118
+ * Sort order now includes table name (#38)
119
+ * Fixed table_for 'odd', 'even' row classes (#96)
120
+ * Fixed Devise installation if AdminUser already exists (#95)
121
+ * Fixed issues when ActiveAdmin.default_namespaces is false (#32)
122
+ * Added styles for missing HTML 5 inputs (#31)
123
+ * Fixed issue if adding empty Active Admin Comment (#21)
124
+ * Fixed layout issues in FF 4 (#22)
125
+ * Use Sass::Plugin.options[:css_location] instead of Rails.root (#55)
126
+
127
+ ### Test Suite
128
+
129
+ * Update RSpec to latest & fix specs (Thanks Ben Marini & Jeremt Ruppel!) (#100)
130
+ * Added tests for STI models (#52)
131
+
132
+ ### Contributors
133
+
134
+ * Ben Marini
135
+ * Bookis Smuin
136
+ * Caley Woods
137
+ * Doug Puchalski
138
+ * Federico Romero
139
+ * Greg Bell
140
+ * Ian MacLeod
141
+ * Jeremy Ruppel
142
+ * Jordan Sitkin
143
+ * Juha Suuraho
144
+ * Mathieu Martin
145
+ * Paul Annesley
146
+ * Philippe Creux
147
+
148
+ ## 0.2.1 (2011-05-12)
149
+
150
+ ### Bug Fixes
151
+ * Fixed issue with dashboard rendering a sidebar
152
+
153
+ ## 0.2.0 (2011-05-12)
154
+
155
+ 0.2.0 is essentially an entire re-write of Active Admin. Here are some
156
+ of the highlights. 250 commits. Enough said.
157
+
158
+ ### Features & Enhancements
159
+
160
+ * Full visual redesign
161
+ * Integrated Devise for authentication
162
+ * Brand new view and component layer called Arbre (Project coming soon)
163
+ * Added ActiveAdmin::Comments
164
+
165
+ ### Bug Fixes
166
+
167
+ * Too many to list! Been in production for close to a year
168
+
169
+ ## 0.1.1 (2010-09-15)
170
+
171
+ ### Bug Fixes
172
+
173
+ * Fixed issues running on Ruby 1.9.2
174
+
175
+ ## 0.1.0
176
+
177
+ e Initial release
data/Gemfile CHANGED
@@ -1,50 +1,39 @@
1
- # These resources are needed to setup the test env
2
1
  source 'http://rubygems.org'
3
2
 
4
- # Set the RAILS env variable to test against diffirent versions of rails
5
- case ENV["RAILS"]
6
- when "3.0.0"
7
- gem 'rails', '= 3.0.0'
8
- when "3.0.1"
9
- gem 'rails', '= 3.0.1'
10
- when "3.0.2"
11
- gem 'rails', '= 3.0.2'
12
- when "3.0.3"
13
- gem 'rails', '= 3.0.3'
14
- when "3.0.4"
15
- gem 'rails', '= 3.0.4'
16
- when "3.0.5"
17
- gem 'rails', '= 3.0.5'
18
- when "3.0.6"
19
- gem 'rails', '= 3.0.6'
20
- when "3.0.7"
21
- gem 'rails', '= 3.0.7'
3
+ gemspec
4
+
5
+ require File.expand_path('../spec/support/detect_rails_version', __FILE__)
6
+
7
+ rails_version = ENV['RAILS'] || detect_rails_version || "3.1.0.rc10"
8
+ gem 'rails', rails_version
9
+
10
+ case rails_version
11
+ when /^3\.0/
12
+ gem "meta_search", '~> 1.0.0'
13
+ when /^3\.1/
14
+ gem "meta_search", '>= 1.1.0.pre'
15
+ gem 'sass-rails', "~> 3.1.0.rc"
22
16
  else
23
- # Default gems for in the gemspec
24
- gem 'rails', '>= 3.0.0'
17
+ raise "Rails #{rails_version} is not supported yet"
25
18
  end
26
19
 
27
- gem "meta_search", '>= 0.9.2'
28
- gem 'devise', '>= 1.1.2'
29
- gem 'formtastic', '>= 1.1.0'
30
- gem 'will_paginate', '>= 3.0.pre2'
31
- gem 'inherited_views'
32
- gem 'sass', '>= 3.1.0'
33
-
34
20
  group :development, :test do
35
21
  gem 'sqlite3-ruby', :require => 'sqlite3'
36
- gem 'jeweler', '1.5.2'
37
22
  gem 'rake', '0.8.7', :require => false
38
23
  gem 'haml', '~> 3.1.1', :require => false
24
+ gem 'yard'
25
+ gem 'rdiscount' # For yard
39
26
  end
40
27
 
41
28
  group :test do
42
29
  gem 'rspec', '~> 2.6.0'
43
30
  gem 'rspec-rails', '~> 2.6.0'
44
- gem 'capybara', '0.3.9'
45
- gem 'cucumber', '0.9.2'
46
- gem 'cucumber-rails', '0.3.2'
31
+ gem 'capybara', '1.0.0'
32
+ gem 'cucumber', '0.10.6'
33
+ gem 'cucumber-rails', '0.5.2'
47
34
  gem 'database_cleaner'
48
35
  gem 'shoulda', '2.11.2', :require => nil
49
36
  gem 'launchy'
37
+ gem 'jslint_on_rails', '~> 1.0.6'
38
+ gem 'guard-rspec'
50
39
  end
@@ -0,0 +1,8 @@
1
+ # More info at https://github.com/guard/guard#readme
2
+
3
+ guard 'rspec', :all_on_start => false, :version => 2 do
4
+ watch(%r{^spec/.+_spec\.rb$})
5
+ watch(%r{^lib/active_admin/(.+)\.rb$}) { |m| "spec/unit/#{m[1]}_spec.rb" }
6
+ watch('spec/spec_helper.rb') { "spec/" }
7
+ end
8
+
@@ -4,9 +4,18 @@ Active Admin is a framework for creating administration style interfaces. It
4
4
  abstracts common business application patterns to make it simple for developers
5
5
  to implement beautiful and elegant interfaces with very little effort.
6
6
 
7
+ == Help / Support / Demo
8
+ * Mailing list: http://groups.google.com/group/activeadmin
9
+ * Bug reports: https://github.com/gregbell/active_admin/issues
10
+ * RDoc: http://rubydoc.info/github/gregbell/active_admin/master/frames
11
+ * Guides: http://activeadmin.info/documentation.html
12
+ * Live demo: http://demo.activeadmin.info/admin
13
+ * Website: http://www.activeadmin.info
14
+
15
+
7
16
  == Goals
8
17
 
9
- 1. Allow developers to quickly create gorgeous administration interfaces
18
+ 1. Allow developers to quickly create gorgeous administration interfaces
10
19
  <strong>(Not Just CRUD)</strong>
11
20
  2. Build a DSL for developers and an interface for businesses.
12
21
  3. Ensure that developers can easily customize every nook and cranny of the interface.
@@ -26,7 +35,7 @@ After updating your bundle, run the installer
26
35
  $> rails generate active_admin:install
27
36
 
28
37
  The installer creates an initializer used for configuring defaults used by Active Admin as well
29
- as a new folder at <tt>app/admin</tt> to put all your admin configurations.
38
+ as a new folder at <tt>app/admin</tt> to put all your admin configurations.
30
39
 
31
40
  Migrate your db and start the server:
32
41
 
@@ -171,13 +180,13 @@ If the default title does not work for you, pass it as the first argument:
171
180
 
172
181
  Sometimes calling methods just isn't enough and you need to write some view
173
182
  specific code. For example, say we wanted a colum called Title which holds a
174
- link to the posts admin screen.
183
+ link to the posts admin screen.
175
184
 
176
185
  The column method accepts a block as an argument which will then be rendered
177
186
  within the context of the view for each of the objects in the collection.
178
187
 
179
188
  index do
180
- column "Title" do |post|
189
+ column "Title" do |post|
181
190
  link_to post.title, admin_post_path(post)
182
191
  end
183
192
  end
@@ -196,7 +205,7 @@ If a column is defined using a block, you must pass the key to turn on sorting.
196
205
  is the attribute which gets used to sort objects using Active Record.
197
206
 
198
207
  index do
199
- column "Title", :sortable => :title do |post|
208
+ column "Title", :sortable => :title do |post|
200
209
  link_to post.title, admin_post_path(post)
201
210
  end
202
211
  end
@@ -228,7 +237,7 @@ Sometimes you want to display the index screen for a set of resources as a grid
228
237
  index block.
229
238
 
230
239
  index :as => :grid do |product|
231
- link_to(image_tag(product.image_path), admin_products_path(product))
240
+ link_to(image_tag(product.image_path), admin_product_path(product))
232
241
  end
233
242
 
234
243
  The block is rendered within a cell in the grid once for each resource in the
@@ -238,7 +247,7 @@ You can customize the number of colums that are rendered using the columns
238
247
  option:
239
248
 
240
249
  index :as => :grid, :columns => 5 do |product|
241
- link_to(image_tag(product.image_path), admin_products_path(product))
250
+ link_to(image_tag(product.image_path), admin_product_path(product))
242
251
  end
243
252
 
244
253
 
@@ -263,7 +272,7 @@ By default the index screen includes a "Filters" sidebar on the right hand side
263
272
  with a filter for each attribute of the registered model. You can customize the
264
273
  filters that are displayed as well as the type of widgets they use.
265
274
 
266
- To dislay a filter for an attribute, use the filter method
275
+ To display a filter for an attribute, use the filter method
267
276
 
268
277
  ActiveAdmin.register Post do
269
278
  filter :title
@@ -291,6 +300,21 @@ the collection as a proc to be called at render time.
291
300
  # Will call available
292
301
  filter :author, :as => :check_boxes, :collection => proc { Author.all }
293
302
 
303
+ You can change the filter label by passing a label option:
304
+
305
+ filter :author, :label => 'Author'
306
+
307
+ By default, Active Admin will try to use ActiveModel I18n to determine the label.
308
+
309
+ == Customizing the CSV format
310
+
311
+ Customizing the CSV format is as simple as customizing the index page.
312
+
313
+ csv do
314
+ column :name
315
+ column("Author") { |post| post.author.full_name }
316
+ end
317
+
294
318
  == Customizing the Form
295
319
 
296
320
  Active Admin gives complete control over the output of the form by creating a thin DSL on top of
@@ -315,13 +339,29 @@ the fabulous DSL created by Formtastic (http://github.com/justinfrench/formtasti
315
339
  Please view the documentation for Formtastic to see all the wonderful things you can do:
316
340
  http://github.com/justinfrench/formtastic
317
341
 
342
+ If you require a more custom form than can be provided through the DSL, you can pass
343
+ a partial in to render the form yourself.
344
+
345
+ For example:
346
+
347
+ ActiveAdmin.register Post do
348
+ form :partial => "form"
349
+ end
350
+
351
+ Then implement app/views/admin/posts/_form.html.erb:
352
+
353
+ <%= semantic_form_for [:admin, @post] do |f| %>
354
+ <%= f.inputs :title, :body %>
355
+ <%= f.buttons :commit %>
356
+ <% end %>
357
+
318
358
 
319
359
  == Customizing the Show Screen
320
360
 
321
361
  Customizing the show screen is as simple as implementing the show block:
322
362
 
323
363
  ActiveAdmin.register Post do
324
- show do
364
+ show do
325
365
  h3 post.title
326
366
  div do
327
367
  simple_format post.body
@@ -333,7 +373,7 @@ The show block is rendered within the context of the view and uses the Arbre HTM
333
373
  can also render a partial at any point.
334
374
 
335
375
  ActiveAdmin.register Post do
336
- show do
376
+ show do
337
377
  # renders app/views/admin/posts/_some_partial.html.erb
338
378
  render "some_partial"
339
379
  end
@@ -376,13 +416,35 @@ Or you can pass your own custom partial to render.
376
416
 
377
417
  sidebar :help, :partial => "custom_help_partial"
378
418
 
419
+ == Add collection and member actions
420
+
421
+ To add a collection action, use the collection_action method:
422
+
423
+ collection_action :import_csv do
424
+ # do csv import
425
+ redirect_to :action => :index, :notice => "CSV imported successfully!"
426
+ end
427
+
428
+ To add a member action, use the member_action method:
429
+
430
+ member_action :lock, :method => :post do
431
+ resource.lock!
432
+ redirect_to :action => :show, :notice => "Locked!"
433
+ end
434
+
435
+ == Internationalization (I18n)
436
+
437
+ To internationalize Active Admin or to change default strings, you can copy
438
+ lib/active_admin/locales/en.yml to your application config/locales directory and
439
+ change its content. You can contribute to the project with your translations to!
440
+
379
441
  == Tools Being Used
380
442
 
381
- We believe strongly in not writing code unless we have to, so Active Admin is built using many
443
+ We believe strongly in not writing code unless we have to, so Active Admin is built using many
382
444
  other open source projects:
383
445
 
384
446
  InheritedResources::
385
- Inherited Resources speeds up development by making your controllers inherit all restful
447
+ Inherited Resources speeds up development by making your controllers inherit all restful
386
448
  actions so you just have to focus on what is important.
387
449
  InheritedViews::
388
450
  Inherited Views is a thin addition to Inherited Resources which adds in html views to the mix
@@ -390,7 +452,7 @@ Formtastic::
390
452
  A DSL for semantically building amazing forms.
391
453
  Devise::
392
454
  User authentication is done using Devise
393
- WillPaginate::
455
+ Kaminari::
394
456
  Pagination for rails apps
395
457
  Iconic Icons::
396
458
  Excellent SVG icon set designed by P.J. Onori: http://somerandomdude.com/projects/iconic
@@ -423,4 +485,3 @@ We are using the awesome Github issues!
423
485
  == Copyright
424
486
 
425
487
  Copyright (c) 2010 Greg Bell, VersaPay Corporation. See LICENSE for details.
426
-