alchemy_cms 2.9.1 → 3.0.0.rc5

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 (695) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +3 -1
  3. data/.travis.yml +14 -3
  4. data/CONTRIBUTING.md +73 -0
  5. data/Gemfile +25 -24
  6. data/LICENSE +19 -16
  7. data/README.md +16 -33
  8. data/alchemy_cms.gemspec +62 -59
  9. data/app/assets/images/alchemy/alchemy-logo.svg +70 -0
  10. data/app/assets/images/alchemy/favicon.ico +0 -0
  11. data/app/assets/images/alchemy/icon.svg +14 -0
  12. data/app/assets/javascripts/alchemy/alchemy.autocomplete.js.coffee +30 -0
  13. data/app/assets/javascripts/alchemy/alchemy.base.js.coffee +28 -30
  14. data/app/assets/javascripts/alchemy/alchemy.browser.js.coffee +20 -26
  15. data/app/assets/javascripts/alchemy/alchemy.confirm_dialog.js.coffee +80 -0
  16. data/app/assets/javascripts/alchemy/alchemy.dialog.js.coffee +261 -0
  17. data/app/assets/javascripts/alchemy/alchemy.dirty.js.coffee +15 -15
  18. data/app/assets/javascripts/alchemy/alchemy.dragndrop.js.coffee +4 -1
  19. data/app/assets/javascripts/alchemy/alchemy.element_editors.js.coffee +20 -9
  20. data/app/assets/javascripts/alchemy/alchemy.elements_window.js.coffee +67 -68
  21. data/app/assets/javascripts/alchemy/alchemy.file_progress.js.coffee +63 -0
  22. data/app/assets/javascripts/alchemy/alchemy.growler.js.coffee +1 -1
  23. data/app/assets/javascripts/alchemy/alchemy.gui.js.coffee +2 -1
  24. data/app/assets/javascripts/alchemy/alchemy.hotkeys.js.coffee +32 -14
  25. data/app/assets/javascripts/alchemy/alchemy.i18n.js.coffee +21 -0
  26. data/app/assets/javascripts/alchemy/alchemy.image_cropper.js.coffee +4 -1
  27. data/app/assets/javascripts/alchemy/{alchemy.onload.js.coffee → alchemy.initializer.js.coffee} +22 -5
  28. data/app/assets/javascripts/alchemy/alchemy.js +13 -11
  29. data/app/assets/javascripts/alchemy/alchemy.link_dialog.js.coffee +221 -0
  30. data/app/assets/javascripts/alchemy/alchemy.list_filter.js.coffee +2 -2
  31. data/app/assets/javascripts/alchemy/alchemy.page_sorter.js +0 -2
  32. data/app/assets/javascripts/alchemy/alchemy.preview.js.coffee +37 -35
  33. data/app/assets/javascripts/alchemy/alchemy.preview_window.js.coffee +42 -69
  34. data/app/assets/javascripts/alchemy/alchemy.sitemap.js.coffee +1 -1
  35. data/app/assets/javascripts/alchemy/alchemy.spinner.js.coffee +4 -4
  36. data/app/assets/javascripts/alchemy/alchemy.tinymce.js.coffee.erb +3 -7
  37. data/app/assets/javascripts/alchemy/alchemy.translations.js.coffee +107 -19
  38. data/app/assets/javascripts/alchemy/alchemy.uploader.js.coffee +97 -0
  39. data/app/assets/javascripts/alchemy/alchemy.windows.js.coffee +14 -273
  40. data/app/assets/javascripts/alchemy/menubar.js.coffee +8 -0
  41. data/app/assets/javascripts/alchemy/preview.js +0 -2
  42. data/app/assets/javascripts/tinymce/plugins/alchemy_link/plugin.min.js +19 -0
  43. data/app/assets/stylesheets/alchemy/{defaults.scss → _defaults.scss} +2 -0
  44. data/app/assets/stylesheets/alchemy/{extends.scss → _extends.scss} +7 -61
  45. data/app/assets/stylesheets/alchemy/_mixins.scss +112 -0
  46. data/app/assets/stylesheets/alchemy/{variables.scss → _variables.scss} +31 -11
  47. data/app/assets/stylesheets/alchemy/admin.css.scss +6 -3
  48. data/app/assets/stylesheets/alchemy/archive.scss +27 -32
  49. data/app/assets/stylesheets/alchemy/base.scss +93 -127
  50. data/app/assets/stylesheets/alchemy/buttons.scss +227 -0
  51. data/app/assets/stylesheets/alchemy/dashboard.scss +14 -1
  52. data/app/assets/stylesheets/alchemy/dialogs.scss +209 -0
  53. data/app/assets/stylesheets/alchemy/elements.scss +173 -210
  54. data/app/assets/stylesheets/alchemy/errors.scss +5 -15
  55. data/app/assets/stylesheets/alchemy/flash.scss +12 -11
  56. data/app/assets/stylesheets/alchemy/form_fields.scss +56 -0
  57. data/app/assets/stylesheets/alchemy/forms.scss +161 -0
  58. data/app/assets/stylesheets/alchemy/frame.scss +8 -6
  59. data/app/assets/stylesheets/alchemy/icon-font.css.scss +40 -40
  60. data/app/assets/stylesheets/alchemy/icons.scss +14 -6
  61. data/app/assets/stylesheets/alchemy/jquery-ui.scss +11 -629
  62. data/app/assets/stylesheets/alchemy/menubar.css.scss +27 -72
  63. data/app/assets/stylesheets/alchemy/notices.scss +6 -5
  64. data/app/assets/stylesheets/alchemy/pagination.scss +1 -1
  65. data/app/assets/stylesheets/alchemy/search.scss +4 -3
  66. data/app/assets/stylesheets/alchemy/selects.scss +199 -0
  67. data/app/assets/stylesheets/alchemy/sitemap.scss +31 -60
  68. data/app/assets/stylesheets/alchemy/tables.scss +0 -77
  69. data/app/assets/stylesheets/alchemy/toolbar.scss +0 -2
  70. data/app/assets/stylesheets/alchemy/upload.scss +60 -57
  71. data/app/assets/stylesheets/tinymce/skins/alchemy/content.min.css.scss +81 -0
  72. data/app/assets/stylesheets/tinymce/skins/alchemy/fonts/readme.md +1 -0
  73. data/app/assets/stylesheets/tinymce/skins/alchemy/fonts/tinymce-small.eot +0 -0
  74. data/app/assets/stylesheets/tinymce/skins/alchemy/fonts/tinymce-small.svg +175 -0
  75. data/app/assets/stylesheets/tinymce/skins/alchemy/fonts/tinymce-small.ttf +0 -0
  76. data/app/assets/stylesheets/tinymce/skins/alchemy/fonts/tinymce-small.woff +0 -0
  77. data/app/assets/stylesheets/tinymce/skins/alchemy/fonts/tinymce.eot +0 -0
  78. data/app/assets/stylesheets/tinymce/skins/alchemy/fonts/tinymce.svg +153 -0
  79. data/app/assets/stylesheets/tinymce/skins/alchemy/fonts/tinymce.ttf +0 -0
  80. data/app/assets/stylesheets/tinymce/skins/alchemy/fonts/tinymce.woff +0 -0
  81. data/app/assets/stylesheets/tinymce/skins/alchemy/img/anchor.gif +0 -0
  82. data/app/assets/stylesheets/tinymce/skins/alchemy/img/loader.gif +0 -0
  83. data/app/assets/stylesheets/tinymce/skins/alchemy/img/object.gif +0 -0
  84. data/{vendor/assets/javascripts/tiny_mce/themes/advanced → app/assets/stylesheets/tinymce/skins/alchemy}/img/trans.gif +0 -0
  85. data/app/assets/stylesheets/tinymce/skins/alchemy/img/wline.gif +0 -0
  86. data/app/assets/stylesheets/tinymce/skins/alchemy/skin.ie7.min.css +1 -0
  87. data/app/assets/stylesheets/tinymce/skins/alchemy/skin.min.css.scss +1813 -0
  88. data/app/controllers/alchemy/admin/attachments_controller.rb +39 -50
  89. data/app/controllers/alchemy/admin/base_controller.rb +32 -32
  90. data/app/controllers/alchemy/admin/clipboard_controller.rb +2 -2
  91. data/app/controllers/alchemy/admin/contents_controller.rb +12 -7
  92. data/app/controllers/alchemy/admin/dashboard_controller.rb +1 -1
  93. data/app/controllers/alchemy/admin/elements_controller.rb +41 -32
  94. data/app/controllers/alchemy/admin/essence_files_controller.rb +4 -3
  95. data/app/controllers/alchemy/admin/essence_pictures_controller.rb +13 -16
  96. data/app/controllers/alchemy/admin/languages_controller.rb +0 -1
  97. data/app/controllers/alchemy/admin/layoutpages_controller.rb +2 -1
  98. data/app/controllers/alchemy/admin/pages_controller.rb +106 -166
  99. data/app/controllers/alchemy/admin/pictures_controller.rb +54 -80
  100. data/app/controllers/alchemy/admin/resources_controller.rb +25 -9
  101. data/app/controllers/alchemy/admin/tags_controller.rb +26 -14
  102. data/app/controllers/alchemy/admin/trash_controller.rb +5 -2
  103. data/app/controllers/alchemy/attachments_controller.rb +8 -8
  104. data/app/controllers/alchemy/base_controller.rb +23 -89
  105. data/app/controllers/alchemy/contents_controller.rb +17 -0
  106. data/app/controllers/alchemy/elements_controller.rb +7 -30
  107. data/app/controllers/alchemy/messages_controller.rb +18 -18
  108. data/app/controllers/alchemy/pages_controller.rb +73 -48
  109. data/app/controllers/alchemy/pictures_controller.rb +45 -46
  110. data/app/helpers/alchemy/admin/attachments_helper.rb +1 -0
  111. data/app/helpers/alchemy/admin/base_helper.rb +95 -90
  112. data/app/helpers/alchemy/admin/contents_helper.rb +34 -37
  113. data/app/helpers/alchemy/admin/elements_helper.rb +4 -5
  114. data/app/helpers/alchemy/admin/essences_helper.rb +13 -90
  115. data/app/helpers/alchemy/admin/form_helper.rb +30 -0
  116. data/app/helpers/alchemy/admin/navigation_helper.rb +34 -2
  117. data/app/helpers/alchemy/base_helper.rb +3 -3
  118. data/app/helpers/alchemy/elements_helper.rb +105 -142
  119. data/app/helpers/alchemy/essences_helper.rb +17 -53
  120. data/app/helpers/alchemy/pages_helper.rb +148 -177
  121. data/app/helpers/alchemy/url_helper.rb +5 -25
  122. data/app/models/alchemy/attachment.rb +39 -14
  123. data/app/models/alchemy/cell.rb +18 -4
  124. data/app/models/alchemy/content.rb +69 -79
  125. data/app/models/alchemy/content/factory.rb +2 -6
  126. data/app/models/alchemy/element.rb +94 -89
  127. data/app/models/alchemy/essence_boolean.rb +13 -2
  128. data/app/models/alchemy/essence_date.rb +15 -8
  129. data/app/models/alchemy/essence_file.rb +25 -1
  130. data/app/models/alchemy/essence_html.rb +13 -6
  131. data/app/models/alchemy/essence_link.rb +16 -7
  132. data/app/models/alchemy/essence_picture.rb +102 -21
  133. data/app/models/alchemy/essence_richtext.rb +15 -37
  134. data/app/models/alchemy/essence_select.rb +13 -2
  135. data/app/models/alchemy/essence_text.rb +17 -42
  136. data/app/models/alchemy/folded_page.rb +10 -0
  137. data/app/models/alchemy/language.rb +62 -48
  138. data/app/models/alchemy/legacy_page_url.rb +12 -2
  139. data/app/models/alchemy/message.rb +11 -43
  140. data/app/models/alchemy/page.rb +107 -88
  141. data/app/models/alchemy/page/{page_cells.rb → cells.rb} +2 -2
  142. data/app/models/alchemy/page/{page_elements.rb → elements.rb} +5 -6
  143. data/app/models/alchemy/page/{page_naming.rb → naming.rb} +6 -11
  144. data/app/models/alchemy/page/{page_natures.rb → natures.rb} +29 -5
  145. data/app/models/alchemy/page/{page_scopes.rb → scopes.rb} +14 -14
  146. data/app/models/alchemy/page/{page_users.rb → users.rb} +4 -4
  147. data/app/models/alchemy/picture.rb +113 -41
  148. data/app/models/alchemy/picture/sweeping.rb +17 -0
  149. data/app/models/alchemy/site.rb +14 -2
  150. data/app/models/alchemy/tag.rb +8 -0
  151. data/app/serializers/alchemy/attachment_serializer.rb +15 -0
  152. data/app/serializers/alchemy/cell_serializer.rb +18 -0
  153. data/app/serializers/alchemy/content_serializer.rb +27 -0
  154. data/app/serializers/alchemy/element_serializer.rb +17 -0
  155. data/app/serializers/alchemy/essence_boolean_serializer.rb +11 -0
  156. data/app/serializers/alchemy/essence_date_serializer.rb +11 -0
  157. data/app/serializers/alchemy/essence_file_serializer.rb +12 -0
  158. data/app/serializers/alchemy/essence_html_serializer.rb +11 -0
  159. data/app/serializers/alchemy/essence_link_serializer.rb +14 -0
  160. data/app/serializers/alchemy/essence_picture_serializer.rb +28 -0
  161. data/app/serializers/alchemy/essence_richtext_serializer.rb +12 -0
  162. data/app/serializers/alchemy/essence_select_serializer.rb +11 -0
  163. data/app/serializers/alchemy/essence_text_serializer.rb +22 -0
  164. data/app/serializers/alchemy/page_serializer.rb +29 -0
  165. data/app/serializers/alchemy/picture_serializer.rb +16 -0
  166. data/app/views/alchemy/_menubar.html.erb +16 -0
  167. data/app/views/alchemy/admin/attachments/_archive_overlay.html.erb +27 -29
  168. data/app/views/alchemy/admin/attachments/_attachment.html.erb +24 -24
  169. data/app/views/alchemy/admin/attachments/_file_to_assign.html.erb +1 -1
  170. data/app/views/alchemy/admin/attachments/_files_list.html.erb +1 -1
  171. data/app/views/alchemy/admin/attachments/_overlay_file_list.html.erb +2 -2
  172. data/app/views/alchemy/admin/attachments/archive_overlay.js.erb +7 -4
  173. data/app/views/alchemy/admin/attachments/create.js.erb +11 -9
  174. data/app/views/alchemy/admin/attachments/edit.html.erb +9 -26
  175. data/app/views/alchemy/admin/attachments/index.html.erb +4 -4
  176. data/app/views/alchemy/admin/attachments/new.html.erb +13 -10
  177. data/app/views/alchemy/admin/attachments/show.html.erb +1 -1
  178. data/app/views/alchemy/admin/clipboard/clear.js.erb +3 -7
  179. data/app/views/alchemy/admin/clipboard/index.html.erb +21 -22
  180. data/app/views/alchemy/admin/clipboard/insert.js.erb +19 -14
  181. data/app/views/alchemy/admin/contents/_missing.html.erb +10 -12
  182. data/app/views/alchemy/admin/contents/create.js.erb +32 -36
  183. data/app/views/alchemy/admin/contents/destroy.js.coffee +3 -3
  184. data/app/views/alchemy/admin/contents/new.html.erb +9 -21
  185. data/app/views/alchemy/admin/contents/order.js.erb +2 -5
  186. data/app/views/alchemy/admin/dashboard/help.html.erb +21 -0
  187. data/app/views/alchemy/admin/dashboard/index.html.erb +5 -7
  188. data/app/views/alchemy/admin/dashboard/info.html.erb +13 -9
  189. data/app/views/alchemy/admin/elements/_add_picture.html.erb +6 -6
  190. data/app/views/alchemy/admin/elements/_element.html.erb +4 -1
  191. data/app/views/alchemy/admin/elements/_element_head.html.erb +2 -2
  192. data/app/views/alchemy/admin/elements/_new_element_form.html.erb +20 -27
  193. data/app/views/alchemy/admin/elements/_picture_gallery_editor.html.erb +7 -7
  194. data/app/views/alchemy/admin/elements/_refresh_editor.js.erb +1 -1
  195. data/app/views/alchemy/admin/elements/create.js.erb +6 -6
  196. data/app/views/alchemy/admin/elements/fold.js.erb +10 -10
  197. data/app/views/alchemy/admin/elements/index.html.erb +24 -26
  198. data/app/views/alchemy/admin/elements/list.html.erb +16 -0
  199. data/app/views/alchemy/admin/elements/new.html.erb +12 -28
  200. data/app/views/alchemy/admin/elements/trash.js.erb +3 -3
  201. data/app/views/alchemy/admin/elements/update.js.erb +12 -8
  202. data/app/views/alchemy/admin/essence_files/assign.js.erb +9 -14
  203. data/app/views/alchemy/admin/essence_files/edit.html.erb +17 -27
  204. data/app/views/alchemy/admin/essence_pictures/assign.js.erb +18 -0
  205. data/app/views/alchemy/admin/essence_pictures/crop.html.erb +1 -1
  206. data/app/views/alchemy/admin/essence_pictures/destroy.js.erb +9 -13
  207. data/app/views/alchemy/admin/essence_pictures/edit.html.erb +27 -67
  208. data/app/views/alchemy/admin/essence_pictures/save_link.js.erb +1 -1
  209. data/app/views/alchemy/admin/essence_pictures/update.js.erb +3 -3
  210. data/app/views/alchemy/admin/languages/_form.html.erb +13 -55
  211. data/app/views/alchemy/admin/languages/_language.html.erb +10 -16
  212. data/app/views/alchemy/admin/languages/_table.html.erb +1 -1
  213. data/app/views/alchemy/admin/languages/index.html.erb +4 -4
  214. data/app/views/alchemy/admin/layoutpages/_layoutpage.html.erb +25 -27
  215. data/app/views/alchemy/admin/layoutpages/index.html.erb +5 -5
  216. data/app/views/alchemy/admin/pages/_create_language_form.html.erb +25 -31
  217. data/app/views/alchemy/admin/pages/_external_link.html.erb +24 -35
  218. data/app/views/alchemy/admin/pages/_file_link.html.erb +31 -45
  219. data/app/views/alchemy/admin/pages/_internal_link.html.erb +36 -42
  220. data/app/views/alchemy/admin/pages/_new_page_form.html.erb +8 -26
  221. data/app/views/alchemy/admin/pages/_page.html.erb +76 -75
  222. data/app/views/alchemy/admin/pages/_page_for_links.html.erb +15 -16
  223. data/app/views/alchemy/admin/pages/configure.html.erb +56 -86
  224. data/app/views/alchemy/admin/pages/configure_external.html.erb +32 -39
  225. data/app/views/alchemy/admin/pages/destroy.js.erb +10 -10
  226. data/app/views/alchemy/admin/pages/edit.html.erb +57 -63
  227. data/app/views/alchemy/admin/pages/fold.js.erb +3 -5
  228. data/app/views/alchemy/admin/pages/index.html.erb +11 -13
  229. data/app/views/alchemy/admin/pages/info.html.erb +28 -31
  230. data/app/views/alchemy/admin/pages/link.html.erb +8 -19
  231. data/app/views/alchemy/admin/pages/new.html.erb +11 -35
  232. data/app/views/alchemy/admin/pages/show.html.erb +1 -1
  233. data/app/views/alchemy/admin/pages/sort.js.erb +5 -7
  234. data/app/views/alchemy/admin/pages/update.js.erb +19 -20
  235. data/app/views/alchemy/admin/partials/_autocomplete_tag_list.html.erb +1 -9
  236. data/app/views/alchemy/admin/partials/_language_tree_select.html.erb +8 -19
  237. data/app/views/alchemy/admin/partials/_main_navigation_entry.html.erb +1 -1
  238. data/app/views/alchemy/admin/partials/_sub_navigation.html.erb +1 -1
  239. data/app/views/alchemy/admin/partials/_toolbar_button.html.erb +3 -3
  240. data/app/views/alchemy/admin/partials/_upload_form.html.erb +37 -55
  241. data/app/views/alchemy/admin/pictures/_archive.html.erb +3 -3
  242. data/app/views/alchemy/admin/pictures/_archive_overlay.html.erb +11 -13
  243. data/app/views/alchemy/admin/pictures/_filter_and_size_bar.html.erb +1 -1
  244. data/app/views/alchemy/admin/pictures/_overlay_picture_list.html.erb +4 -2
  245. data/app/views/alchemy/admin/pictures/_picture.html.erb +37 -37
  246. data/app/views/alchemy/admin/pictures/_picture_to_assign.html.erb +1 -1
  247. data/app/views/alchemy/admin/pictures/archive_overlay.js.erb +8 -5
  248. data/app/views/alchemy/admin/pictures/edit.html.erb +8 -21
  249. data/app/views/alchemy/admin/pictures/edit_multiple.html.erb +15 -33
  250. data/app/views/alchemy/admin/pictures/index.html.erb +9 -7
  251. data/app/views/alchemy/admin/pictures/index.js.erb +2 -2
  252. data/app/views/alchemy/admin/pictures/info.html.erb +35 -40
  253. data/app/views/alchemy/admin/pictures/new.html.erb +15 -11
  254. data/app/views/alchemy/admin/pictures/show.html.erb +5 -5
  255. data/app/views/alchemy/admin/resources/_form.html.erb +7 -31
  256. data/app/views/alchemy/admin/resources/_resource.html.erb +9 -16
  257. data/app/views/alchemy/admin/resources/_table.html.erb +1 -1
  258. data/app/views/alchemy/admin/resources/index.html.erb +5 -5
  259. data/app/views/alchemy/admin/sites/index.html.erb +3 -3
  260. data/app/views/alchemy/admin/tags/_tag.html.erb +15 -15
  261. data/app/views/alchemy/admin/tags/edit.html.erb +20 -37
  262. data/app/views/alchemy/admin/tags/index.html.erb +16 -19
  263. data/app/views/alchemy/admin/tags/new.html.erb +6 -15
  264. data/app/views/alchemy/admin/trash/clear.js.coffee +2 -2
  265. data/app/views/alchemy/admin/trash/index.html.erb +24 -20
  266. data/app/views/alchemy/base/500.html.erb +2 -2
  267. data/app/views/alchemy/base/error_notice.js.erb +1 -1
  268. data/app/views/alchemy/base/leave.html.erb +11 -11
  269. data/app/views/alchemy/base/permission_denied.js.erb +1 -1
  270. data/app/views/alchemy/base/redirect.js.erb +12 -1
  271. data/app/views/alchemy/base/update.js.erb +4 -4
  272. data/app/views/alchemy/breadcrumb/_spacer.html.erb +1 -1
  273. data/app/views/alchemy/elements/show.js.erb +1 -5
  274. data/app/views/alchemy/essences/_essence_boolean_editor.html.erb +1 -1
  275. data/app/views/alchemy/essences/_essence_boolean_view.html.erb +3 -1
  276. data/app/views/alchemy/essences/_essence_date_editor.html.erb +4 -3
  277. data/app/views/alchemy/essences/_essence_date_view.html.erb +9 -5
  278. data/app/views/alchemy/essences/_essence_file_editor.html.erb +33 -32
  279. data/app/views/alchemy/essences/_essence_file_view.html.erb +9 -7
  280. data/app/views/alchemy/essences/_essence_html_view.html.erb +3 -1
  281. data/app/views/alchemy/essences/_essence_link_editor.html.erb +2 -2
  282. data/app/views/alchemy/essences/_essence_link_view.html.erb +5 -1
  283. data/app/views/alchemy/essences/_essence_picture_editor.html.erb +11 -11
  284. data/app/views/alchemy/essences/_essence_picture_view.html.erb +3 -1
  285. data/app/views/alchemy/essences/_essence_richtext_editor.html.erb +1 -1
  286. data/app/views/alchemy/essences/_essence_richtext_view.html.erb +3 -4
  287. data/app/views/alchemy/essences/_essence_select_editor.html.erb +1 -1
  288. data/app/views/alchemy/essences/_essence_select_view.html.erb +3 -1
  289. data/app/views/alchemy/essences/_essence_text_editor.html.erb +14 -28
  290. data/app/views/alchemy/essences/_essence_text_view.html.erb +4 -0
  291. data/app/views/alchemy/essences/shared/_essence_picture_tools.html.erb +29 -29
  292. data/app/views/alchemy/essences/shared/_linkable_essence_tools.html.erb +9 -9
  293. data/app/views/alchemy/language_links/_language.html.erb +1 -1
  294. data/app/views/kaminari/{_first_page.html.erb → alchemy/_first_page.html.erb} +1 -1
  295. data/app/views/kaminari/{_gap.html.erb → alchemy/_gap.html.erb} +0 -0
  296. data/app/views/kaminari/{_last_page.html.erb → alchemy/_last_page.html.erb} +1 -1
  297. data/app/views/kaminari/{_next_page.html.erb → alchemy/_next_page.html.erb} +2 -2
  298. data/app/views/kaminari/{_page.html.erb → alchemy/_page.html.erb} +2 -2
  299. data/app/views/kaminari/{_paginator.html.erb → alchemy/_paginator.html.erb} +0 -0
  300. data/app/views/kaminari/{_prev_page.html.erb → alchemy/_prev_page.html.erb} +2 -2
  301. data/app/views/layouts/alchemy/admin.html.erb +17 -17
  302. data/bin/alchemy +179 -44
  303. data/bin/rails +8 -0
  304. data/config/alchemy/config.yml +24 -22
  305. data/config/alchemy/modules.yml +7 -1
  306. data/config/initializers/dragonfly.rb +20 -23
  307. data/config/initializers/simple_form.rb +144 -0
  308. data/config/locales/alchemy.de.yml +42 -33
  309. data/config/locales/alchemy.en.yml +32 -19
  310. data/config/locales/alchemy.nl.yml +937 -0
  311. data/config/locales/simple_form.de.yml +26 -0
  312. data/config/locales/simple_form.en.yml +25 -0
  313. data/config/locales/simple_form.nl.yml +25 -0
  314. data/config/routes.rb +9 -10
  315. data/db/migrate/20130827094554_alchemy_two_point_six.rb +261 -251
  316. data/db/migrate/20130828121054_remove_do_not_index_from_alchemy_essence_texts.rb +5 -0
  317. data/db/migrate/20130828121120_remove_do_not_index_from_alchemy_essence_richtexts.rb +5 -0
  318. data/db/migrate/20130918201742_add_published_at_to_alchemy_pages.rb +5 -0
  319. data/db/migrate/20140107192720_add_missing_unique_indices_to_tags_and_taggings.rb +21 -0
  320. data/lib/alchemy/auth_accessors.rb +23 -2
  321. data/lib/alchemy/cache_digests/template_tracker.rb +65 -0
  322. data/lib/alchemy/capistrano.rb +28 -38
  323. data/lib/alchemy/controller_actions.rb +130 -0
  324. data/lib/alchemy/engine.rb +54 -47
  325. data/lib/alchemy/essence.rb +83 -63
  326. data/lib/alchemy/forms/builder.rb +23 -0
  327. data/lib/alchemy/hints.rb +57 -0
  328. data/lib/alchemy/locale.rb +63 -0
  329. data/lib/alchemy/modules.rb +17 -17
  330. data/lib/alchemy/mount_point.rb +1 -1
  331. data/lib/alchemy/permissions.rb +199 -0
  332. data/lib/alchemy/picture_attributes.rb +1 -1
  333. data/lib/alchemy/resource.rb +13 -17
  334. data/lib/alchemy/resources_helper.rb +16 -18
  335. data/lib/alchemy/seeder.rb +8 -10
  336. data/lib/alchemy/shell.rb +8 -6
  337. data/lib/alchemy/tasks/helpers.rb +6 -4
  338. data/lib/alchemy/test_support/auth_helpers.rb +3 -3
  339. data/lib/alchemy/test_support/controller_requests.rb +1 -1
  340. data/lib/alchemy/test_support/essence_shared_examples.rb +141 -0
  341. data/lib/alchemy/test_support/factories.rb +27 -9
  342. data/lib/alchemy/test_support/integration_helpers.rb +1 -27
  343. data/lib/alchemy/tinymce.rb +12 -32
  344. data/lib/alchemy/touching.rb +41 -0
  345. data/lib/alchemy/upgrader.rb +17 -12
  346. data/lib/alchemy/upgrader/three_point_zero.rb +62 -0
  347. data/lib/alchemy/version.rb +2 -1
  348. data/lib/alchemy_cms.rb +1 -7
  349. data/lib/rails/generators/alchemy/elements/elements_generator.rb +3 -2
  350. data/lib/rails/generators/alchemy/elements/templates/editor.html.erb +0 -2
  351. data/lib/rails/generators/alchemy/elements/templates/editor.html.haml +2 -3
  352. data/lib/rails/generators/alchemy/elements/templates/editor.html.slim +0 -2
  353. data/lib/rails/generators/alchemy/elements/templates/view.html.erb +23 -23
  354. data/lib/rails/generators/alchemy/elements/templates/view.html.haml +16 -17
  355. data/lib/rails/generators/alchemy/elements/templates/view.html.slim +16 -17
  356. data/lib/rails/generators/alchemy/essence/templates/editor.html.erb +1 -1
  357. data/lib/rails/generators/alchemy/scaffold/files/_article_editor.html.erb +5 -0
  358. data/lib/rails/generators/alchemy/scaffold/files/_article_view.html.erb +7 -0
  359. data/lib/rails/generators/alchemy/scaffold/files/alchemy.de.yml +31 -0
  360. data/lib/rails/generators/alchemy/scaffold/files/alchemy.elements.css.scss +30 -0
  361. data/lib/rails/generators/alchemy/scaffold/files/alchemy.en.yml +31 -0
  362. data/lib/rails/generators/alchemy/scaffold/files/application.html.erb +4 -2
  363. data/lib/rails/generators/alchemy/scaffold/files/elements.yml +16 -0
  364. data/lib/rails/generators/alchemy/scaffold/scaffold_generator.rb +16 -7
  365. data/lib/rails/generators/alchemy/scaffold/templates/page_layouts.yml.tt +3 -2
  366. data/lib/rails/templates/alchemy.rb +3 -6
  367. data/lib/tasks/alchemy/install.rake +29 -38
  368. data/lib/tasks/alchemy/tidy.rake +1 -1
  369. data/spec/controllers/admin/attachments_controller_spec.rb +101 -35
  370. data/spec/controllers/admin/clipboard_controller_spec.rb +16 -18
  371. data/spec/controllers/admin/contents_controller_spec.rb +34 -27
  372. data/spec/controllers/admin/dashboard_controller_spec.rb +2 -4
  373. data/spec/controllers/admin/elements_controller_spec.rb +288 -160
  374. data/spec/controllers/admin/essence_files_controller_spec.rb +11 -18
  375. data/spec/controllers/admin/essence_pictures_controller_spec.rb +15 -24
  376. data/spec/controllers/admin/languages_controller_spec.rb +11 -4
  377. data/spec/controllers/admin/layoutpages_controller_spec.rb +1 -2
  378. data/spec/controllers/admin/pages_controller_spec.rb +137 -167
  379. data/spec/controllers/admin/pictures_controller_spec.rb +286 -14
  380. data/spec/controllers/admin/resources_controller_spec.rb +4 -1
  381. data/spec/controllers/alchemy/admin/tags_controller_spec.rb +63 -0
  382. data/spec/controllers/attachments_controller_spec.rb +3 -3
  383. data/spec/controllers/base_controller_spec.rb +12 -104
  384. data/spec/controllers/elements_controller_spec.rb +2 -5
  385. data/spec/controllers/messages_controller_spec.rb +49 -51
  386. data/spec/controllers/pages_controller_spec.rb +91 -111
  387. data/spec/controllers/pictures_controller_spec.rb +126 -72
  388. data/spec/dummy/Rakefile +0 -1
  389. data/spec/dummy/app/assets/javascripts/application.js +11 -7
  390. data/spec/dummy/app/assets/stylesheets/application.css +11 -5
  391. data/spec/dummy/app/models/ability.rb +9 -0
  392. data/spec/dummy/app/models/dummy_user.rb +7 -0
  393. data/spec/dummy/app/models/event.rb +7 -2
  394. data/spec/dummy/app/models/location.rb +0 -1
  395. data/spec/dummy/app/views/alchemy/elements/_article_editor.html.erb +0 -1
  396. data/spec/dummy/app/views/alchemy/elements/_headline_editor.html.erb +1 -0
  397. data/spec/dummy/app/views/layouts/application.html.erb +3 -1
  398. data/spec/dummy/bin/bundle +3 -0
  399. data/spec/dummy/bin/rails +4 -0
  400. data/spec/dummy/bin/rake +4 -0
  401. data/spec/dummy/config.ru +2 -2
  402. data/spec/dummy/config/alchemy/elements.yml +0 -3
  403. data/spec/dummy/config/alchemy/page_layouts.yml +0 -6
  404. data/spec/dummy/config/application.rb +5 -57
  405. data/spec/dummy/config/boot.rb +4 -9
  406. data/spec/dummy/config/environment.rb +2 -2
  407. data/spec/dummy/config/environments/development.rb +11 -19
  408. data/spec/dummy/config/environments/production.rb +40 -27
  409. data/spec/dummy/config/environments/test.rb +15 -14
  410. data/spec/dummy/config/initializers/alchemy.rb +2 -0
  411. data/spec/dummy/config/initializers/filter_parameter_logging.rb +4 -0
  412. data/spec/dummy/config/initializers/inflections.rb +9 -3
  413. data/spec/dummy/config/initializers/secret_token.rb +7 -2
  414. data/spec/dummy/config/initializers/session_store.rb +1 -6
  415. data/spec/dummy/config/initializers/wrap_parameters.rb +6 -6
  416. data/spec/dummy/config/routes.rb +3 -1
  417. data/spec/dummy/db/migrate/20130827094554_alchemy_two_point_six.rb +261 -251
  418. data/spec/dummy/db/migrate/20130828121054_remove_do_not_index_from_alchemy_essence_texts.rb +5 -0
  419. data/spec/dummy/db/migrate/20130828121120_remove_do_not_index_from_alchemy_essence_richtexts.rb +5 -0
  420. data/spec/dummy/db/migrate/20130918201742_add_published_at_to_alchemy_pages.rb +5 -0
  421. data/spec/dummy/db/migrate/20131209225243_create_dummy_users.rb +9 -0
  422. data/spec/dummy/db/migrate/20140107192720_add_missing_unique_indices_to_tags_and_taggings.rb +21 -0
  423. data/spec/dummy/db/schema.rb +112 -105
  424. data/spec/dummy/public/404.html +46 -26
  425. data/spec/dummy/public/422.html +46 -26
  426. data/spec/dummy/public/500.html +45 -26
  427. data/spec/features/admin/language_tree_feature_spec.rb +2 -2
  428. data/spec/features/admin/modules_integration_spec.rb +7 -13
  429. data/spec/features/admin/page_creation_feature_spec.rb +50 -0
  430. data/spec/features/admin/page_editing_feature_spec.rb +16 -0
  431. data/spec/features/admin/picture_library_integration_spec.rb +4 -4
  432. data/spec/features/admin/resources_integration_spec.rb +11 -11
  433. data/spec/features/page_feature_spec.rb +225 -0
  434. data/spec/features/translation_integration_spec.rb +7 -7
  435. data/spec/fixtures/500x500.png +0 -0
  436. data/spec/helpers/admin/attachments_helper_spec.rb +15 -0
  437. data/spec/helpers/admin/base_helper_spec.rb +88 -13
  438. data/spec/helpers/admin/contents_helper_spec.rb +53 -12
  439. data/spec/helpers/admin/elements_helper_spec.rb +24 -36
  440. data/spec/helpers/admin/essences_helper_spec.rb +48 -10
  441. data/spec/helpers/admin/navigation_helper_spec.rb +64 -29
  442. data/spec/helpers/admin/pages_helper_spec.rb +22 -1
  443. data/spec/helpers/admin/pictures_helper_spec.rb +29 -0
  444. data/spec/helpers/admin/tags_helper_spec.rb +1 -1
  445. data/spec/helpers/base_helper_spec.rb +6 -13
  446. data/spec/helpers/elements_block_helper_spec.rb +3 -3
  447. data/spec/helpers/elements_helper_spec.rb +203 -167
  448. data/spec/helpers/essences_helper_spec.rb +69 -15
  449. data/spec/helpers/pages_helper_spec.rb +28 -66
  450. data/spec/helpers/url_helper_spec.rb +41 -73
  451. data/spec/javascripts/alchemy/dialog_spec.coffee +82 -0
  452. data/spec/javascripts/alchemy/link_overlay_spec.coffee +25 -0
  453. data/spec/javascripts/alchemy_integration_spec.coffee +3 -12
  454. data/spec/javascripts/helpers/mock-ajax.js +52 -60
  455. data/spec/javascripts/support/jasmine.yml +29 -0
  456. data/spec/libraries/auth_accessors_spec.rb +24 -0
  457. data/spec/libraries/config_spec.rb +3 -3
  458. data/spec/libraries/controller_actions_spec.rb +133 -0
  459. data/spec/libraries/kaminari/scoped_pagination_url_helper_spec.rb +30 -0
  460. data/spec/libraries/modules_spec.rb +17 -0
  461. data/spec/libraries/mount_point_spec.rb +7 -7
  462. data/spec/libraries/page_layout_spec.rb +1 -1
  463. data/spec/libraries/permissions_spec.rb +219 -0
  464. data/spec/libraries/resource_spec.rb +61 -68
  465. data/spec/libraries/resources_helper_spec.rb +51 -51
  466. data/spec/libraries/shell_spec.rb +7 -8
  467. data/spec/libraries/template_tracker_spec.rb +94 -0
  468. data/spec/libraries/tinymce_spec.rb +0 -12
  469. data/spec/libraries/userstamp_spec.rb +10 -0
  470. data/spec/models/attachment_spec.rb +51 -18
  471. data/spec/models/cell_spec.rb +5 -5
  472. data/spec/models/content_spec.rb +103 -15
  473. data/spec/models/element_spec.rb +82 -18
  474. data/spec/models/essence_boolean_spec.rb +3 -8
  475. data/spec/models/essence_date_spec.rb +11 -7
  476. data/spec/models/essence_file_spec.rb +24 -4
  477. data/spec/models/essence_html_spec.rb +8 -3
  478. data/spec/models/essence_link_spec.rb +10 -0
  479. data/spec/models/essence_picture_spec.rb +109 -0
  480. data/spec/models/essence_richtext_spec.rb +6 -35
  481. data/spec/models/essence_select_spec.rb +3 -8
  482. data/spec/models/essence_text_spec.rb +83 -39
  483. data/spec/models/language_spec.rb +20 -54
  484. data/spec/models/message_spec.rb +12 -7
  485. data/spec/models/page_spec.rb +192 -185
  486. data/spec/models/picture_spec.rb +200 -45
  487. data/spec/models/resource_spec.rb +4 -24
  488. data/spec/models/site_spec.rb +69 -3
  489. data/spec/models/tag_spec.rb +6 -6
  490. data/spec/routing/routing_spec.rb +0 -32
  491. data/spec/spec_helper.rb +29 -38
  492. data/spec/support/hint_examples.rb +30 -0
  493. data/spec/support/phantomjs_mavericks_fix.rb +32 -0
  494. data/spec/support/test_tweaks.rb +31 -0
  495. data/spec/views/essences/essence_boolean_view_spec.rb +25 -0
  496. data/spec/views/essences/essence_date_view_spec.rb +39 -0
  497. data/spec/views/essences/essence_file_view_spec.rb +24 -0
  498. data/spec/views/essences/essence_html_view_spec.rb +22 -0
  499. data/spec/views/essences/essence_link_view_spec.rb +30 -0
  500. data/spec/views/essences/essence_picture_view_spec.rb +1 -1
  501. data/spec/views/essences/essence_richtext_view_spec.rb +20 -0
  502. data/spec/views/essences/essence_select_view_spec.rb +12 -0
  503. data/spec/views/essences/essence_text_view_spec.rb +40 -0
  504. data/vendor/assets/javascripts/fileupload/jquery.fileupload-process.js +172 -0
  505. data/vendor/assets/javascripts/fileupload/jquery.fileupload-validate.js +120 -0
  506. data/vendor/assets/javascripts/fileupload/jquery.fileupload.js +1416 -0
  507. data/vendor/assets/javascripts/fileupload/jquery.iframe-transport.js +210 -0
  508. data/vendor/assets/javascripts/jquery_plugins/jquery.ui.nestedSortable.js +381 -352
  509. data/vendor/assets/javascripts/jquery_plugins/jquery.ui.tabspaging.js +1 -52
  510. data/vendor/assets/javascripts/keymaster.js +296 -0
  511. data/vendor/assets/javascripts/requestAnimationFrame.js +31 -0
  512. data/vendor/assets/javascripts/tinymce/langs/de.js +179 -0
  513. data/vendor/assets/javascripts/tinymce/langs/nl.js +179 -0
  514. data/vendor/assets/javascripts/{tiny_mce → tinymce}/license.txt +504 -504
  515. data/vendor/assets/javascripts/tinymce/plugins/autoresize/plugin.min.js +1 -0
  516. data/vendor/assets/javascripts/tinymce/plugins/charmap/plugin.min.js +1 -0
  517. data/vendor/assets/javascripts/tinymce/plugins/code/plugin.min.js +1 -0
  518. data/vendor/assets/javascripts/tinymce/plugins/directionality/plugin.min.js +1 -0
  519. data/vendor/assets/javascripts/tinymce/plugins/fullscreen/plugin.min.js +1 -0
  520. data/vendor/assets/javascripts/tinymce/plugins/link/plugin.min.js +1 -0
  521. data/vendor/assets/javascripts/tinymce/plugins/paste/plugin.min.js +1 -0
  522. data/vendor/assets/javascripts/tinymce/plugins/tabfocus/plugin.min.js +1 -0
  523. data/vendor/assets/javascripts/tinymce/plugins/table/plugin.min.js +1 -0
  524. data/vendor/assets/javascripts/tinymce/themes/modern/theme.min.js +1 -0
  525. data/vendor/assets/javascripts/tinymce/tinymce.min.js +10 -0
  526. metadata +351 -332
  527. data/.simplecov +0 -14
  528. data/app/assets/images/alchemy/alchemy-logo.png +0 -0
  529. data/app/assets/images/alchemy/swfupload/browse_button.png +0 -0
  530. data/app/assets/javascripts/alchemy/alchemy.file_progress.js +0 -102
  531. data/app/assets/javascripts/alchemy/alchemy.link_overlay.js.coffee +0 -227
  532. data/app/assets/javascripts/alchemy/alchemy.menubar.js +0 -62
  533. data/app/assets/javascripts/alchemy/alchemy.swf_upload.js +0 -212
  534. data/app/assets/javascripts/alchemy/alchemy.uploader.js +0 -274
  535. data/app/assets/javascripts/alchemy/menubar.js +0 -2
  536. data/app/assets/javascripts/tiny_mce/plugins/alchemy_link/editor_plugin.js +0 -42
  537. data/app/assets/javascripts/tiny_mce/plugins/alchemy_link/langs/de.js +0 -4
  538. data/app/assets/javascripts/tiny_mce/plugins/alchemy_link/langs/en.js +0 -4
  539. data/app/assets/stylesheets/alchemy/form_elements.scss +0 -538
  540. data/app/assets/stylesheets/alchemy/login.scss +0 -55
  541. data/app/assets/stylesheets/alchemy/tinymce_content.css.scss +0 -98
  542. data/app/assets/stylesheets/alchemy/tinymce_dialog.css.scss +0 -420
  543. data/app/assets/stylesheets/tiny_mce/plugins/inlinepopups/skins/alchemy-tinymce-dialog/window.css.scss +0 -434
  544. data/app/controllers/alchemy/admin/users_controller.rb +0 -76
  545. data/app/models/alchemy/tree_node.rb +0 -4
  546. data/app/sweepers/alchemy/content_sweeper.rb +0 -41
  547. data/app/sweepers/alchemy/pages_sweeper.rb +0 -44
  548. data/app/sweepers/alchemy/pictures_sweeper.rb +0 -21
  549. data/app/views/alchemy/admin/elements/_elements_select.html.erb +0 -9
  550. data/app/views/alchemy/admin/elements/list.js.erb +0 -22
  551. data/app/views/alchemy/admin/essence_pictures/assign.js.coffee +0 -15
  552. data/app/views/alchemy/admin/pages/_contactform_links.html.erb +0 -62
  553. data/app/views/alchemy/admin/partials/_flash_upload.html.erb +0 -37
  554. data/app/views/alchemy/admin/partials/_pagination_links.html.erb +0 -1
  555. data/app/views/alchemy/admin/pictures/create.js.erb +0 -3
  556. data/app/views/alchemy/admin/resources/_boolean.html.erb +0 -5
  557. data/app/views/alchemy/admin/resources/_date.html.erb +0 -8
  558. data/app/views/alchemy/admin/resources/_datetime.html.erb +0 -1
  559. data/app/views/alchemy/admin/resources/_string.html.erb +0 -5
  560. data/app/views/alchemy/admin/resources/_text.html.erb +0 -5
  561. data/app/views/alchemy/admin/resources/destroy.js.erb +0 -1
  562. data/app/views/alchemy/base/remote_errors.js.erb +0 -6
  563. data/app/views/alchemy/search/_form.html.erb +0 -11
  564. data/app/views/alchemy/search/_result.html.erb +0 -7
  565. data/app/views/alchemy/search/_results.html.erb +0 -27
  566. data/config/authorization_rules.rb +0 -110
  567. data/config/initializers/cache_storage.rb +0 -1
  568. data/lib/alchemy/auth/engine.rb +0 -9
  569. data/lib/alchemy/ferret/search.rb +0 -86
  570. data/lib/alchemy/language_helpers.rb +0 -55
  571. data/lib/alchemy/upgrader/two_point_five.rb +0 -86
  572. data/lib/alchemy/upgrader/two_point_four.rb +0 -25
  573. data/lib/alchemy/upgrader/two_point_nine.rb +0 -33
  574. data/lib/alchemy/upgrader/two_point_one.rb +0 -95
  575. data/lib/alchemy/upgrader/two_point_six.rb +0 -32
  576. data/lib/alchemy/upgrader/two_point_three.rb +0 -25
  577. data/lib/alchemy/upgrader/two_point_two.rb +0 -114
  578. data/lib/alchemy/upgrader/two_point_zero.rb +0 -13
  579. data/lib/middleware/flash_session_cookie.rb +0 -22
  580. data/lib/rails/generators/alchemy/gallery_pictures_migration/gallery_pictures_migration_generator.rb +0 -40
  581. data/lib/tasks/ferret.rake +0 -10
  582. data/script/rails +0 -6
  583. data/spec/dummy/app/models/user.rb +0 -14
  584. data/spec/dummy/app/views/alchemy/elements/_searchresult_view.html.erb +0 -4
  585. data/spec/dummy/config/authorization_rules.rb +0 -7
  586. data/spec/dummy/public/stylesheets/.gitkeep +0 -0
  587. data/spec/dummy/script/rails +0 -6
  588. data/spec/fast_specs.rb +0 -15
  589. data/spec/features/admin/element_create_feature_spec.rb +0 -18
  590. data/spec/features/admin/element_trash_feature_spec.rb +0 -21
  591. data/spec/features/admin/pages_controller_spec.rb +0 -59
  592. data/spec/features/pages_controller_spec.rb +0 -262
  593. data/spec/javascripts/alchemy/link_overlay_spec.js.coffee +0 -42
  594. data/spec/javascripts/helpers/.gitkeep +0 -0
  595. data/spec/javascripts/helpers/jasmine-jquery-1.3.1.js +0 -289
  596. data/spec/javascripts/spec.css +0 -3
  597. data/spec/javascripts/spec.js +0 -2
  598. data/spec/libraries/essence_spec.rb +0 -76
  599. data/spec/support/alchemy/controller_hacks.rb +0 -41
  600. data/vendor/assets/javascripts/jquery_plugins/jquery.dialogextend.js +0 -684
  601. data/vendor/assets/javascripts/jquery_plugins/jquery.html5uploader.js +0 -271
  602. data/vendor/assets/javascripts/jquery_plugins/jquery.selectboxit.min.js +0 -11
  603. data/vendor/assets/javascripts/jquery_plugins/preloadCssImages.jQuery_v5.js +0 -152
  604. data/vendor/assets/javascripts/keymage.min.js +0 -6
  605. data/vendor/assets/javascripts/swfupload/SWFObject License.txt +0 -4
  606. data/vendor/assets/javascripts/swfupload/swfupload.cookies.js +0 -53
  607. data/vendor/assets/javascripts/swfupload/swfupload.js +0 -980
  608. data/vendor/assets/javascripts/swfupload/swfupload.queue.js +0 -98
  609. data/vendor/assets/javascripts/swfupload/swfupload.speed.js +0 -342
  610. data/vendor/assets/javascripts/swfupload/swfupload.swf +0 -0
  611. data/vendor/assets/javascripts/swfupload/swfupload.swfobject.js +0 -715
  612. data/vendor/assets/javascripts/tiny_mce/langs/de.js +0 -1
  613. data/vendor/assets/javascripts/tiny_mce/langs/en.js +0 -1
  614. data/vendor/assets/javascripts/tiny_mce/plugins/autoresize/editor_plugin.js +0 -1
  615. data/vendor/assets/javascripts/tiny_mce/plugins/fullscreen/editor_plugin.js +0 -1
  616. data/vendor/assets/javascripts/tiny_mce/plugins/fullscreen/fullscreen.htm +0 -110
  617. data/vendor/assets/javascripts/tiny_mce/plugins/inlinepopups/editor_plugin.js +0 -1
  618. data/vendor/assets/javascripts/tiny_mce/plugins/inlinepopups/template.htm +0 -387
  619. data/vendor/assets/javascripts/tiny_mce/plugins/paste/editor_plugin.js +0 -1
  620. data/vendor/assets/javascripts/tiny_mce/plugins/paste/js/pastetext.js +0 -36
  621. data/vendor/assets/javascripts/tiny_mce/plugins/paste/js/pasteword.js +0 -51
  622. data/vendor/assets/javascripts/tiny_mce/plugins/paste/langs/de_dlg.js +0 -1
  623. data/vendor/assets/javascripts/tiny_mce/plugins/paste/langs/en_dlg.js +0 -1
  624. data/vendor/assets/javascripts/tiny_mce/plugins/paste/pastetext.htm +0 -27
  625. data/vendor/assets/javascripts/tiny_mce/plugins/paste/pasteword.htm +0 -21
  626. data/vendor/assets/javascripts/tiny_mce/plugins/table/cell.htm +0 -180
  627. data/vendor/assets/javascripts/tiny_mce/plugins/table/css/cell.css +0 -17
  628. data/vendor/assets/javascripts/tiny_mce/plugins/table/css/row.css +0 -25
  629. data/vendor/assets/javascripts/tiny_mce/plugins/table/css/table.css +0 -13
  630. data/vendor/assets/javascripts/tiny_mce/plugins/table/editor_plugin.js +0 -1
  631. data/vendor/assets/javascripts/tiny_mce/plugins/table/js/cell.js +0 -319
  632. data/vendor/assets/javascripts/tiny_mce/plugins/table/js/merge_cells.js +0 -27
  633. data/vendor/assets/javascripts/tiny_mce/plugins/table/js/row.js +0 -254
  634. data/vendor/assets/javascripts/tiny_mce/plugins/table/js/table.js +0 -501
  635. data/vendor/assets/javascripts/tiny_mce/plugins/table/langs/de_dlg.js +0 -1
  636. data/vendor/assets/javascripts/tiny_mce/plugins/table/langs/en_dlg.js +0 -1
  637. data/vendor/assets/javascripts/tiny_mce/plugins/table/merge_cells.htm +0 -32
  638. data/vendor/assets/javascripts/tiny_mce/plugins/table/row.htm +0 -158
  639. data/vendor/assets/javascripts/tiny_mce/plugins/table/table.htm +0 -188
  640. data/vendor/assets/javascripts/tiny_mce/themes/advanced/about.htm +0 -52
  641. data/vendor/assets/javascripts/tiny_mce/themes/advanced/anchor.htm +0 -26
  642. data/vendor/assets/javascripts/tiny_mce/themes/advanced/charmap.htm +0 -55
  643. data/vendor/assets/javascripts/tiny_mce/themes/advanced/color_picker.htm +0 -70
  644. data/vendor/assets/javascripts/tiny_mce/themes/advanced/editor_template.js +0 -1
  645. data/vendor/assets/javascripts/tiny_mce/themes/advanced/image.htm +0 -80
  646. data/vendor/assets/javascripts/tiny_mce/themes/advanced/img/colorpicker.jpg +0 -0
  647. data/vendor/assets/javascripts/tiny_mce/themes/advanced/img/flash.gif +0 -0
  648. data/vendor/assets/javascripts/tiny_mce/themes/advanced/img/icons.gif +0 -0
  649. data/vendor/assets/javascripts/tiny_mce/themes/advanced/img/iframe.gif +0 -0
  650. data/vendor/assets/javascripts/tiny_mce/themes/advanced/img/pagebreak.gif +0 -0
  651. data/vendor/assets/javascripts/tiny_mce/themes/advanced/img/quicktime.gif +0 -0
  652. data/vendor/assets/javascripts/tiny_mce/themes/advanced/img/realmedia.gif +0 -0
  653. data/vendor/assets/javascripts/tiny_mce/themes/advanced/img/shockwave.gif +0 -0
  654. data/vendor/assets/javascripts/tiny_mce/themes/advanced/img/video.gif +0 -0
  655. data/vendor/assets/javascripts/tiny_mce/themes/advanced/img/windowsmedia.gif +0 -0
  656. data/vendor/assets/javascripts/tiny_mce/themes/advanced/js/about.js +0 -73
  657. data/vendor/assets/javascripts/tiny_mce/themes/advanced/js/anchor.js +0 -56
  658. data/vendor/assets/javascripts/tiny_mce/themes/advanced/js/charmap.js +0 -363
  659. data/vendor/assets/javascripts/tiny_mce/themes/advanced/js/color_picker.js +0 -345
  660. data/vendor/assets/javascripts/tiny_mce/themes/advanced/js/image.js +0 -253
  661. data/vendor/assets/javascripts/tiny_mce/themes/advanced/js/link.js +0 -159
  662. data/vendor/assets/javascripts/tiny_mce/themes/advanced/js/source_editor.js +0 -78
  663. data/vendor/assets/javascripts/tiny_mce/themes/advanced/langs/de.js +0 -1
  664. data/vendor/assets/javascripts/tiny_mce/themes/advanced/langs/de_dlg.js +0 -1
  665. data/vendor/assets/javascripts/tiny_mce/themes/advanced/langs/en.js +0 -1
  666. data/vendor/assets/javascripts/tiny_mce/themes/advanced/langs/en_dlg.js +0 -1
  667. data/vendor/assets/javascripts/tiny_mce/themes/advanced/link.htm +0 -57
  668. data/vendor/assets/javascripts/tiny_mce/themes/advanced/shortcuts.htm +0 -47
  669. data/vendor/assets/javascripts/tiny_mce/themes/advanced/skins/default/content.css +0 -50
  670. data/vendor/assets/javascripts/tiny_mce/themes/advanced/skins/default/dialog.css +0 -118
  671. data/vendor/assets/javascripts/tiny_mce/themes/advanced/skins/default/img/buttons.png +0 -0
  672. data/vendor/assets/javascripts/tiny_mce/themes/advanced/skins/default/img/items.gif +0 -0
  673. data/vendor/assets/javascripts/tiny_mce/themes/advanced/skins/default/img/menu_arrow.gif +0 -0
  674. data/vendor/assets/javascripts/tiny_mce/themes/advanced/skins/default/img/menu_check.gif +0 -0
  675. data/vendor/assets/javascripts/tiny_mce/themes/advanced/skins/default/img/progress.gif +0 -0
  676. data/vendor/assets/javascripts/tiny_mce/themes/advanced/skins/default/img/tabs.gif +0 -0
  677. data/vendor/assets/javascripts/tiny_mce/themes/advanced/skins/default/ui.css +0 -219
  678. data/vendor/assets/javascripts/tiny_mce/themes/advanced/skins/highcontrast/content.css +0 -24
  679. data/vendor/assets/javascripts/tiny_mce/themes/advanced/skins/highcontrast/dialog.css +0 -106
  680. data/vendor/assets/javascripts/tiny_mce/themes/advanced/skins/highcontrast/ui.css +0 -106
  681. data/vendor/assets/javascripts/tiny_mce/themes/advanced/skins/o2k7/content.css +0 -48
  682. data/vendor/assets/javascripts/tiny_mce/themes/advanced/skins/o2k7/dialog.css +0 -118
  683. data/vendor/assets/javascripts/tiny_mce/themes/advanced/skins/o2k7/img/button_bg.png +0 -0
  684. data/vendor/assets/javascripts/tiny_mce/themes/advanced/skins/o2k7/img/button_bg_black.png +0 -0
  685. data/vendor/assets/javascripts/tiny_mce/themes/advanced/skins/o2k7/img/button_bg_silver.png +0 -0
  686. data/vendor/assets/javascripts/tiny_mce/themes/advanced/skins/o2k7/ui.css +0 -222
  687. data/vendor/assets/javascripts/tiny_mce/themes/advanced/skins/o2k7/ui_black.css +0 -8
  688. data/vendor/assets/javascripts/tiny_mce/themes/advanced/skins/o2k7/ui_silver.css +0 -5
  689. data/vendor/assets/javascripts/tiny_mce/themes/advanced/source_editor.htm +0 -25
  690. data/vendor/assets/javascripts/tiny_mce/tiny_mce.js +0 -1
  691. data/vendor/assets/javascripts/tiny_mce/tiny_mce_popup.js +0 -5
  692. data/vendor/assets/javascripts/tiny_mce/utils/editable_selects.js +0 -70
  693. data/vendor/assets/javascripts/tiny_mce/utils/form_utils.js +0 -210
  694. data/vendor/assets/javascripts/tiny_mce/utils/mctabs.js +0 -162
  695. data/vendor/assets/javascripts/tiny_mce/utils/validate.js +0 -252
@@ -8,33 +8,129 @@ end
8
8
  module Alchemy
9
9
  describe PicturesController do
10
10
 
11
- let(:public_page) { FactoryGirl.create(:public_page, :restricted => false) }
12
- let(:restricted_page) { FactoryGirl.create(:public_page, :restricted => true) }
13
- let(:element) { FactoryGirl.create(:element, :page => public_page, :name => 'bild', :create_contents_after_create => true) }
14
- let(:restricted_element) { FactoryGirl.create(:element, :page => restricted_page, :name => 'bild', :create_contents_after_create => true) }
15
- let(:picture) { Picture.create(:image_file => fixture_file_upload(File.expand_path('../../fixtures/image.png', __FILE__), 'image/png')) }
11
+ let(:public_page) { FactoryGirl.create(:public_page, restricted: false) }
12
+ let(:restricted_page) { FactoryGirl.create(:public_page, restricted: true) }
13
+ let(:element) { FactoryGirl.create(:element, page: public_page, name: 'bild', create_contents_after_create: true) }
14
+ let(:restricted_element) { FactoryGirl.create(:element, page: restricted_page, name: 'bild', create_contents_after_create: true) }
15
+ let(:picture) { Picture.create(image_file: fixture_file_upload(File.expand_path('../../fixtures/image.png', __FILE__), 'image/png')) }
16
+
17
+ describe '#zoom' do
18
+ let(:picture) { Picture.create(image_file: fixture_file_upload(File.expand_path('../../fixtures/80x60.png', __FILE__), 'image/png')) }
19
+
20
+ before { sign_in(editor_user) }
21
+
22
+ it "renders the original image without any resizing" do
23
+ get :zoom, id: picture.id, format: :png, sh: picture.security_token
24
+ response.body[0x10..0x18].unpack('NN').should == [80, 60]
25
+ end
26
+ end
27
+
28
+ context "Requesting a picture with tempared security token" do
29
+ it "should render status 400" do
30
+ get :show, id: picture.id, format: :png, sh: '14m4b4dh4ck3r'
31
+ response.status.should == 400
32
+ end
33
+ end
34
+
35
+ context "Requesting a picture with another format then the original image" do
36
+ it "should convert the picture format" do
37
+ get :show, id: picture.id, format: :jpeg, sh: picture.security_token
38
+ response.content_type.should == 'image/jpeg'
39
+ end
40
+ end
41
+
42
+ context "Requesting a picture with not allowed format" do
43
+ it "should raise error" do
44
+ expect {
45
+ get :show, id: picture.id, format: :wim, sh: picture.security_token
46
+ }.to raise_error(ActionController::UnknownFormat)
47
+ end
48
+ end
49
+
50
+ describe '#thumbnail' do
51
+ let(:picture) { Picture.create(image_file: fixture_file_upload(File.expand_path('../../fixtures/500x500.png', __FILE__), 'image/png')) }
52
+
53
+ before { sign_in(author_user) }
54
+
55
+ context 'with size param set to small' do
56
+ it "resizes the image to 80x60 while maintaining aspect ratio" do
57
+ get :thumbnail, id: picture.id, size: 'small', format: :png, sh: picture.security_token(size: 'small')
58
+ response.body[0x10..0x18].unpack('NN').should == [60, 60]
59
+ end
60
+ end
61
+
62
+ context 'with size param set to medium' do
63
+ it "resizes the image to 160x120 while maintaining aspect ratio" do
64
+ get :thumbnail, id: picture.id, size: 'medium', format: :png, sh: picture.security_token(size: 'medium')
65
+ response.body[0x10..0x18].unpack('NN').should == [120, 120]
66
+ end
67
+ end
68
+
69
+ context 'with size param set to large' do
70
+ it "resizes the image to 240x180 while maintaining aspect ratio" do
71
+ get :thumbnail, id: picture.id, size: 'large', format: :png, sh: picture.security_token(size: 'large')
72
+ response.body[0x10..0x18].unpack('NN').should == [180, 180]
73
+ end
74
+ end
75
+
76
+ context 'with size param set to nil' do
77
+ it "resizes the image to 111x93 while maintaining aspect ratio" do
78
+ get :thumbnail, id: picture.id, format: :png, sh: picture.security_token
79
+ response.body[0x10..0x18].unpack('NN').should == [93, 93]
80
+ end
81
+ end
82
+
83
+ context 'with size param set to another value' do
84
+ it "resizes the image to the given size while maintaining aspect ratio" do
85
+ get :thumbnail, id: picture.id, size: '33x33', format: :png, sh: picture.security_token(size: '33x33')
86
+ response.body[0x10..0x18].unpack('NN').should == [33, 33]
87
+ end
88
+ end
89
+ end
90
+
91
+ context "Requesting a picture that has no image file attached" do
92
+ before do
93
+ picture.stub(image_file: nil)
94
+ Picture.stub(find: picture)
95
+ end
96
+
97
+ it "raises missing file error" do
98
+ expect {
99
+ get :show, id: picture.id, format: :png, sh: picture.security_token
100
+ }.to raise_error(Alchemy::MissingImageFileError)
101
+ end
102
+ end
103
+
104
+ context "Requesting a picture with crop_from and crop_size parameters" do
105
+ let(:picture) { Picture.create(image_file: fixture_file_upload(File.expand_path('../../fixtures/500x500.png', __FILE__), 'image/png')) }
106
+
107
+ it "renders the cropped picture" do
108
+ get :show, id: picture.id, crop: 'crop', size: '123x44', crop_size: '123x44', crop_from: '0x0', format: :png, sh: picture.security_token(crop_size: '123x44', crop_from: '0x0', crop: true, size: '123x44')
109
+ response.body[0x10..0x18].unpack('NN').should == [123, 44]
110
+ end
111
+ end
16
112
 
17
113
  context "Requesting a picture that is not assigned with any page" do
18
114
  it "should render the picture" do
19
- get :show, :id => picture.id, :format => :png, :sh => picture.security_token
115
+ get :show, id: picture.id, format: :png, sh: picture.security_token
20
116
  response.status.should == 200
21
117
  end
22
118
  end
23
119
 
24
120
  context "Requesting a picture that is assigned on restricted and non-restricted pages" do
25
121
  before do
26
- essence = element.contents.where(:name => 'image').first.essence
122
+ essence = element.contents.where(name: 'image').first.essence
27
123
  essence.picture_id = picture.id
28
124
  essence.save
29
125
 
30
- essence = restricted_element.contents.where(:name => 'image').first.essence
126
+ essence = restricted_element.contents.where(name: 'image').first.essence
31
127
  essence.picture_id = picture.id
32
128
  essence.save
33
129
  end
34
130
 
35
131
  context "as guest user" do
36
132
  it "should render the picture" do
37
- get :show, :id => picture.id, :format => :png, :sh => picture.security_token
133
+ get :show, id: picture.id, format: :png, sh: picture.security_token
38
134
  response.status.should == 200
39
135
  end
40
136
  end
@@ -42,66 +138,54 @@ module Alchemy
42
138
 
43
139
  context "Requesting a picture that is assigned with restricted pages only" do
44
140
  before do
45
- essence = restricted_element.contents.where(:name => 'image').first.essence
141
+ essence = restricted_element.contents.where(name: 'image').first.essence
46
142
  essence.picture_id = picture.id
47
143
  essence.save
48
144
  end
49
145
 
50
146
  context "as guest user" do
51
147
  it "should not render the picture, but redirect to login path" do
52
- get :show, :id => picture.id, :sh => picture.security_token
148
+ get :show, id: picture.id, sh: picture.security_token
53
149
  response.status.should == 302
54
150
  response.should redirect_to(Alchemy.login_path)
55
151
  end
56
152
  end
57
153
 
58
- context "as registered user" do
154
+ context "as member user" do
59
155
  before do
60
- sign_in(registered_user)
156
+ sign_in(member_user)
61
157
  end
62
158
 
63
159
  it "should render the picture" do
64
- get :show, :id => picture.id, :format => :png, :sh => picture.security_token
160
+ get :show, id: picture.id, format: :png, sh: picture.security_token
65
161
  response.status.should == 200
66
162
  end
67
163
  end
68
164
  end
69
165
 
70
166
  describe 'Picture processing' do
71
- let(:big_picture) { Picture.create(:image_file => fixture_file_upload(File.expand_path('../../fixtures/80x60.png', __FILE__), 'image/png')) }
72
-
73
167
  context "with crop and size parameters" do
168
+
169
+ let(:big_picture) { Picture.create(image_file: fixture_file_upload(File.expand_path('../../fixtures/80x60.png', __FILE__), 'image/png')) }
170
+
74
171
  it "should return a cropped image." do
75
172
  options = {
76
- :crop => 'crop',
77
- :size => '10x10',
78
- :format => 'png'
173
+ crop: 'crop',
174
+ size: '10x10',
175
+ format: 'png'
79
176
  }
80
- get :show, options.merge(:id => big_picture.id, :sh => big_picture.security_token(options))
177
+ get :show, options.merge(id: big_picture.id, sh: big_picture.security_token(options))
81
178
  response.body[0x10..0x18].unpack('NN').should == [10,10]
82
179
  end
83
180
 
84
- context "without a full size specification" do
85
- it "should raise an error" do
86
- options = {
87
- :crop => 'crop',
88
- :size => '10',
89
- :format => 'png'
90
- }
91
- expect do
92
- get :show, options.merge(:id => big_picture.id, :sh => big_picture.security_token(options))
93
- end.to raise_error ArgumentError
94
- end
95
- end
96
-
97
181
  context "without upsample parameter" do
98
182
  it "should not upsample the image." do
99
183
  options = {
100
- :crop => 'crop',
101
- :size => '10x10',
102
- :format => 'png'
184
+ crop: 'crop',
185
+ size: '10x10',
186
+ format: 'png'
103
187
  }
104
- get :show, options.merge(:id => picture.id, :sh => picture.security_token(options))
188
+ get :show, options.merge(id: picture.id, sh: picture.security_token(options))
105
189
  response.body[0x10..0x18].unpack('NN').should == [1,1]
106
190
  end
107
191
  end
@@ -109,46 +193,16 @@ module Alchemy
109
193
  context "and with upsample true" do
110
194
  it "should return an upsampled image." do
111
195
  options = {
112
- :crop => 'crop',
113
- :size => '10x10',
114
- :upsample => 'true',
115
- :format => 'png'
196
+ crop: 'crop',
197
+ size: '10x10',
198
+ upsample: 'true',
199
+ format: 'png'
116
200
  }
117
- get :show, options.merge(:id => picture.id, :sh => picture.security_token(options))
201
+ get :show, options.merge(id: picture.id, sh: picture.security_token(options))
118
202
  response.body[0x10..0x18].unpack('NN').should == [10,10]
119
203
  end
120
204
  end
121
205
  end
122
-
123
- context "without crop but with size parameter" do
124
- it "should resize the image preserving aspect ratio" do
125
- options = {
126
- :size => '40x40',
127
- :format => 'png'
128
- }
129
- get :show, options.merge(:id => big_picture.id, :sh => big_picture.security_token(options))
130
- response.body[0x10..0x18].unpack('NN').should == [40,30]
131
- end
132
-
133
- it "should resize the image inferring the height if not given" do
134
- options = {
135
- :size => '40',
136
- :format => 'png'
137
- }
138
- get :show, options.merge(:id => big_picture.id, :sh => big_picture.security_token(options))
139
- response.body[0x10..0x18].unpack('NN').should == [40,30]
140
- end
141
-
142
- it "should resize the image inferring the width if not given" do
143
- options = {
144
- :size => 'x30',
145
- :format => 'png'
146
- }
147
- get :show, options.merge(:id => big_picture.id, :sh => big_picture.security_token(options))
148
- response.body[0x10..0x18].unpack('NN').should == [40,30]
149
- end
150
- end
151
-
152
206
  end
153
207
 
154
208
  end
@@ -1,4 +1,3 @@
1
- #!/usr/bin/env rake
2
1
  # Add your own tasks in files placed in lib/tasks ending in .rake,
3
2
  # for example lib/tasks/capistrano.rake, and they will automatically be available to Rake.
4
3
 
@@ -1,9 +1,13 @@
1
- // This is a manifest file that'll be compiled into including all the files listed below.
2
- // Add new JavaScript/Coffee code in separate files in this directory and they'll automatically
3
- // be included in the compiled file accessible from http://example.com/assets/application.js
1
+ // This is a manifest file that'll be compiled into application.js, which will include all the files
2
+ // listed below.
3
+ //
4
+ // Any JavaScript/Coffee file within this directory, lib/assets/javascripts, vendor/assets/javascripts,
5
+ // or vendor/assets/javascripts of plugins, if any, can be referenced here using a relative path.
6
+ //
4
7
  // It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the
5
- // the compiled file.
8
+ // compiled file.
9
+ //
10
+ // Read Sprockets README (https://github.com/sstephenson/sprockets#sprockets-directives) for details
11
+ // about supported directives.
6
12
  //
7
- //= require jquery
8
- //= require jquery_ujs
9
- //= require_tree .
13
+ //= require alchemy/alchemy
@@ -1,7 +1,13 @@
1
1
  /*
2
- * This is a manifest file that'll automatically include all the stylesheets available in this directory
3
- * and any sub-directories. You're free to add application-wide styles to this file and they'll appear at
4
- * the top of the compiled file, but it's generally better to create a new file per style scope.
2
+ * This is a manifest file that'll be compiled into application.css, which will include all the files
3
+ * listed below.
4
+ *
5
+ * Any CSS and SCSS file within this directory, lib/assets/stylesheets, vendor/assets/stylesheets,
6
+ * or vendor/assets/stylesheets of plugins, if any, can be referenced here using a relative path.
7
+ *
8
+ * You're free to add application-wide styles to this file and they'll appear at the top of the
9
+ * compiled file, but it's generally better to create a new file per style scope.
10
+ *
5
11
  *= require_self
6
- *= require_tree .
7
- */
12
+ *= require_tree .
13
+ */
@@ -0,0 +1,9 @@
1
+ class Ability
2
+ include CanCan::Ability
3
+
4
+ def initialize(user)
5
+ can :manage, Event
6
+ can :index, :admin_events
7
+ end
8
+
9
+ end
@@ -0,0 +1,7 @@
1
+ class DummyUser < ActiveRecord::Base
2
+ attr_accessor :alchemy_roles
3
+
4
+ def self.logged_in
5
+ []
6
+ end
7
+ end
@@ -1,5 +1,10 @@
1
1
  class Event < ActiveRecord::Base
2
- attr_accessible :name, :hidden_name, :starts_at, :ends_at, :description, :published, :entrance_fee, :location_id
3
2
  validates_presence_of :name
4
3
  belongs_to :location
5
- end
4
+
5
+ def self.alchemy_resource_relations
6
+ {
7
+ location: {attr_method: 'name', attr_type: 'string'}
8
+ }
9
+ end
10
+ end
@@ -1,4 +1,3 @@
1
1
  class Location < ActiveRecord::Base
2
- attr_accessible :name
3
2
  has_many :events
4
3
  end
@@ -2,7 +2,6 @@
2
2
  <%= render_essence_editor_by_name(element, 'image', {
3
3
  :image_size => "450x300",
4
4
  :crop => true,
5
- :image_float_selector => true,
6
5
  :fixed_ratio => false
7
6
  }) %>
8
7
  <% element.contents.where(:name => ['headline', 'text']).each do |content| %>
@@ -0,0 +1 @@
1
+ <%= render_essence_editor_by_name(element, 'headline') %>
@@ -3,6 +3,8 @@
3
3
  <head>
4
4
  <%= render_meta_data %>
5
5
  <%= stylesheet_link_tag 'application' %>
6
+ <%= javascript_include_tag "application" %>
7
+ <%= csrf_meta_tags %>
6
8
  </head>
7
9
  <body>
8
10
  <%= yield %>
@@ -10,6 +12,6 @@
10
12
  <%= render_navigation(:all_sub_menues => true) %>
11
13
  </div>
12
14
  <%= alchemy_preview_mode_code %>
13
- <%= alchemy_menu_bar %>
15
+ <%= render "alchemy/menubar" %>
14
16
  </body>
15
17
  </html>
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env ruby
2
+ ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../Gemfile', __FILE__)
3
+ load Gem.bin_path('bundler', 'bundle')
@@ -0,0 +1,4 @@
1
+ #!/usr/bin/env ruby
2
+ APP_PATH = File.expand_path('../../config/application', __FILE__)
3
+ require_relative '../config/boot'
4
+ require 'rails/commands'
@@ -0,0 +1,4 @@
1
+ #!/usr/bin/env ruby
2
+ require_relative '../config/boot'
3
+ require 'rake'
4
+ Rake.application.run
@@ -1,4 +1,4 @@
1
1
  # This file is used by Rack-based servers to start the application.
2
2
 
3
- require ::File.expand_path('../config/environment', __FILE__)
4
- run Dummy::Application
3
+ require ::File.expand_path('../config/environment', __FILE__)
4
+ run Rails.application
@@ -81,6 +81,3 @@
81
81
  type: EssenceSelect
82
82
  validate:
83
83
  - presence
84
-
85
- - name: searchresult
86
- unique: true
@@ -19,12 +19,6 @@
19
19
  elements: [headline, text, contactform]
20
20
  autogenerate: [headline, text, contactform]
21
21
 
22
- - name: search
23
- unique: true
24
- elements: [headline, text, searchresult]
25
- autogenerate: [searchresult]
26
- searchresults: true
27
-
28
22
  - name: external
29
23
  unique: false
30
24
  redirects_to_external: true
@@ -1,30 +1,9 @@
1
1
  require File.expand_path('../boot', __FILE__)
2
2
 
3
- # Pick the frameworks you want:
4
- if ENV['FAST_SPECS']
5
- require "active_record/railtie"
6
- require "action_controller/railtie"
7
- require "action_mailer/railtie"
8
- require "active_resource/railtie"
9
- require "alchemy_cms"
10
- else
11
- require "active_record/railtie"
12
- require "action_controller/railtie"
13
- require "action_mailer/railtie"
14
- require "active_resource/railtie"
15
- require "sprockets/railtie"
16
- end
3
+ require 'rails/all'
17
4
 
18
- if defined?(Bundler)
19
- # If you precompile assets before deploying to production, use this line
20
- # Bundler.require(*Rails.groups(:assets => %w(development test)))
21
- # If you want your assets lazily compiled in production, use this line
22
- if ENV['FAST_SPECS']
23
- Bundler.require(:test)
24
- else
25
- Bundler.require(:default, :assets, Rails.env)
26
- end
27
- end
5
+ Bundler.require(*Rails.groups)
6
+ require "alchemy_cms"
28
7
 
29
8
  module Dummy
30
9
  class Application < Rails::Application
@@ -32,45 +11,14 @@ module Dummy
32
11
  # Application configuration should go into files in config/initializers
33
12
  # -- all .rb files in that directory are automatically loaded.
34
13
 
35
- # Custom directories with classes and modules you want to be autoloadable.
36
- # config.autoload_paths += %W(#{config.root}/extras)
37
-
38
- # Only load the plugins named here, in the order given (default is alphabetical).
39
- # :all can be used as a placeholder for all plugins not explicitly named.
40
- # config.plugins = [ :exception_notification, :ssl_requirement, :all ]
41
-
42
- # Activate observers that should always be running.
43
- # config.active_record.observers = :cacher, :garbage_collector, :forum_observer
44
-
45
14
  # Set Time.zone default to the specified zone and make Active Record auto-convert to this zone.
46
15
  # Run "rake -D time" for a list of tasks for finding time zone names. Default is UTC.
47
16
  # config.time_zone = 'Central Time (US & Canada)'
48
17
 
49
18
  # The default locale is :en and all translations from config/locales/*.rb,yml are auto loaded.
50
19
  # config.i18n.load_path += Dir[Rails.root.join('my', 'locales', '*.{rb,yml}').to_s]
51
- config.i18n.default_locale = :en
52
-
53
- # Configure the default encoding used in templates for Ruby 1.9.
54
- config.encoding = "utf-8"
55
-
56
- # Configure sensitive parameters which will be filtered from the log file.
57
- config.filter_parameters += [:password, :password_confirmation]
58
-
59
- # Use SQL instead of Active Record's schema dumper when creating the database.
60
- # This is necessary if your schema can't be completely dumped by the schema dumper,
61
- # like if you have constraints or database-specific column types
62
- # config.active_record.schema_format = :sql
63
-
64
- # Enforce whitelist mode for mass assignment.
65
- # This will create an empty whitelist of attributes available for mass-assignment for all models
66
- # in your app. As such, your models will need to explicitly whitelist or blacklist accessible
67
- # parameters by using an attr_accessible or attr_protected declaration.
68
- config.active_record.whitelist_attributes = true
69
-
70
- # Enable the asset pipeline
71
- config.assets.enabled = true
20
+ # config.i18n.default_locale = :de
72
21
 
73
- # Version of your assets, change this if you want to expire all your assets
74
- config.assets.version = '1.0'
22
+ I18n.enforce_available_locales = true
75
23
  end
76
24
  end