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,39 +1,39 @@
1
1
  <!DOCTYPE html>
2
2
  <html class="no-js">
3
- <head>
4
- <meta charset="UTF-8">
5
- <title><%= render_alchemy_title %></title>
6
- <%= csrf_meta_tag %>
7
- <%= stylesheet_link_tag('alchemy/alchemy', :media => 'screen') %>
8
- <%= stylesheet_link_tag('alchemy/print', :media => 'print') %>
9
- <%= javascript_include_tag('alchemy/alchemy') %>
10
- </head>
11
- <body id="alchemy" class="login">
12
- <noscript>
13
- <h1><%= t(:javascript_disabled_headline) %></h1>
14
- <p><%= t(:javascript_disabled_text) %></p>
15
- </noscript>
16
- <div id="left_menu">
17
- <div id="main_navi">
18
- <div id="logout">
19
- <%= link_to(alchemy.root_path) do %>
20
- <span class="module icon exit"></span>
21
- <label><%= t('leave') %></label>
22
- <% end %>
23
- </div>
24
- </div>
25
- <div id="left_menu_background"></div>
26
- </div>
27
- <div id="main_content">
28
- <%= yield %>
29
- </div>
30
- <%= yield(:javascripts) %>
31
- <script type="text/javascript" charset="utf-8">
32
- jQuery(document).ready(function($) {
33
- $('html').removeClass('no-js');
34
- Alchemy.SelectBox('body#alchemy select.alchemy_selectbox');
35
- Alchemy.ButtonObserver('.button');
36
- });
37
- </script>
38
- </body>
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <title><%= render_alchemy_title %></title>
6
+ <%= csrf_meta_tag %>
7
+ <%= stylesheet_link_tag('alchemy/alchemy', :media => 'screen') %>
8
+ <%= stylesheet_link_tag('alchemy/print', :media => 'print') %>
9
+ <%= javascript_include_tag('alchemy/alchemy') %>
10
+ </head>
11
+ <body id="alchemy" class="login">
12
+ <noscript>
13
+ <h1><%= t(:javascript_disabled_headline) %></h1>
14
+ <p><%= t(:javascript_disabled_text) %></p>
15
+ </noscript>
16
+ <div id="left_menu">
17
+ <div id="main_navi">
18
+ <div id="logout">
19
+ <%= link_to(alchemy.root_path) do %>
20
+ <span class="module icon exit"></span>
21
+ <label><%= t('leave') %></label>
22
+ <% end %>
23
+ </div>
24
+ </div>
25
+ <div id="left_menu_background"></div>
26
+ </div>
27
+ <div id="main_content">
28
+ <%= yield %>
29
+ </div>
30
+ <%= yield(:javascripts) %>
31
+ <script type="text/javascript" charset="utf-8">
32
+ jQuery(document).ready(function($) {
33
+ $('html').removeClass('no-js');
34
+ Alchemy.SelectBox('body#alchemy select.alchemy_selectbox');
35
+ Alchemy.ButtonObserver('.button');
36
+ });
37
+ </script>
38
+ </body>
39
39
  </html>
@@ -1,30 +1,51 @@
1
1
  <!DOCTYPE html>
2
2
  <html>
3
- <head>
4
- <%= render_meta_data(:title_prefix => sitename_from_header_page, :title_seperator => "-") %>
5
- <%= stylesheet_link_tag "alchemy/standard_set", :media => :screen %>
6
- <%= stylesheet_link_tag "alchemy/standard_set", :media => :print %>
7
- </head>
8
- <body>
9
- <div id="page">
10
- <div id="language_select">
11
- <%= language_switches(:linkname => :code) %>
12
- </div>
13
- <div id="breadcrump">
14
- <%= render_breadcrumb :seperator => "<span>&nbsp;<&nbsp;</span>" %>
15
- </div>
16
- <div id="navigation">
17
- <%= render_navigation :all_sub_menues => true %>
18
- </div>
19
- <%= yield %>
20
- <div class="footer">
21
- <%= render_elements(
22
- :from_page => 'layout_footer',
23
- :only => ['footnote']
24
- ) %>
25
- </div>
26
- </div>
27
- <%= alchemy_preview_mode_code %>
28
- <%= alchemy_menu_bar %>
29
- </body>
3
+ <head>
4
+ <!-- Your site title-prefix (That is YourSite in "YourSite - CurrentPage" is taken from a layout-page by default.
5
+ Alternatively you can hardcode it here -->
6
+ <%= render_meta_data(:title_prefix => sitename_from_header_page, :title_seperator => "-") %>
7
+ <!-- Paths here are relative to app/assets/stylesheets.
8
+ alchemy/standard_set, though, is located in Alchemy-source and doesn't have to be present in your app,
9
+ but you can copy it over and customize it of course. -->
10
+ <%= stylesheet_link_tag "alchemy/standard_set", :media => :screen %>
11
+ <%= stylesheet_link_tag "alchemy/standard_set", :media => :print %>
12
+ <!-- Here is also the place for custom javascripts. Put them in app/assets/javascripts/yourscript.js (or yourscript.js.coffee)
13
+ and include them like this (remove the \):
14
+ <\%= javascript_include_tag "yourscript" %> -->
15
+ </head>
16
+ <body>
17
+ <div id="page">
18
+ <div id="language_select">
19
+ <!-- Render links with flags for all public languages -->
20
+ <%= language_switches(:linkname => :code) %>
21
+ </div>
22
+ <div id="breadcrump">
23
+ <!-- Renders a breadcrumb/ariadne-path. For customizing see docs for render_breadcrumb (link?) -->
24
+ <%= render_breadcrumb :seperator => "<span>&nbsp;<&nbsp;</span>" %>
25
+ </div>
26
+ <div id="navigation">
27
+ <!-- Renders main navigation. For customizing see docs for render_navigation (link?)
28
+ You can overwrite app/views/navigation/_renderer.html.erb and app/views/navigation/_link.html.erb
29
+ if you want to roll out your own markup -->
30
+ <%= render_navigation :all_sub_menues => true %>
31
+ </div>
32
+ <!-- Most important call here!
33
+ This yields (=inserts) all content of the current page.
34
+ Markup depends on page_layout, elements and essences and can be changed in app/views/alchemy/... -->
35
+ <%= yield %>
36
+ <div class="footer">
37
+ <!-- Renders elements that are called "footnote" (name-attribute in elements.yml)
38
+ from page_layout "layout_footer" (name-attribute in page_layout.yml) -->
39
+ <%= render_elements(
40
+ :from_page => 'layout_footer',
41
+ :only => ['footnote']
42
+ ) %>
43
+ </div>
44
+ </div>
45
+ <!-- This is used in Alchemy's backend to prevent navigating to other pages through the preview window -->
46
+ <%= alchemy_preview_mode_code %>
47
+ <!-- Renders a menu_bar when a user with sufficient rights visits a page -->
48
+ <%= alchemy_menu_bar %>
49
+ </body>
30
50
  </html>
51
+
@@ -1,112 +1,114 @@
1
+ # encoding: UTF-8
2
+
1
3
  #!/usr/bin/env ruby
2
4
  # encoding: UTF-8
3
5
 
4
6
  begin
5
- require "rubygems"
6
- require 'rails/version'
7
- RAILS_VERSION = Rails::VERSION::STRING
8
- if RAILS_VERSION < "3.1"
9
- raise LoadError, "Wrong rails version installed. Please run gem install rails -v'~>3.1'"
10
- end
11
- require "thor"
12
- require File.join(File.dirname(__FILE__), '..', 'lib/alchemy/version')
7
+ require "rubygems"
8
+ require 'rails/version'
9
+ RAILS_VERSION = Rails::VERSION::STRING
10
+ if RAILS_VERSION < "3.2"
11
+ raise LoadError, "Wrong rails version installed. Please run gem install rails -v'~>3.2.1'"
12
+ end
13
+ require "thor"
14
+ require File.join(File.dirname(__FILE__), '..', 'lib/alchemy/version')
13
15
  end
14
16
 
15
17
  class AlchemyInstaller < Thor
16
18
 
17
- include Thor::Actions
18
-
19
- map "-v" => :version
20
- map "--version" => :version
21
-
22
- desc "version", "Prints current Alchemy CMS version", :hide => true
23
- def version
24
- puts Alchemy::VERSION
25
- end
26
-
27
- desc "new PROJECT", "Creates a new Alchemy CMS project."
28
- method_option :scm, :type => :string, :aliases => "-s", :desc => "Type of scm (git or svn) to use for this project. Leave blank for none."
29
- method_option :database, :type => :string, :default => 'mysql', :aliases => "-d", :desc => "Type of database to use for this project. Default mysql."
30
- def new(project)
31
- @application = project.downcase.strip.gsub(/ /, '_')
32
- say "Install Alchemy CMS into ./#{@application}", :yellow
33
- say "Generating new Rails App...", :yellow
34
-
35
- if system("rails _#{RAILS_VERSION}_ new #{@application} -m #{File.join(File.dirname(__FILE__), '..', 'lib', 'rails', 'templates', 'alchemy.rb')} -d #{options[:database]} -JT --old-style-hash #{options[:scm].nil? || options[:scm].empty? || options[:scm] == 'svn' ? '--skip-git' : ''}")
36
-
37
- create_database_yml if options[:database] == 'mysql'
38
-
39
- mountpoint = ask "\nWhere do you want to mount Alchemy CMS? (/)"
40
- mountpoint = "/" if mountpoint.empty?
41
- sentinel = /\.routes\.draw do(?:\s*\|map\|)?\s*$/
42
- inject_into_file "#{@application}/config/routes.rb", "\n mount Alchemy::Engine => '#{mountpoint}'\n", { :after => sentinel, :verbose => true }
43
-
44
- with_standard_set = yes?("\nDo you want to copy the files of Alchemy´s Standardset into your App? (y/N)")
45
-
46
- if with_standard_set
47
- sentinel = /::Application\.configure do\s*$/
48
- inject_into_file "#{@application}/config/environments/production.rb", "\n config.assets.precompile += %w( alchemy/standard_set.css )\n", { :after => sentinel, :verbose => true }
49
- end
50
-
51
- %x[
52
- cd ./#{@application}
53
- rails g alchemy:scaffold#{' --with-standard-set' if with_standard_set}
54
- rm ./public/index.html
55
- rm ./app/views/layouts/application.html.erb
56
- rm ./app/assets/images/rails.png
57
- ]
58
-
59
- if !options[:scm].nil? && !options[:scm].empty?
60
-
61
- clean_mountpoint = mountpoint.gsub('/', '')
62
-
63
- %x[
64
- cd ./#{@application}
65
- rm -rf ./tmp/*
66
- rm -rf ./log/*
67
- mkdir -p ./index
68
- mkdir -p ./uploads
69
- ]
70
-
71
- if yes?("\nDo you want to generate a deploy script for Capistrano? (y/N)")
72
- system "cd #{@application} && rails g alchemy:deploy_script --scm=#{options[:scm]} --db=#{options[:database]}"
73
- say "\nCapifying...", :yellow
74
- system "cd #{@application} && capify ."
75
- end
76
-
77
- case options[:scm]
78
- when 'svn'
79
- server = ask("\nURL of your svn server:")
80
- repository = ask("\nName of the repository (#{@application}):")
81
- repository = @application if repository.empty?
82
-
83
- say "\nImporting #{@application} into #{server}/#{repository} ...", :yellow
84
- output = %x[svn import ./#{@application} #{server}/#{repository} -m 'initial import by Alchemy installer']; imported = $?.success?
85
-
86
- if imported
87
-
88
- say "Removing and checking out again...", :yellow
89
- %x[
90
- rm -rf ./#{@application}
91
- svn co #{server}/#{repository} #{@application}
92
- ]
93
-
94
- say "Committing ignores...", :yellow
95
- %x[
96
- cd ./#{@application}
97
- svn propset svn:ignore '*' tmp/ log/ index/ uploads/
98
- svn propset svn:ignore '#{clean_mountpoint.empty? ? 'pictures' : clean_mountpoint}' ./public
99
- svn propset svn:ignore 'assets' ./public
100
- svn propset svn:ignore 'database.yml' ./config
101
- svn commit -m 'set ignores'
102
- ]
103
-
104
- else
105
- say "Error while importing!", :red
106
- end
107
-
108
- when 'git'
109
- gitignore = <<-GIT
19
+ include Thor::Actions
20
+
21
+ map "-v" => :version
22
+ map "--version" => :version
23
+
24
+ desc "version", "Prints current Alchemy CMS version", :hide => true
25
+ def version
26
+ puts Alchemy::VERSION
27
+ end
28
+
29
+ desc "new PROJECT", "Creates a new Alchemy CMS project."
30
+ method_option :scm, :type => :string, :aliases => "-s", :desc => "Type of scm (git or svn) to use for this project. Leave blank for none."
31
+ method_option :database, :type => :string, :default => 'mysql', :aliases => "-d", :desc => "Type of database to use for this project. Default mysql."
32
+ def new(project)
33
+ @application = project.downcase.strip.gsub(/ /, '_')
34
+ say "Install Alchemy CMS into ./#{@application}", :yellow
35
+ say "Generating new Rails App...", :yellow
36
+
37
+ if system("rails _#{RAILS_VERSION}_ new #{@application} -m #{File.join(File.dirname(__FILE__), '..', 'lib', 'rails', 'templates', 'alchemy.rb')} -d #{options[:database]} -JT --old-style-hash #{options[:scm].nil? || options[:scm].empty? || options[:scm] == 'svn' ? '--skip-git' : ''}")
38
+
39
+ create_database_yml if options[:database] == 'mysql'
40
+
41
+ mountpoint = ask "\nWhere do you want to mount Alchemy CMS? (/)"
42
+ mountpoint = "/" if mountpoint.empty?
43
+ sentinel = /\.routes\.draw do(?:\s*\|map\|)?\s*$/
44
+ inject_into_file "#{@application}/config/routes.rb", "\n mount Alchemy::Engine => '#{mountpoint}'\n", { :after => sentinel, :verbose => true }
45
+
46
+ with_standard_set = yes?("\nDo you want to copy the files of Alchemy´s Standardset into your App? (y/N)")
47
+
48
+ if with_standard_set
49
+ sentinel = /::Application\.configure do\s*$/
50
+ inject_into_file "#{@application}/environments/production.rb", "\n config.assets.precompile += %w( alchemy/standard_set.css )\n", { :after => sentinel, :verbose => true }
51
+ end
52
+
53
+ %x[
54
+ cd ./#{@application}
55
+ rails g alchemy:scaffold#{' --with-standard-set' if with_standard_set}
56
+ rm ./public/index.html
57
+ rm ./app/views/layouts/application.html.erb
58
+ rm ./app/assets/images/rails.png
59
+ ]
60
+
61
+ if !options[:scm].nil? && !options[:scm].empty?
62
+
63
+ clean_mountpoint = mountpoint.gsub('/', '')
64
+
65
+ %x[
66
+ cd ./#{@application}
67
+ rm -rf ./tmp/*
68
+ rm -rf ./log/*
69
+ mkdir -p ./index
70
+ mkdir -p ./uploads
71
+ ]
72
+
73
+ if yes?("\nDo you want to generate a deploy script for Capistrano? (y/N)")
74
+ system "cd #{@application} && rails g alchemy:deploy_script --scm=#{options[:scm]} --db=#{options[:database]}"
75
+ say "\nCapifying...", :yellow
76
+ system "cd #{@application} && capify ."
77
+ end
78
+
79
+ case options[:scm]
80
+ when 'svn'
81
+ server = ask("\nURL of your svn server:")
82
+ repository = ask("\nName of the repository (#{@application}):")
83
+ repository = @application if repository.empty?
84
+
85
+ say "\nImporting #{@application} into #{server}/#{repository} ...", :yellow
86
+ output = %x[svn import ./#{@application} #{server}/#{repository} -m 'initial import by Alchemy installer']; imported = $?.success?
87
+
88
+ if imported
89
+
90
+ say "Removing and checking out again...", :yellow
91
+ %x[
92
+ rm -rf ./#{@application}
93
+ svn co #{server}/#{repository} #{@application}
94
+ ]
95
+
96
+ say "Committing ignores...", :yellow
97
+ %x[
98
+ cd ./#{@application}
99
+ svn propset svn:ignore '*' tmp/ log/ index/ uploads/
100
+ svn propset svn:ignore '#{clean_mountpoint.empty? ? 'pictures' : clean_mountpoint}' ./public
101
+ svn propset svn:ignore 'assets' ./public
102
+ svn propset svn:ignore 'database.yml' ./config
103
+ svn commit -m 'set ignores'
104
+ ]
105
+
106
+ else
107
+ say "Error while importing!", :red
108
+ end
109
+
110
+ when 'git'
111
+ gitignore = <<-GIT
110
112
  log/*
111
113
  tmp/*
112
114
  .DS_Store
@@ -116,26 +118,26 @@ public/#{clean_mountpoint.empty? ? 'pictures' : clean_mountpoint}
116
118
  public/assets
117
119
  config/database.yml
118
120
  GIT
119
-
120
- %x[
121
- cd #{@application}
122
- echo "#{gitignore}" > .gitignore
123
- touch ./index/.gitkeep
124
- touch ./uploads/.gitkeep
125
- git init .
126
- git add .
127
- git commit -am 'inital commit'
128
- ]
129
- end
130
-
131
- end
132
-
133
- %x[
134
- cd ./#{@application}
135
- rake db:create alchemy:install:migrations db:migrate alchemy:db:seed
136
- ]
137
-
138
- readme = <<-EOF
121
+
122
+ %x[
123
+ cd #{@application}
124
+ echo "#{gitignore}" > .gitignore
125
+ touch ./index/.gitkeep
126
+ touch ./uploads/.gitkeep
127
+ git init .
128
+ git add .
129
+ git commit -am 'inital commit'
130
+ ]
131
+ end
132
+
133
+ end
134
+
135
+ %x[
136
+ cd ./#{@application}
137
+ rake db:create alchemy:install:migrations db:migrate alchemy:db:seed
138
+ ]
139
+
140
+ readme = <<-EOF
139
141
 
140
142
  Successfully installed Alchemy CMS into ./#{@application}
141
143
 
@@ -159,20 +161,20 @@ Thank you for using Alchemy CMS!
159
161
  http://alchemy-cms.com
160
162
 
161
163
  EOF
162
- say readme, :green
163
- else
164
- say "\nError while installation!\n", :red
165
- end
166
- end
164
+ say readme, :green
165
+ else
166
+ say "\nError while installation!\n", :red
167
+ end
168
+ end
167
169
 
168
170
  private
169
171
 
170
- def create_database_yml
171
- @db_root_password = ask("\nPlease provide your local root password for mysql (Leave blank for none):")
172
- local_standard_socket = '/tmp/mysql.sock'
173
- @db_local_socket = ask("\nPlease provide your local mysql socket (#{local_standard_socket}):")
174
- @db_local_socket = local_standard_socket if @db_local_socket.empty?
175
- create_file "./#{@application}/config/database.yml", :force => true do
172
+ def create_database_yml
173
+ @db_root_password = ask("\nPlease provide your local root password for mysql (Leave blank for none):")
174
+ local_standard_socket = '/tmp/mysql.sock'
175
+ @db_local_socket = ask("\nPlease provide your local mysql socket (#{local_standard_socket}):")
176
+ @db_local_socket = local_standard_socket if @db_local_socket.empty?
177
+ create_file "./#{@application}/config/database.yml", :force => true do
176
178
  <<-DATABASE
177
179
  development:
178
180
  adapter: mysql2
@@ -207,8 +209,8 @@ production:
207
209
  password: #{@db_root_password}
208
210
  socket: #{@db_local_socket}
209
211
  DATABASE
210
- end
211
- end
212
+ end
213
+ end
212
214
 
213
215
  end
214
216