alchemy_cms 2.1.12 → 2.2.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 (405) hide show
  1. data/.travis.yml +1 -1
  2. data/Gemfile +20 -16
  3. data/README.md +11 -7
  4. data/alchemy_cms.gemspec +31 -29
  5. data/app/assets/javascripts/alchemy/alchemy.base.js +234 -233
  6. data/app/assets/javascripts/alchemy/alchemy.buttons.js +26 -26
  7. data/app/assets/javascripts/alchemy/alchemy.datepicker.js +32 -32
  8. data/app/assets/javascripts/alchemy/alchemy.dirty.js +78 -78
  9. data/app/assets/javascripts/alchemy/alchemy.dragndrop.js +103 -103
  10. data/app/assets/javascripts/alchemy/alchemy.element_editor_selector.js +84 -84
  11. data/app/assets/javascripts/alchemy/alchemy.elements_window.js +88 -88
  12. data/app/assets/javascripts/alchemy/alchemy.file_progress.js +92 -0
  13. data/app/assets/javascripts/alchemy/alchemy.growler.js +23 -23
  14. data/app/assets/javascripts/alchemy/alchemy.html5.js +23 -0
  15. data/app/assets/javascripts/alchemy/alchemy.image_cropper.js +53 -52
  16. data/app/assets/javascripts/alchemy/alchemy.jquery_loader.js +33 -30
  17. data/app/assets/javascripts/alchemy/alchemy.js +2 -0
  18. data/app/assets/javascripts/alchemy/alchemy.js_extensions.js +14 -14
  19. data/app/assets/javascripts/alchemy/alchemy.link_overlay.js.coffee +181 -0
  20. data/app/assets/javascripts/alchemy/alchemy.menubar.js +48 -48
  21. data/app/assets/javascripts/alchemy/alchemy.page_sorter.js +39 -39
  22. data/app/assets/javascripts/alchemy/alchemy.preview.js +81 -83
  23. data/app/assets/javascripts/alchemy/alchemy.preview_window.js +86 -86
  24. data/app/assets/javascripts/alchemy/alchemy.routes.js.erb +23 -23
  25. data/app/assets/javascripts/alchemy/alchemy.swf_upload.js +208 -353
  26. data/app/assets/javascripts/alchemy/alchemy.uploader.js +279 -0
  27. data/app/assets/javascripts/alchemy/alchemy.windows.js +268 -268
  28. data/app/assets/javascripts/tiny_mce/plugins/alchemy_link/editor_plugin.js +42 -42
  29. data/app/assets/stylesheets/alchemy/_defaults.scss +89 -89
  30. data/app/assets/stylesheets/alchemy/base.css.scss +790 -804
  31. data/app/assets/stylesheets/alchemy/buttons.css.scss +263 -264
  32. data/app/assets/stylesheets/alchemy/dashboard.css.scss +66 -66
  33. data/app/assets/stylesheets/alchemy/elements.css.scss +575 -564
  34. data/app/assets/stylesheets/alchemy/flash.css.scss +45 -45
  35. data/app/assets/stylesheets/alchemy/frame.css.scss +262 -262
  36. data/app/assets/stylesheets/alchemy/icons.css.scss +86 -86
  37. data/app/assets/stylesheets/alchemy/jquery-ui.alchemy.css.scss +706 -707
  38. data/app/assets/stylesheets/alchemy/jquery.Jcrop.css.scss +46 -27
  39. data/app/assets/stylesheets/alchemy/jquery.sb.css.scss +107 -107
  40. data/app/assets/stylesheets/alchemy/login.css.scss +40 -38
  41. data/app/assets/stylesheets/alchemy/menubar.css.scss +84 -82
  42. data/app/assets/stylesheets/alchemy/modules.css.scss +9 -9
  43. data/app/assets/stylesheets/alchemy/pagination.css.scss +49 -49
  44. data/app/assets/stylesheets/alchemy/print.css +7 -7
  45. data/app/assets/stylesheets/alchemy/sitemap.css.scss +185 -154
  46. data/app/assets/stylesheets/alchemy/standard_set.css +205 -206
  47. data/app/assets/stylesheets/alchemy/tables.css.scss +94 -60
  48. data/app/assets/stylesheets/alchemy/tinymce_content.css.scss +34 -34
  49. data/app/assets/stylesheets/alchemy/tinymce_dialog.css.scss +177 -177
  50. data/app/assets/stylesheets/alchemy/upload.css.scss +68 -45
  51. data/app/assets/stylesheets/tiny_mce/plugins/inlinepopups/skins/alchemy/window.css.scss +222 -221
  52. data/app/controllers/alchemy/admin/attachments_controller.rb +100 -100
  53. data/app/controllers/alchemy/admin/base_controller.rb +116 -116
  54. data/app/controllers/alchemy/admin/clipboard_controller.rb +44 -44
  55. data/app/controllers/alchemy/admin/contents_controller.rb +55 -55
  56. data/app/controllers/alchemy/admin/dashboard_controller.rb +12 -11
  57. data/app/controllers/alchemy/admin/elements_controller.rb +109 -109
  58. data/app/controllers/alchemy/admin/essence_audios_controller.rb +8 -8
  59. data/app/controllers/alchemy/admin/essence_files_controller.rb +20 -20
  60. data/app/controllers/alchemy/admin/essence_flashes_controller.rb +8 -8
  61. data/app/controllers/alchemy/admin/essence_pictures_controller.rb +81 -81
  62. data/app/controllers/alchemy/admin/essence_videos_controller.rb +8 -8
  63. data/app/controllers/alchemy/admin/languages_controller.rb +16 -4
  64. data/app/controllers/alchemy/admin/layoutpages_controller.rb +9 -9
  65. data/app/controllers/alchemy/admin/pages_controller.rb +249 -248
  66. data/app/controllers/alchemy/admin/pictures_controller.rb +105 -105
  67. data/app/controllers/alchemy/admin/resources_controller.rb +111 -166
  68. data/app/controllers/alchemy/admin/trash_controller.rb +18 -18
  69. data/app/controllers/alchemy/admin/users_controller.rb +69 -69
  70. data/app/controllers/alchemy/attachments_controller.rb +27 -27
  71. data/app/controllers/alchemy/base_controller.rb +159 -155
  72. data/app/controllers/alchemy/elements_controller.rb +16 -16
  73. data/app/controllers/alchemy/messages_controller.rb +59 -59
  74. data/app/controllers/alchemy/pages_controller.rb +194 -198
  75. data/app/controllers/alchemy/pictures_controller.rb +57 -57
  76. data/app/controllers/alchemy/user_sessions_controller.rb +70 -70
  77. data/app/helpers/alchemy/admin/attachments_helper.rb +7 -7
  78. data/app/helpers/alchemy/admin/base_helper.rb +425 -425
  79. data/app/helpers/alchemy/admin/contents_helper.rb +72 -72
  80. data/app/helpers/alchemy/admin/elements_helper.rb +108 -107
  81. data/app/helpers/alchemy/admin/essences_helper.rb +108 -108
  82. data/app/helpers/alchemy/admin/pages_helper.rb +42 -42
  83. data/app/helpers/alchemy/admin/pictures_helper.rb +26 -26
  84. data/app/helpers/alchemy/base_helper.rb +90 -90
  85. data/app/helpers/alchemy/elements_helper.rb +167 -168
  86. data/app/helpers/alchemy/essences_helper.rb +133 -133
  87. data/app/helpers/alchemy/pages_helper.rb +515 -526
  88. data/app/helpers/alchemy/pictures_helper.rb +19 -0
  89. data/app/mailers/alchemy/messages.rb +13 -13
  90. data/app/mailers/alchemy/notifications.rb +19 -19
  91. data/app/models/alchemy.rb +3 -3
  92. data/app/models/alchemy/attachment.rb +52 -78
  93. data/app/models/alchemy/cell.rb +48 -48
  94. data/app/models/alchemy/content.rb +196 -196
  95. data/app/models/alchemy/element.rb +500 -490
  96. data/app/models/alchemy/essence_audio.rb +7 -7
  97. data/app/models/alchemy/essence_date.rb +10 -10
  98. data/app/models/alchemy/essence_file.rb +7 -7
  99. data/app/models/alchemy/essence_flash.rb +6 -6
  100. data/app/models/alchemy/essence_html.rb +9 -9
  101. data/app/models/alchemy/essence_picture.rb +17 -17
  102. data/app/models/alchemy/essence_richtext.rb +53 -53
  103. data/app/models/alchemy/essence_text.rb +21 -21
  104. data/app/models/alchemy/essence_video.rb +7 -7
  105. data/app/models/alchemy/folded_page.rb +3 -3
  106. data/app/models/alchemy/language.rb +91 -91
  107. data/app/models/alchemy/language/code.rb +14 -14
  108. data/app/models/alchemy/message.rb +48 -45
  109. data/app/models/alchemy/page.rb +555 -558
  110. data/app/models/alchemy/picture.rb +100 -99
  111. data/app/models/alchemy/user.rb +76 -74
  112. data/app/models/alchemy/user_session.rb +8 -8
  113. data/app/sweepers/alchemy/content_sweeper.rb +15 -15
  114. data/app/sweepers/alchemy/pages_sweeper.rb +50 -50
  115. data/app/sweepers/alchemy/pictures_sweeper.rb +14 -14
  116. data/app/views/alchemy/admin/attachments/_archive_overlay.html.erb +23 -23
  117. data/app/views/alchemy/admin/attachments/_attachment.html.erb +56 -56
  118. data/app/views/alchemy/admin/attachments/_file_to_assign.html.erb +15 -15
  119. data/app/views/alchemy/admin/attachments/_files_list.html.erb +16 -16
  120. data/app/views/alchemy/admin/attachments/create.js.erb +2 -2
  121. data/app/views/alchemy/admin/attachments/destroy.js.erb +3 -3
  122. data/app/views/alchemy/admin/attachments/edit.html.erb +10 -10
  123. data/app/views/alchemy/admin/attachments/index.html.erb +14 -14
  124. data/app/views/alchemy/admin/attachments/new.html.erb +9 -9
  125. data/app/views/alchemy/admin/clipboard/index.html.erb +21 -21
  126. data/app/views/alchemy/admin/clipboard/insert.js.erb +5 -5
  127. data/app/views/alchemy/admin/contents/_missing.html.erb +1 -1
  128. data/app/views/alchemy/admin/contents/create.js.erb +33 -33
  129. data/app/views/alchemy/admin/contents/destroy.js.erb +5 -5
  130. data/app/views/alchemy/admin/contents/new.html.erb +13 -13
  131. data/app/views/alchemy/admin/contents/order.js.erb +2 -2
  132. data/app/views/alchemy/admin/dashboard/index.html.erb +96 -92
  133. data/app/views/alchemy/admin/elements/_add_content.html.erb +12 -12
  134. data/app/views/alchemy/admin/elements/_element.html.erb +3 -3
  135. data/app/views/alchemy/admin/elements/_new_element_form.html.erb +28 -28
  136. data/app/views/alchemy/admin/elements/_picture_editor.html.erb +21 -21
  137. data/app/views/alchemy/admin/elements/create.js.erb +32 -32
  138. data/app/views/alchemy/admin/elements/index.html.erb +2 -2
  139. data/app/views/alchemy/admin/elements/new.html.erb +31 -31
  140. data/app/views/alchemy/admin/elements/order.js.erb +3 -3
  141. data/app/views/alchemy/admin/elements/trash.js.erb +13 -13
  142. data/app/views/alchemy/admin/elements/update.js.erb +6 -6
  143. data/app/views/alchemy/admin/essence_files/assign.js.erb +6 -6
  144. data/app/views/alchemy/admin/essence_pictures/crop.html.erb +32 -32
  145. data/app/views/alchemy/admin/essence_pictures/destroy.js.erb +1 -1
  146. data/app/views/alchemy/admin/essence_pictures/edit.html.erb +1 -1
  147. data/app/views/alchemy/admin/essence_pictures/update.js.erb +11 -11
  148. data/app/views/alchemy/admin/languages/_form.html.erb +51 -45
  149. data/app/views/alchemy/admin/languages/_language.html.erb +45 -45
  150. data/app/views/alchemy/admin/languages/_table.html.erb +25 -25
  151. data/app/views/alchemy/admin/layoutpages/index.html.erb +35 -35
  152. data/app/views/alchemy/admin/pages/_create_language_form.html.erb +42 -42
  153. data/app/views/alchemy/admin/pages/_external_link.html.erb +1 -1
  154. data/app/views/alchemy/admin/pages/_new_page_form.html.erb +27 -27
  155. data/app/views/alchemy/admin/pages/_page.html.erb +112 -112
  156. data/app/views/alchemy/admin/pages/_sitemap.html.erb +1 -1
  157. data/app/views/alchemy/admin/pages/configure.html.erb +71 -69
  158. data/app/views/alchemy/admin/pages/configure_external.html.erb +38 -38
  159. data/app/views/alchemy/admin/pages/destroy.js.erb +10 -10
  160. data/app/views/alchemy/admin/pages/edit.html.erb +165 -165
  161. data/app/views/alchemy/admin/pages/fold.js.erb +2 -2
  162. data/app/views/alchemy/admin/pages/index.html.erb +66 -66
  163. data/app/views/alchemy/admin/pages/locked.html.erb +1 -1
  164. data/app/views/alchemy/admin/pages/new.html.erb +40 -40
  165. data/app/views/alchemy/admin/pages/sort.js.erb +4 -4
  166. data/app/views/alchemy/admin/pages/unlock.js.erb +6 -6
  167. data/app/views/alchemy/admin/pages/update.js.erb +19 -19
  168. data/app/views/alchemy/admin/partials/_flash.html.erb +2 -2
  169. data/app/views/alchemy/admin/partials/_flash_notices.html.erb +1 -1
  170. data/app/views/alchemy/admin/partials/_flash_upload.html.erb +38 -0
  171. data/app/views/alchemy/admin/partials/_language_tree_select.html.erb +15 -15
  172. data/app/views/alchemy/admin/partials/_main_navigation_entry.html.erb +8 -8
  173. data/app/views/alchemy/admin/partials/_remote_search_form.html.erb +35 -35
  174. data/app/views/alchemy/admin/partials/_search_form.html.erb +14 -14
  175. data/app/views/alchemy/admin/partials/_sub_navigation_tab.html.erb +6 -6
  176. data/app/views/alchemy/admin/partials/_upload_form.html.erb +56 -118
  177. data/app/views/alchemy/admin/pictures/_archive_overlay.html.erb +11 -11
  178. data/app/views/alchemy/admin/pictures/_filter_and_size_bar.html.erb +71 -71
  179. data/app/views/alchemy/admin/pictures/_picture.html.erb +32 -32
  180. data/app/views/alchemy/admin/pictures/_picture_to_assign.html.erb +26 -26
  181. data/app/views/alchemy/admin/pictures/_pictures_list.html.erb +6 -6
  182. data/app/views/alchemy/admin/pictures/create.js.erb +7 -7
  183. data/app/views/alchemy/admin/pictures/index.html.erb +67 -67
  184. data/app/views/alchemy/admin/pictures/show_in_window.html.erb +5 -4
  185. data/app/views/alchemy/admin/resources/_form.html.erb +25 -19
  186. data/app/views/alchemy/admin/resources/_resource.html.erb +37 -36
  187. data/app/views/alchemy/admin/resources/_table.html.erb +17 -17
  188. data/app/views/alchemy/admin/resources/destroy.js.erb +1 -1
  189. data/app/views/alchemy/admin/resources/index.html.erb +14 -14
  190. data/app/views/alchemy/admin/trash/index.html.erb +20 -20
  191. data/app/views/alchemy/admin/users/_table.html.erb +52 -52
  192. data/app/views/alchemy/admin/users/_user.html.erb +35 -36
  193. data/app/views/alchemy/admin/users/index.html.erb +26 -27
  194. data/app/views/alchemy/base/error_notice.html.erb +2 -2
  195. data/app/views/alchemy/base/update.js.erb +1 -1
  196. data/app/views/alchemy/elements/_contactform_view.html.erb +76 -76
  197. data/app/views/alchemy/elements/_download_view.html.erb +1 -1
  198. data/app/views/alchemy/elements/_editor_not_found.html.erb +3 -3
  199. data/app/views/alchemy/elements/_searchresult_view.html.erb +2 -2
  200. data/app/views/alchemy/elements/_sitemap_editor.html.erb +1 -1
  201. data/app/views/alchemy/essences/_essence_audio_view.html.erb +13 -13
  202. data/app/views/alchemy/essences/_essence_date_editor.html.erb +10 -10
  203. data/app/views/alchemy/essences/_essence_file_editor.html.erb +62 -62
  204. data/app/views/alchemy/essences/_essence_file_view.html.erb +8 -8
  205. data/app/views/alchemy/essences/_essence_flash_view.html.erb +19 -19
  206. data/app/views/alchemy/essences/_essence_html_editor.html.erb +6 -6
  207. data/app/views/alchemy/essences/_essence_picture_editor.html.erb +73 -73
  208. data/app/views/alchemy/essences/_essence_picture_view.html.erb +34 -34
  209. data/app/views/alchemy/essences/_essence_richtext_editor.html.erb +7 -7
  210. data/app/views/alchemy/essences/_essence_text_editor.html.erb +8 -8
  211. data/app/views/alchemy/navigation/_image_link.html.erb +12 -12
  212. data/app/views/alchemy/navigation/_link.html.erb +13 -13
  213. data/app/views/alchemy/navigation/_renderer.html.erb +17 -17
  214. data/app/views/alchemy/page_layouts/_layout_footer.html.erb +1 -1
  215. data/app/views/alchemy/page_layouts/_layout_header.html.erb +1 -1
  216. data/app/views/alchemy/pages/show.rss.builder +14 -14
  217. data/app/views/alchemy/search/_result.html.erb +7 -7
  218. data/app/views/alchemy/user_sessions/leave.html.erb +9 -9
  219. data/app/views/alchemy/user_sessions/login.html.erb +39 -39
  220. data/app/views/alchemy/user_sessions/logout.html.erb +1 -1
  221. data/app/views/layouts/alchemy/admin.html.erb +81 -81
  222. data/app/views/layouts/alchemy/login.html.erb +36 -36
  223. data/app/views/layouts/alchemy/pages.html.erb +48 -27
  224. data/bin/alchemy +136 -134
  225. data/config/alchemy/config.yml +13 -9
  226. data/config/locales/alchemy.de.yml +24 -30
  227. data/config/locales/alchemy.en.yml +11 -28
  228. data/config/routes.rb +146 -146
  229. data/db/migrate/20100607193638_create_essence_pictures.rb +3 -3
  230. data/db/migrate/20101109150312_alter_pages_visible_column_default.rb +1 -1
  231. data/db/migrate/20101109151812_create_languages.rb +3 -3
  232. data/db/migrate/20110115123343_remove_css_class_default_from_essence_pictures.rb +3 -3
  233. data/db/migrate/20110224105120_change_pages_visible_default.rb +3 -3
  234. data/db/migrate/20110228182659_remove_default_page_layout_from_pages.rb +2 -2
  235. data/db/migrate/20110414163140_remove_display_name_from_elements.rb +3 -3
  236. data/db/migrate/20110511100516_rename_essence_texts_title_to_link_title.rb +2 -2
  237. data/db/migrate/20110529130500_add_cell_id_to_elements.rb +3 -3
  238. data/db/migrate/20110530102804_change_pages_page_layout_column.rb +3 -3
  239. data/db/migrate/20110711142057_change_open_link_in_new_window_to_link_target.rb +1 -1
  240. data/db/migrate/20111116125112_namespace_alchemy_models.rb +21 -21
  241. data/lib/alchemy/auth_engine.rb +5 -5
  242. data/lib/alchemy/capistrano.rb +64 -64
  243. data/lib/alchemy/config.rb +47 -44
  244. data/lib/alchemy/engine.rb +41 -41
  245. data/lib/alchemy/essence.rb +50 -51
  246. data/lib/alchemy/i18n.rb +48 -48
  247. data/lib/alchemy/modules.rb +30 -30
  248. data/lib/alchemy/mount_point.rb +6 -6
  249. data/lib/alchemy/page_layout.rb +94 -93
  250. data/lib/alchemy/resource.rb +82 -0
  251. data/lib/alchemy/resources_helper.rb +56 -0
  252. data/lib/alchemy/scoped_pagination_url_helper.rb +8 -8
  253. data/lib/alchemy/seeder.rb +88 -88
  254. data/lib/alchemy/tinymce.rb +49 -49
  255. data/lib/alchemy/upgrader.rb +103 -103
  256. data/lib/alchemy/version.rb +1 -1
  257. data/lib/alchemy_cms.rb +26 -27
  258. data/lib/extensions/action_view.rb +1 -1
  259. data/lib/extensions/array.rb +3 -3
  260. data/lib/extensions/hash.rb +3 -3
  261. data/lib/middleware/flash_session_cookie.rb +1 -1
  262. data/lib/rails/generators/alchemy/deploy_script/deploy_script_generator.rb +24 -24
  263. data/lib/rails/generators/alchemy/elements/elements_generator.rb +7 -7
  264. data/lib/rails/generators/alchemy/elements/templates/view.html.erb +17 -17
  265. data/lib/rails/generators/alchemy/page_layouts/page_layouts_generator.rb +6 -6
  266. data/lib/rails/generators/alchemy/plugin/templates/authorization_rules.rb +8 -8
  267. data/lib/rails/generators/alchemy/scaffold/files/pages.html.erb +7 -7
  268. data/lib/rails/generators/alchemy/scaffold/scaffold_generator.rb +36 -36
  269. data/lib/rails/templates/alchemy.rb +1 -1
  270. data/lib/tasks/ferret.rake +2 -2
  271. data/lib/tasks/fleximage.rake +32 -32
  272. data/lib/tasks/install.rake +12 -12
  273. data/lib/tasks/upgrade.rake +4 -4
  274. data/spec/controllers/admin/clipboard_controller_spec.rb +43 -43
  275. data/spec/controllers/admin/contents_controller_spec.rb +22 -22
  276. data/spec/controllers/admin/elements_controller_spec.rb +13 -13
  277. data/spec/controllers/admin/languages_controller_spec.rb +31 -0
  278. data/spec/controllers/admin/pages_controller_spec.rb +10 -41
  279. data/spec/controllers/admin/resources_controller_spec.rb +19 -0
  280. data/spec/controllers/admin/trash_controller_spec.rb +11 -11
  281. data/spec/controllers/base_controller_spec.rb +46 -46
  282. data/spec/controllers/pages_controller_spec.rb +102 -92
  283. data/spec/dummy/app/controllers/admin/events_controller.rb +3 -0
  284. data/spec/dummy/app/controllers/errors_controller.rb +5 -0
  285. data/spec/dummy/app/models/event.rb +3 -0
  286. data/spec/dummy/config.ru +1 -1
  287. data/spec/dummy/config/application.rb +3 -0
  288. data/spec/dummy/config/authorization_rules.rb +7 -0
  289. data/spec/dummy/config/environments/development.rb +8 -1
  290. data/spec/dummy/config/environments/production.rb +1 -1
  291. data/spec/dummy/config/environments/test.rb +5 -2
  292. data/spec/dummy/config/routes.rb +9 -1
  293. data/spec/dummy/db/schema.rb +47 -35
  294. data/spec/dummy/public/404.html +19 -7
  295. data/spec/dummy/public/404.html.bak +26 -0
  296. data/spec/dummy/public/422.html +19 -7
  297. data/spec/dummy/public/500.html +19 -7
  298. data/spec/dummy/script/rails +2 -2
  299. data/spec/factories.rb +76 -76
  300. data/spec/helpers/admin/base_helper_spec.rb +21 -21
  301. data/spec/helpers/admin/contents_helper_spec.rb +14 -14
  302. data/spec/helpers/admin/elements_helper_spec.rb +40 -40
  303. data/spec/helpers/admin/essences_helper_spec.rb +7 -7
  304. data/spec/helpers/elements_helper_spec.rb +154 -154
  305. data/spec/helpers/essences_helper_spec.rb +10 -10
  306. data/spec/helpers/pages_helper_spec.rb +369 -372
  307. data/spec/helpers/pictures_helper_spec.rb +14 -0
  308. data/spec/helpers/url_helpers_spec.rb +29 -34
  309. data/spec/integration/admin/pages_controller_spec.rb +50 -50
  310. data/spec/integration/admin/resources_integration_spec.rb +100 -0
  311. data/spec/integration/navigation_spec.rb +1 -1
  312. data/spec/integration/pages_controller_spec.rb +205 -207
  313. data/spec/integration/security_spec.rb +47 -47
  314. data/spec/javascripts/alchemy/link_overlay_spec.js.coffee +42 -0
  315. data/spec/javascripts/alchemy_integration_spec.coffee +12 -0
  316. data/spec/javascripts/fixtures/select.html +3 -0
  317. data/spec/javascripts/helpers/.gitkeep +0 -0
  318. data/spec/javascripts/helpers/jasmine-jquery-1.3.1.js +289 -0
  319. data/spec/javascripts/helpers/mock-ajax.js +207 -0
  320. data/spec/javascripts/helpers/test_responses/test_responses.js +1 -0
  321. data/spec/javascripts/spec.css +3 -0
  322. data/spec/javascripts/spec.js +2 -0
  323. data/spec/libraries/resource_spec.rb +122 -0
  324. data/spec/libraries/resources_helper_spec.rb +105 -0
  325. data/spec/models/content_spec.rb +67 -67
  326. data/spec/models/element_spec.rb +133 -133
  327. data/spec/models/essence_picture_spec.rb +5 -5
  328. data/spec/models/essence_richtext_spec.rb +4 -4
  329. data/spec/models/language_spec.rb +89 -89
  330. data/spec/models/page_spec.rb +436 -506
  331. data/spec/models/picture_spec.rb +34 -34
  332. data/spec/models/user_spec.rb +2 -2
  333. data/spec/page_layout_spec.rb +24 -20
  334. data/spec/routing_spec.rb +253 -253
  335. data/spec/spec_helper.rb +51 -50
  336. data/spec/support/alchemy/controller_hacks.rb +25 -25
  337. data/spec/support/alchemy/specs_helpers.rb +25 -25
  338. data/spec/support/integration_spec_helper.rb +24 -0
  339. data/vendor/assets/javascripts/jquery_plugins/jquery.html5uploader.js +271 -0
  340. data/vendor/assets/javascripts/jquery_plugins/jquery.in-place-edit.js +86 -85
  341. data/vendor/assets/javascripts/jquery_plugins/jquery.ui.nestedSortable.js +380 -377
  342. data/vendor/assets/javascripts/jquery_plugins/jquery.ui.tabspaging.js +285 -279
  343. data/vendor/assets/javascripts/swfupload/SWFObject License.txt +3 -3
  344. data/vendor/assets/javascripts/swfupload/swfupload.cookies.js +47 -47
  345. data/vendor/assets/javascripts/swfupload/swfupload.js +612 -612
  346. data/vendor/assets/javascripts/swfupload/swfupload.queue.js +93 -93
  347. data/vendor/assets/javascripts/swfupload/swfupload.speed.js +337 -337
  348. data/vendor/assets/javascripts/swfupload/swfupload.swfobject.js +706 -102
  349. data/vendor/assets/javascripts/tiny_mce/license.txt +6 -6
  350. data/vendor/assets/javascripts/tiny_mce/plugins/fullscreen/fullscreen.htm +97 -97
  351. data/vendor/assets/javascripts/tiny_mce/plugins/inlinepopups/template.htm +386 -376
  352. data/vendor/assets/javascripts/tiny_mce/plugins/paste/js/pastetext.js +30 -30
  353. data/vendor/assets/javascripts/tiny_mce/plugins/paste/js/pasteword.js +45 -45
  354. data/vendor/assets/javascripts/tiny_mce/plugins/paste/pastetext.htm +20 -17
  355. data/vendor/assets/javascripts/tiny_mce/plugins/paste/pasteword.htm +12 -12
  356. data/vendor/assets/javascripts/tiny_mce/plugins/table/cell.htm +183 -173
  357. data/vendor/assets/javascripts/tiny_mce/plugins/table/css/cell.css +4 -4
  358. data/vendor/assets/javascripts/tiny_mce/plugins/table/css/row.css +7 -7
  359. data/vendor/assets/javascripts/tiny_mce/plugins/table/css/table.css +3 -3
  360. data/vendor/assets/javascripts/tiny_mce/plugins/table/js/cell.js +282 -280
  361. data/vendor/assets/javascripts/tiny_mce/plugins/table/js/merge_cells.js +15 -15
  362. data/vendor/assets/javascripts/tiny_mce/plugins/table/js/row.js +204 -204
  363. data/vendor/assets/javascripts/tiny_mce/plugins/table/js/table.js +435 -435
  364. data/vendor/assets/javascripts/tiny_mce/plugins/table/merge_cells.htm +24 -22
  365. data/vendor/assets/javascripts/tiny_mce/plugins/table/row.htm +144 -136
  366. data/vendor/assets/javascripts/tiny_mce/plugins/table/table.htm +184 -168
  367. data/vendor/assets/javascripts/tiny_mce/themes/advanced/about.htm +62 -46
  368. data/vendor/assets/javascripts/tiny_mce/themes/advanced/anchor.htm +17 -16
  369. data/vendor/assets/javascripts/tiny_mce/themes/advanced/charmap.htm +56 -47
  370. data/vendor/assets/javascripts/tiny_mce/themes/advanced/color_picker.htm +67 -54
  371. data/vendor/assets/javascripts/tiny_mce/themes/advanced/editor_template.js +852 -1
  372. data/vendor/assets/javascripts/tiny_mce/themes/advanced/image.htm +79 -69
  373. data/vendor/assets/javascripts/tiny_mce/themes/advanced/js/about.js +48 -48
  374. data/vendor/assets/javascripts/tiny_mce/themes/advanced/js/anchor.js +28 -28
  375. data/vendor/assets/javascripts/tiny_mce/themes/advanced/js/charmap.js +317 -317
  376. data/vendor/assets/javascripts/tiny_mce/themes/advanced/js/color_picker.js +248 -246
  377. data/vendor/assets/javascripts/tiny_mce/themes/advanced/js/image.js +246 -246
  378. data/vendor/assets/javascripts/tiny_mce/themes/advanced/js/link.js +146 -146
  379. data/vendor/assets/javascripts/tiny_mce/themes/advanced/js/source_editor.js +31 -31
  380. data/vendor/assets/javascripts/tiny_mce/themes/advanced/langs/de.js +1 -1
  381. data/vendor/assets/javascripts/tiny_mce/themes/advanced/langs/de_dlg.js +1 -1
  382. data/vendor/assets/javascripts/tiny_mce/themes/advanced/langs/en.js +1 -1
  383. data/vendor/assets/javascripts/tiny_mce/themes/advanced/langs/en_dlg.js +1 -1
  384. data/vendor/assets/javascripts/tiny_mce/themes/advanced/link.htm +53 -46
  385. data/vendor/assets/javascripts/tiny_mce/themes/advanced/shortcuts.htm +57 -45
  386. data/vendor/assets/javascripts/tiny_mce/themes/advanced/skins/default/content.css +182 -47
  387. data/vendor/assets/javascripts/tiny_mce/themes/advanced/skins/default/dialog.css +399 -92
  388. data/vendor/assets/javascripts/tiny_mce/themes/advanced/skins/default/ui.css +891 -187
  389. data/vendor/assets/javascripts/tiny_mce/themes/advanced/skins/highcontrast/content.css +102 -24
  390. data/vendor/assets/javascripts/tiny_mce/themes/advanced/skins/highcontrast/dialog.css +377 -78
  391. data/vendor/assets/javascripts/tiny_mce/themes/advanced/skins/highcontrast/ui.css +452 -77
  392. data/vendor/assets/javascripts/tiny_mce/themes/advanced/skins/o2k7/content.css +167 -45
  393. data/vendor/assets/javascripts/tiny_mce/themes/advanced/skins/o2k7/dialog.css +399 -92
  394. data/vendor/assets/javascripts/tiny_mce/themes/advanced/skins/o2k7/ui.css +890 -190
  395. data/vendor/assets/javascripts/tiny_mce/themes/advanced/skins/o2k7/ui_black.css +33 -7
  396. data/vendor/assets/javascripts/tiny_mce/themes/advanced/skins/o2k7/ui_silver.css +15 -4
  397. data/vendor/assets/javascripts/tiny_mce/themes/advanced/source_editor.htm +18 -15
  398. data/vendor/assets/javascripts/tiny_mce/utils/editable_selects.js +46 -46
  399. data/vendor/assets/javascripts/tiny_mce/utils/form_utils.js +124 -124
  400. data/vendor/assets/javascripts/tiny_mce/utils/mctabs.js +112 -112
  401. data/vendor/assets/javascripts/tiny_mce/utils/validate.js +213 -213
  402. metadata +102 -115
  403. data/app/assets/javascripts/alchemy/alchemy.link_overlay.js +0 -216
  404. data/lib/tasks/routes.rake +0 -29
  405. data/spec/integration/admin/resources_spec.rb +0 -19
@@ -1,21 +1,21 @@
1
1
  <div class="<%= @element_name %>" id="<%%= element_dom_id(element) %>"<%%= element_preview_code(element) -%>>
2
2
  <%- unless @contents.blank? -%>
3
- <%- @contents.each do |content| -%>
4
- <%- if content["type"] == "Alchemy::EssencePicture" -%>
5
- <div class="<%= @element_name %>_images">
6
- <%%- element.all_contents_by_type("Alchemy::EssencePicture").each do |content| -%>
7
- <div class="<%= @element_name %>_image <%%= content.essence.css_class %>">
8
- <%%= render_essence_view(content, :image_size => "160x120") %>
9
- </div>
10
- <%%- end -%>
11
- </div>
12
- <%- elsif @contents.size > 1 -%>
13
- <div class="<%= content["name"] %>">
14
- <%%= render_essence_view_by_name(element, '<%= content["name"] %>') %>
15
- </div>
16
- <%- else -%>
17
- <%%= render_essence_view_by_name(element, '<%= content["name"] %>') %>
18
- <%- end -%>
19
- <%- end -%>
3
+ <%- @contents.each do |content| -%>
4
+ <%- if content["type"] == "Alchemy::EssencePicture" -%>
5
+ <div class="<%= @element_name %>_images">
6
+ <%%- element.all_contents_by_type("Alchemy::EssencePicture").each do |content| -%>
7
+ <div class="<%= @element_name %>_image <%%= content.essence.css_class %>">
8
+ <%%= render_essence_view(content, :image_size => "160x120") %>
9
+ </div>
10
+ <%%- end -%>
11
+ </div>
12
+ <%- elsif @contents.size > 1 -%>
13
+ <div class="<%= content["name"] %>">
14
+ <%%= render_essence_view_by_name(element, '<%= content["name"] %>') %>
15
+ </div>
16
+ <%- else -%>
17
+ <%%= render_essence_view_by_name(element, '<%= content["name"] %>') %>
18
+ <%- end -%>
19
+ <%- end -%>
20
20
  <%- end -%>
21
21
  </div>
@@ -5,12 +5,12 @@ module Alchemy
5
5
  class PageLayoutsGenerator < ::Rails::Generators::Base
6
6
  desc "This generator generates your page_layouts view partials."
7
7
  source_root File.expand_path('templates', File.dirname(__FILE__))
8
-
8
+
9
9
  def create_directory
10
10
  @page_layouts_dir = "#{Rails.root}/app/views/alchemy/page_layouts"
11
11
  empty_directory @page_layouts_dir
12
12
  end
13
-
13
+
14
14
  def create_partials
15
15
  @page_layouts = get_page_layouts_from_yaml
16
16
  @page_layouts.each do |page_layout|
@@ -18,15 +18,15 @@ module Alchemy
18
18
  template "layout.html.erb", "#{@page_layouts_dir}/_#{@page_layout_name}.html.erb"
19
19
  end if @page_layouts
20
20
  end
21
-
22
- private
23
-
21
+
22
+ private
23
+
24
24
  def get_page_layouts_from_yaml
25
25
  YAML.load_file "#{Rails.root}/config/alchemy/page_layouts.yml"
26
26
  rescue Errno::ENOENT
27
27
  puts "\nERROR: Could not read config/alchemy/page_layouts.yml file. Please run: rails generate alchemy:scaffold"
28
28
  end
29
-
29
+
30
30
  end
31
31
  end
32
32
  end
@@ -1,34 +1,34 @@
1
1
  # Define permissions for your plugin in here.
2
2
  # See https://github.com/stffn/declarative_authorization for further informations.
3
3
  authorization do
4
-
4
+
5
5
  role :guest do
6
6
  has_permission_on :<%= @plugin_name.tableize %>, :to => [:show]
7
7
  end
8
-
8
+
9
9
  role :registered do
10
10
  includes :guest
11
11
  end
12
-
12
+
13
13
  role :author do
14
14
  includes :registered
15
15
  end
16
-
16
+
17
17
  role :editor do
18
18
  includes :author
19
19
  end
20
-
20
+
21
21
  role :admin do
22
22
  includes :editor
23
23
  has_permission_on :admin_<%= @plugin_name.tableize %>, :to => [:manage]
24
24
  end
25
-
25
+
26
26
  end
27
27
 
28
28
  privileges do
29
-
29
+
30
30
  privilege :manage do
31
31
  includes :index, :new, :create, :show, :edit, :update, :destroy
32
32
  end
33
-
33
+
34
34
  end
@@ -1,10 +1,10 @@
1
1
  <!DOCTYPE html>
2
2
  <html>
3
- <head>
4
- <%= render_meta_data %>
5
- </head>
6
- <body>
7
- <%= yield %>
8
- <%= alchemy_preview_mode_code %>
9
- </body>
3
+ <head>
4
+ <%= render_meta_data %>
5
+ </head>
6
+ <body>
7
+ <%= yield %>
8
+ <%= alchemy_preview_mode_code %>
9
+ </body>
10
10
  </html>
@@ -1,45 +1,45 @@
1
1
  require 'rails'
2
2
 
3
3
  module Alchemy
4
- module Generators
5
- class ScaffoldGenerator < ::Rails::Generators::Base
6
- desc "This generator generates the Alchemy scaffold. Pass --with-standard-set to copy Alchemys Standardset files into your app."
7
- class_option 'with-standard-set', :type => :boolean, :desc => "Copy standard set files."
8
- source_root File.expand_path('templates', File.dirname(__FILE__))
4
+ module Generators
5
+ class ScaffoldGenerator < ::Rails::Generators::Base
6
+ desc "This generator generates the Alchemy scaffold. Pass --with-standard-set to copy Alchemys Standardset files into your app."
7
+ class_option 'with-standard-set', :type => :boolean, :desc => "Copy standard set files."
8
+ source_root File.expand_path('templates', File.dirname(__FILE__))
9
9
 
10
- def create_config_dir
11
- empty_directory "#{Rails.root}/config/alchemy"
12
- end
10
+ def create_config_dir
11
+ empty_directory "#{Rails.root}/config/alchemy"
12
+ end
13
13
 
14
- def create_view_dirs
15
- empty_directory Rails.root.join("app/views/alchemy/elements")
16
- empty_directory Rails.root.join("app/views/alchemy/page_layouts")
17
- end
14
+ def create_view_dirs
15
+ empty_directory Rails.root.join("app/views/alchemy/elements")
16
+ empty_directory Rails.root.join("app/views/alchemy/page_layouts")
17
+ end
18
18
 
19
- def copy_config
20
- @config_path = File.expand_path('../../../../../config/alchemy', File.dirname(__FILE__))
21
- copy_file "#{@config_path}/config.yml", "#{Rails.root}/config/alchemy/config.yml"
22
- end
19
+ def copy_config
20
+ @config_path = File.expand_path('../../../../../config/alchemy', File.dirname(__FILE__))
21
+ copy_file "#{@config_path}/config.yml", "#{Rails.root}/config/alchemy/config.yml"
22
+ end
23
23
 
24
- def copy_files
25
- if options['with-standard-set']
26
- layouts_path = File.expand_path('../../../../../app/views/layouts/alchemy', File.dirname(__FILE__))
27
- elements_path = File.expand_path('../../../../../app/views/alchemy/elements', File.dirname(__FILE__))
28
- page_layouts_path = File.expand_path('../../../../../app/views/alchemy/page_layouts', File.dirname(__FILE__))
29
- copy_file "#{@config_path}/elements.yml", "#{Rails.root}/config/alchemy/elements.yml"
30
- copy_file "#{@config_path}/page_layouts.yml", "#{Rails.root}/config/alchemy/page_layouts.yml"
31
- copy_file "#{layouts_path}/pages.html.erb", "#{Rails.root}/app/views/layouts/alchemy/pages.html.erb"
32
- Dir.glob("#{elements_path}/*").reject{|file_path| !(File.basename(file_path) =~ /(.+)_(view|editor).html.erb/) }.each do |file_path|
33
- copy_file file_path, "#{Rails.root}/app/views/alchemy/elements/#{File.basename(file_path)}"
34
- end
35
- directory "#{page_layouts_path}/", "#{Rails.root}/app/views/alchemy/page_layouts/"
36
- else
37
- copy_file "#{File.dirname(__FILE__)}/files/elements.yml", "#{Rails.root}/config/alchemy/elements.yml"
38
- copy_file "#{File.dirname(__FILE__)}/files/page_layouts.yml", "#{Rails.root}/config/alchemy/page_layouts.yml"
39
- copy_file "#{File.dirname(__FILE__)}/files/pages.html.erb", "#{Rails.root}/app/views/layouts/alchemy/pages.html.erb"
40
- end
41
- end
24
+ def copy_files
25
+ if options['with-standard-set']
26
+ layouts_path = File.expand_path('../../../../../app/views/layouts/alchemy', File.dirname(__FILE__))
27
+ elements_path = File.expand_path('../../../../../app/views/alchemy/elements', File.dirname(__FILE__))
28
+ page_layouts_path = File.expand_path('../../../../../app/views/alchemy/page_layouts', File.dirname(__FILE__))
29
+ copy_file "#{@config_path}/elements.yml", "#{Rails.root}/config/alchemy/elements.yml"
30
+ copy_file "#{@config_path}/page_layouts.yml", "#{Rails.root}/config/alchemy/page_layouts.yml"
31
+ copy_file "#{layouts_path}/pages.html.erb", "#{Rails.root}/app/views/layouts/alchemy/pages.html.erb"
32
+ Dir.glob("#{elements_path}/*").reject { |file_path| !(File.basename(file_path) =~ /(.+)_(view|editor).html.erb/) }.each do |file_path|
33
+ copy_file file_path, "#{Rails.root}/app/views/alchemy/elements/#{File.basename(file_path)}"
34
+ end
35
+ directory "#{page_layouts_path}/", "#{Rails.root}/app/views/alchemy/page_layouts/"
36
+ else
37
+ copy_file "#{File.dirname(__FILE__)}/files/elements.yml", "#{Rails.root}/config/alchemy/elements.yml"
38
+ copy_file "#{File.dirname(__FILE__)}/files/page_layouts.yml", "#{Rails.root}/config/alchemy/page_layouts.yml"
39
+ copy_file "#{File.dirname(__FILE__)}/files/pages.html.erb", "#{Rails.root}/app/views/layouts/alchemy/pages.html.erb"
40
+ end
41
+ end
42
42
 
43
- end
44
- end
43
+ end
44
+ end
45
45
  end
@@ -8,7 +8,7 @@ gem 'ruby-debug', :group => :development, :platform => :ruby_18
8
8
  gem 'ruby-debug19', :group => :development, :platform => :ruby_19
9
9
 
10
10
  if yes?("\nDo you want to use Capistrano for deployment? (y/N)")
11
- gem 'capistrano', :group => :development
11
+ gem 'capistrano', :group => :development
12
12
  end
13
13
 
14
14
  run 'bundle install'
@@ -1,5 +1,5 @@
1
1
  namespace :ferret do
2
-
2
+
3
3
  desc "Updates the ferret index for the application."
4
4
  task :rebuild_index => :environment do
5
5
  puts "Rebuilding Ferret Index for EssenceText"
@@ -8,5 +8,5 @@ namespace :ferret do
8
8
  Alchemy::EssenceRichtext.rebuild_index
9
9
  puts "Completed Ferret Index Rebuild"
10
10
  end
11
-
11
+
12
12
  end
@@ -1,34 +1,34 @@
1
1
  namespace :fleximage do
2
-
2
+
3
3
  # Find the model class
4
4
  def model_class
5
5
  raise 'You must specify a FLEXIMAGE_CLASS=MyClass' unless ENV['FLEXIMAGE_CLASS']
6
6
  @model_class ||= ENV['FLEXIMAGE_CLASS'].camelcase.constantize
7
7
  end
8
-
8
+
9
9
  desc "Populate width and height magic columns from the current image store. Useful when migrating from on old installation."
10
10
  task :dimensions => :environment do
11
11
  model_class.find(:all).each do |obj|
12
12
  if obj.has_image?
13
13
  img = obj.load_image
14
- obj.update_attribute :image_width, img.columns if obj.respond_to?(:image_width=)
15
- obj.update_attribute :image_height, img.rows if obj.respond_to?(:image_height=)
14
+ obj.update_attribute :image_width, img.columns if obj.respond_to?(:image_width=)
15
+ obj.update_attribute :image_height, img.rows if obj.respond_to?(:image_height=)
16
16
  end
17
17
  end
18
18
  end
19
-
19
+
20
20
  namespace :convert do
21
-
21
+
22
22
  def convert_directory_format(to_format)
23
23
  model_class.find(:all).each do |obj|
24
-
24
+
25
25
  # Get the creation date
26
26
  creation = obj[:created_at] || obj[:created_on] || Date.today
27
-
27
+
28
28
  # Generate both types of file paths
29
- flat_path = "#{RAILS_ROOT}/#{model_class.image_directory}/#{obj.id}.#{model_class.image_storage_format}"
30
- nested_path = "#{RAILS_ROOT}/#{model_class.image_directory}/#{creation.year}/#{creation.month}/#{creation.day}/#{obj.id}.#{model_class.image_storage_format}"
31
-
29
+ flat_path = "#{RAILS_ROOT}/#{model_class.image_directory}/#{obj.id}.#{model_class.image_storage_format}"
30
+ nested_path = "#{RAILS_ROOT}/#{model_class.image_directory}/#{creation.year}/#{creation.month}/#{creation.day}/#{obj.id}.#{model_class.image_storage_format}"
31
+
32
32
  # Assign old path and new path based on desired directory format
33
33
  if to_format == :nested
34
34
  old_path = flat_path
@@ -37,7 +37,7 @@ namespace :fleximage do
37
37
  old_path = nested_path
38
38
  new_path = flat_path
39
39
  end
40
-
40
+
41
41
  # Move the files
42
42
  if old_path != new_path && File.exists?(old_path)
43
43
  FileUtils.mkdir_p(File.dirname(new_path))
@@ -46,10 +46,10 @@ namespace :fleximage do
46
46
  end
47
47
  end
48
48
  end
49
-
49
+
50
50
  def convert_image_format(to_format)
51
51
  model_class.find(:all).each do |obj|
52
-
52
+
53
53
  # convert DB stored images
54
54
  if model_class.db_store?
55
55
  if obj.image_file_data && obj.image_file_data.any?
@@ -62,16 +62,16 @@ namespace :fleximage do
62
62
  puts "Could not convert image for #{model_class} with id #{obj.id}\n #{e.class} #{e}\n"
63
63
  end
64
64
  end
65
-
66
- # Convert file system stored images
67
- else
65
+
66
+ # Convert file system stored images
67
+ else
68
68
  # Generate both types of file paths
69
69
  png_path = obj.file_path.gsub(/\.jpg$/, '.png')
70
70
  jpg_path = obj.file_path.gsub(/\.png$/, '.jpg')
71
-
71
+
72
72
  # Output stub
73
73
  output = (to_format == :jpg) ? 'PNG -> JPG' : 'JPG -> PNG'
74
-
74
+
75
75
  # Assign old path and new path based on desired image format
76
76
  if to_format == :jpg
77
77
  old_path = png_path
@@ -80,47 +80,47 @@ namespace :fleximage do
80
80
  old_path = jpg_path
81
81
  new_path = png_path
82
82
  end
83
-
83
+
84
84
  # Perform conversion
85
85
  if File.exists?(old_path)
86
86
  image = Magick::Image.read(old_path).first
87
87
  image.format = to_format.to_s.upcase
88
88
  image.write(new_path)
89
89
  File.delete(old_path)
90
-
90
+
91
91
  puts "#{output} : Image #{obj.id}"
92
92
  end
93
93
  end
94
94
  end
95
95
  end
96
-
96
+
97
97
  def ensure_db_store
98
- col = model_class.columns.find {|c| c.name == 'image_file_data'}
98
+ col = model_class.columns.find { |c| c.name == 'image_file_data' }
99
99
  unless col && col.type == :binary
100
100
  raise "No image_file_data field of type :binary for this model!"
101
101
  end
102
102
  end
103
-
103
+
104
104
  desc "Convert a flat images/123.png style image store to a images/2007/11/12/123.png style. Requires FLEXIMAGE_CLASS=ModelName"
105
105
  task :to_nested => :environment do
106
106
  convert_directory_format :nested
107
107
  end
108
-
108
+
109
109
  desc "Convert a nested images/2007/11/12/123.png style image store to a images/123.png style. Requires FLEXIMAGE_CLASS=ModelName"
110
110
  task :to_flat => :environment do
111
111
  convert_directory_format :flat
112
112
  end
113
-
113
+
114
114
  desc "Convert master images stored as JPGs to PNGs"
115
115
  task :to_png => :environment do
116
116
  convert_image_format :png
117
117
  end
118
-
118
+
119
119
  desc "Convert master images stored as PNGs to JPGs"
120
120
  task :to_jpg => :environment do
121
121
  convert_image_format :jpg
122
122
  end
123
-
123
+
124
124
  desc "Convert master image storage to use the database. Loads all file-stored images into the database."
125
125
  task :to_db => :environment do
126
126
  ensure_db_store
@@ -132,10 +132,10 @@ namespace :fleximage do
132
132
  end
133
133
  end
134
134
  end
135
-
135
+
136
136
  puts "--- All images successfully moved to the database. Check to make sure the transfer worked cleanly before deleting your file system image store."
137
137
  end
138
-
138
+
139
139
  desc "Convert master image storage to use the file system. Loads all database images into files."
140
140
  task :to_filestore => :environment do
141
141
  ensure_db_store
@@ -146,9 +146,9 @@ namespace :fleximage do
146
146
  end
147
147
  end
148
148
  end
149
-
149
+
150
150
  puts "--- All images successfully moved to the file system. Remember to remove your image_file_data field from your models database table."
151
151
  end
152
-
152
+
153
153
  end
154
154
  end
@@ -1,21 +1,21 @@
1
1
  namespace :alchemy do
2
2
 
3
- namespace :db do
3
+ namespace :db do
4
4
 
5
- desc "Seeds the database with essential data for Alchemy."
6
- task :seed => :environment do
7
- Alchemy::Seeder.seed!
8
- end
5
+ desc "Seeds the database with essential data for Alchemy."
6
+ task :seed => :environment do
7
+ Alchemy::Seeder.seed!
8
+ end
9
9
 
10
- end
10
+ end
11
11
 
12
- namespace :standard_set do
12
+ namespace :standard_set do
13
13
 
14
- desc "Install Alchemys standard set."
15
- task :install do
16
- system("rails g alchemy:scaffold --with-standard-set")
17
- end
14
+ desc "Install Alchemys standard set."
15
+ task :install do
16
+ system("rails g alchemy:scaffold --with-standard-set")
17
+ end
18
18
 
19
- end
19
+ end
20
20
 
21
21
  end
@@ -2,9 +2,9 @@ require File.join(File.dirname(__FILE__), '../alchemy/upgrader.rb')
2
2
 
3
3
  namespace :alchemy do
4
4
 
5
- desc "Upgrades database to Alchemy CMS v#{Alchemy::VERSION}."
6
- task :upgrade => :environment do
7
- Alchemy::Upgrader.run!
8
- end
5
+ desc "Upgrades database to Alchemy CMS v#{Alchemy::VERSION}."
6
+ task :upgrade => :environment do
7
+ Alchemy::Upgrader.run!
8
+ end
9
9
 
10
10
  end