alchemy_cms 2.0.7 → 2.1.beta1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (256) hide show
  1. data/.gitignore +1 -4
  2. data/.travis.yml +1 -1
  3. data/Gemfile +7 -2
  4. data/README.md +6 -6
  5. data/Rakefile +26 -18
  6. data/alchemy_cms.gemspec +14 -14
  7. data/{assets/stylesheets → app/assets/images/alchemy}/Jcrop.gif +0 -0
  8. data/{assets/images → app/assets/images/alchemy}/ajax_loader.gif +0 -0
  9. data/{assets/images → app/assets/images/alchemy}/alchemy-logo.png +0 -0
  10. data/{assets/images → app/assets/images/alchemy}/flags.png +0 -0
  11. data/{assets/images → app/assets/images/alchemy}/gui/navi-tab.png +0 -0
  12. data/{assets/images → app/assets/images/alchemy}/gui/shading_90.png +0 -0
  13. data/{assets/images → app/assets/images/alchemy}/gui/toggle.png +0 -0
  14. data/{assets/images → app/assets/images/alchemy}/icons.png +0 -0
  15. data/{assets/images → app/assets/images/alchemy}/image_loader.gif +0 -0
  16. data/{assets/images → app/assets/images/alchemy}/jquery-sb/select_arrow.gif +0 -0
  17. data/{assets/images → app/assets/images/alchemy}/jquery-sb/select_arrow_bg.gif +0 -0
  18. data/{assets/images → app/assets/images/alchemy}/jquery-sb/select_arrow_bg_hover.gif +0 -0
  19. data/{assets/images → app/assets/images/alchemy}/placeholder.png +0 -0
  20. data/{assets/images/gui → app/assets/images/alchemy}/shading.png +0 -0
  21. data/{assets/images → app/assets/images/alchemy}/swfupload/browse_button.png +0 -0
  22. data/{assets/stylesheets/default/img → app/assets/images/alchemy}/tabs.gif +0 -0
  23. data/{assets/images/jquery-ui → app/assets/images/alchemy}/ui-icons_666666_256x240.png +0 -0
  24. data/app/assets/javascripts/alchemy/alchemy.base.js +212 -0
  25. data/app/assets/javascripts/alchemy/alchemy.buttons.js +36 -0
  26. data/app/assets/javascripts/alchemy/alchemy.dirty.js +91 -0
  27. data/app/assets/javascripts/alchemy/alchemy.dragndrop.js +114 -0
  28. data/{assets/javascripts → app/assets/javascripts/alchemy}/alchemy.element_editor_selector.js +0 -0
  29. data/{assets/javascripts → app/assets/javascripts/alchemy}/alchemy.growler.js +0 -0
  30. data/{assets/javascripts → app/assets/javascripts/alchemy}/alchemy.image_cropper.js +0 -0
  31. data/app/assets/javascripts/alchemy/alchemy.js +26 -0
  32. data/app/assets/javascripts/alchemy/alchemy.js_extensions.js +17 -0
  33. data/{assets/javascripts → app/assets/javascripts/alchemy}/alchemy.link_overlay.js +1 -1
  34. data/{assets/javascripts → app/assets/javascripts/alchemy}/alchemy.page_sorter.js +0 -0
  35. data/{assets/javascripts → app/assets/javascripts/alchemy}/alchemy.preview.js +0 -0
  36. data/app/assets/javascripts/alchemy/alchemy.windows.js +438 -0
  37. data/app/assets/stylesheets/alchemy/_defaults.scss +160 -0
  38. data/app/assets/stylesheets/alchemy/alchemy.css +9 -0
  39. data/{assets/stylesheets/alchemy.css → app/assets/stylesheets/alchemy/base.css.scss} +216 -353
  40. data/{assets/stylesheets/elements.css → app/assets/stylesheets/alchemy/elements.css.scss} +41 -70
  41. data/{assets/stylesheets/flags.css → app/assets/stylesheets/alchemy/flags.css.scss} +1 -1
  42. data/{assets/stylesheets/jquery-ui-1.8.7.alchemy.css → app/assets/stylesheets/alchemy/jquery-ui.alchemy.css} +15 -15
  43. data/{assets/stylesheets/jquery.Jcrop.css → app/assets/stylesheets/alchemy/jquery.Jcrop.css.scss} +3 -3
  44. data/{assets/stylesheets/jquery.sb.css → app/assets/stylesheets/alchemy/jquery.sb.css.scss} +19 -29
  45. data/{assets/stylesheets → app/assets/stylesheets/alchemy}/print.css +6 -1
  46. data/{assets/stylesheets → app/assets/stylesheets/alchemy}/standard_set.css +0 -0
  47. data/{assets/stylesheets/alchemy_tinymce_content.css → app/assets/stylesheets/alchemy/tinymce_content.css} +0 -0
  48. data/{assets/stylesheets/alchemy_tinymce_dialog.css → app/assets/stylesheets/alchemy/tinymce_dialog.css} +2 -2
  49. data/app/controllers/admin/attachments_controller.rb +2 -8
  50. data/app/controllers/admin/clipboard_controller.rb +2 -2
  51. data/app/controllers/admin/contents_controller.rb +4 -16
  52. data/app/controllers/admin/elements_controller.rb +2 -2
  53. data/app/controllers/admin/essence_audios_controller.rb +0 -3
  54. data/app/controllers/admin/essence_files_controller.rb +0 -11
  55. data/app/controllers/admin/essence_flashes_controller.rb +0 -3
  56. data/app/controllers/admin/essence_pictures_controller.rb +2 -7
  57. data/app/controllers/admin/essence_videos_controller.rb +0 -3
  58. data/app/controllers/admin/languages_controller.rb +4 -10
  59. data/app/controllers/admin/pages_controller.rb +6 -4
  60. data/app/controllers/admin/pictures_controller.rb +13 -18
  61. data/app/controllers/admin/trash_controller.rb +0 -5
  62. data/app/controllers/admin/users_controller.rb +2 -3
  63. data/app/controllers/alchemy_controller.rb +18 -30
  64. data/app/controllers/pages_controller.rb +21 -24
  65. data/app/helpers/admin/elements_helper.rb +5 -0
  66. data/app/helpers/admin/pages_helper.rb +36 -1
  67. data/app/helpers/alchemy_helper.rb +39 -17
  68. data/app/models/attachment.rb +2 -2
  69. data/app/models/essence_file.rb +1 -1
  70. data/app/models/page.rb +1 -1
  71. data/app/sweepers/pages_sweeper.rb +10 -0
  72. data/app/views/admin/attachments/destroy.js.erb +4 -0
  73. data/app/views/admin/clipboard/insert.js.erb +12 -19
  74. data/app/views/admin/contents/create.js.erb +1 -1
  75. data/app/views/admin/contents/destroy.js.erb +7 -0
  76. data/app/views/admin/contents/order.js.erb +6 -0
  77. data/app/views/admin/elements/_element.html.erb +4 -2
  78. data/app/views/admin/elements/create.js.erb +19 -26
  79. data/app/views/admin/elements/fold.js.erb +1 -1
  80. data/app/views/admin/elements/index.html.erb +1 -1
  81. data/app/views/admin/essence_files/assign.js.erb +8 -0
  82. data/app/views/admin/essence_pictures/save_link.js.erb +3 -0
  83. data/app/views/admin/index.html.erb +37 -27
  84. data/app/views/admin/languages/destroy.js.erb +1 -0
  85. data/app/views/admin/pages/_page.html.erb +1 -1
  86. data/app/views/admin/pages/_sitemap.html.erb +1 -1
  87. data/app/views/admin/pages/edit.html.erb +2 -2
  88. data/app/views/admin/pages/update.js.erb +1 -1
  89. data/app/views/admin/partials/_upload_form.html.erb +11 -11
  90. data/app/views/admin/pictures/archive_overlay.js.erb +1 -0
  91. data/app/views/admin/pictures/flush.js.erb +2 -0
  92. data/app/views/admin/pictures/update.js.erb +1 -0
  93. data/app/views/admin/trash/clear.js.erb +3 -0
  94. data/app/views/alchemy/error_notice.js.erb +1 -0
  95. data/app/views/alchemy/permission_denied.js.erb +2 -0
  96. data/app/views/alchemy/redirect.js.erb +1 -0
  97. data/app/views/alchemy/remote_errors.js.erb +3 -0
  98. data/app/views/alchemy/update.js.erb +5 -0
  99. data/app/views/essences/_essence_file_editor.html.erb +0 -1
  100. data/app/views/essences/_essence_file_view.html.erb +1 -5
  101. data/app/views/essences/_essence_picture_tools.html.erb +1 -1
  102. data/app/views/layouts/alchemy.html.erb +22 -9
  103. data/app/views/pages/show.rss.builder +1 -1
  104. data/config/alchemy/elements.yml +0 -5
  105. data/config/alchemy/page_layouts.yml +1 -1
  106. data/config/asset_packages.yml +17 -19
  107. data/config/authorization_rules.rb +1 -0
  108. data/config/locales/de.yml +0 -1
  109. data/config/routes.rb +1 -1
  110. data/lib/alchemy/tinymce.rb +51 -0
  111. data/lib/alchemy/version.rb +3 -3
  112. data/lib/alchemy_cms.rb +4 -2
  113. data/script/rails +6 -0
  114. data/spec/controllers/admin/clipboard_controller_spec.rb +15 -13
  115. data/spec/controllers/admin/contents_controller_spec.rb +4 -4
  116. data/spec/controllers/admin/trash_controller_spec.rb +6 -9
  117. data/spec/controllers/pages_controller_spec.rb +9 -8
  118. data/spec/dummy/Rakefile +1 -1
  119. data/spec/dummy/app/assets/javascripts/application.js +9 -0
  120. data/spec/dummy/app/assets/stylesheets/application.css +7 -0
  121. data/spec/dummy/app/mailers/.gitkeep +0 -0
  122. data/spec/dummy/app/models/.gitkeep +0 -0
  123. data/spec/dummy/app/views/layouts/application.html.erb +3 -3
  124. data/spec/dummy/config/application.rb +12 -6
  125. data/spec/dummy/config/database.yml +3 -0
  126. data/spec/dummy/config/environments/development.rb +7 -3
  127. data/spec/dummy/config/environments/production.rb +23 -12
  128. data/spec/dummy/config/environments/test.rb +5 -1
  129. data/spec/dummy/config/initializers/secret_token.rb +1 -1
  130. data/spec/dummy/config/initializers/wrap_parameters.rb +14 -0
  131. data/spec/dummy/config/locales/en.yml +1 -1
  132. data/spec/dummy/config/routes.rb +1 -1
  133. data/spec/dummy/lib/assets/.gitkeep +0 -0
  134. data/spec/factories.rb +8 -8
  135. data/spec/helpers/admin/elements_helper_spec.rb +2 -2
  136. data/spec/helpers/contents_helper_spec.rb +1 -1
  137. data/spec/helpers/elements_helper_spec.rb +6 -6
  138. data/spec/helpers/essences_helper_spec.rb +1 -1
  139. data/spec/helpers/pages_helper_spec.rb +37 -37
  140. data/spec/integration/pages_controller_spec.rb +29 -26
  141. data/spec/integration/security_spec.rb +2 -1
  142. data/spec/models/content_spec.rb +1 -1
  143. data/spec/models/element_spec.rb +11 -11
  144. data/spec/models/language_spec.rb +5 -5
  145. data/spec/models/page_spec.rb +54 -54
  146. data/spec/models/user_spec.rb +2 -1
  147. data/spec/routing_spec.rb +1 -1
  148. data/{assets/javascripts/jquery.js → vendor/assets/javascripts/jquery-1.6.2.min.js} +0 -0
  149. data/{assets/javascripts/jquery-ui.js → vendor/assets/javascripts/jquery-ui-custom-1.8.16.min.js} +0 -0
  150. data/{assets/javascripts → vendor/assets/javascripts/jquery_plugins}/jquery.Jcrop.min.js +0 -0
  151. data/{assets/javascripts → vendor/assets/javascripts/jquery_plugins}/jquery.dialogextend.min.js +7 -7
  152. data/{assets/javascripts → vendor/assets/javascripts/jquery_plugins}/jquery.in-place-edit.js +0 -0
  153. data/{assets/javascripts → vendor/assets/javascripts/jquery_plugins}/jquery.sb.min.js +0 -0
  154. data/{assets/javascripts → vendor/assets/javascripts/jquery_plugins}/jquery.scrollTo-1.4.2-min.js +10 -10
  155. data/{assets/javascripts → vendor/assets/javascripts/jquery_plugins}/jquery.ui.nestedSortable.js +0 -0
  156. data/{assets/javascripts → vendor/assets/javascripts/jquery_plugins}/jquery.ui.tabspaging.js +0 -0
  157. data/{assets → vendor/assets}/javascripts/swfupload/fileprogress.js +202 -202
  158. data/{assets → vendor/assets}/javascripts/swfupload/handlers.js +171 -171
  159. data/{assets → vendor/assets}/javascripts/swfupload/queue.js +97 -97
  160. data/{assets → vendor/assets}/javascripts/swfupload/swfupload.js +980 -980
  161. data/{assets → vendor/assets}/javascripts/swfupload/swfupload.swf +0 -0
  162. data/{assets → vendor/assets}/javascripts/tiny_mce/jquery.tinymce.js +0 -0
  163. data/{assets → vendor/assets}/javascripts/tiny_mce/langs/de.js +0 -0
  164. data/{assets → vendor/assets}/javascripts/tiny_mce/langs/en.js +0 -0
  165. data/{assets → vendor/assets}/javascripts/tiny_mce/license.txt +504 -504
  166. data/{assets → vendor/assets}/javascripts/tiny_mce/plugins/alchemy_link/editor_plugin.js +0 -0
  167. data/{assets → vendor/assets}/javascripts/tiny_mce/plugins/alchemy_link/langs/de.js +0 -0
  168. data/{assets → vendor/assets}/javascripts/tiny_mce/plugins/alchemy_link/langs/en.js +0 -0
  169. data/{assets → vendor/assets}/javascripts/tiny_mce/plugins/autoresize/editor_plugin.js +0 -0
  170. data/{assets → vendor/assets}/javascripts/tiny_mce/plugins/fullscreen/editor_plugin.js +0 -0
  171. data/{assets → vendor/assets}/javascripts/tiny_mce/plugins/fullscreen/fullscreen.htm +110 -110
  172. data/{assets → vendor/assets}/javascripts/tiny_mce/plugins/inlinepopups/editor_plugin.js +0 -0
  173. data/{assets/javascripts/tiny_mce/plugins/inlinepopups/skins/alchemy/window.css → vendor/assets/javascripts/tiny_mce/plugins/inlinepopups/skins/alchemy/window.css.erb} +8 -8
  174. data/{assets → vendor/assets}/javascripts/tiny_mce/plugins/inlinepopups/template.htm +387 -387
  175. data/{assets → vendor/assets}/javascripts/tiny_mce/plugins/paste/editor_plugin.js +0 -0
  176. data/{assets → vendor/assets}/javascripts/tiny_mce/plugins/paste/js/pastetext.js +36 -36
  177. data/{assets → vendor/assets}/javascripts/tiny_mce/plugins/paste/js/pasteword.js +51 -51
  178. data/{assets → vendor/assets}/javascripts/tiny_mce/plugins/paste/langs/de_dlg.js +0 -0
  179. data/{assets → vendor/assets}/javascripts/tiny_mce/plugins/paste/langs/en_dlg.js +0 -0
  180. data/{assets → vendor/assets}/javascripts/tiny_mce/plugins/paste/pastetext.htm +26 -26
  181. data/{assets → vendor/assets}/javascripts/tiny_mce/plugins/paste/pasteword.htm +21 -21
  182. data/{assets → vendor/assets}/javascripts/tiny_mce/plugins/table/cell.htm +180 -180
  183. data/{assets → vendor/assets}/javascripts/tiny_mce/plugins/table/css/cell.css +16 -16
  184. data/{assets → vendor/assets}/javascripts/tiny_mce/plugins/table/css/row.css +25 -25
  185. data/{assets → vendor/assets}/javascripts/tiny_mce/plugins/table/css/table.css +13 -13
  186. data/{assets → vendor/assets}/javascripts/tiny_mce/plugins/table/editor_plugin.js +0 -0
  187. data/{assets → vendor/assets}/javascripts/tiny_mce/plugins/table/js/cell.js +319 -319
  188. data/{assets → vendor/assets}/javascripts/tiny_mce/plugins/table/js/merge_cells.js +27 -27
  189. data/{assets → vendor/assets}/javascripts/tiny_mce/plugins/table/js/row.js +237 -237
  190. data/{assets → vendor/assets}/javascripts/tiny_mce/plugins/table/js/table.js +450 -450
  191. data/{assets → vendor/assets}/javascripts/tiny_mce/plugins/table/langs/de_dlg.js +0 -0
  192. data/{assets → vendor/assets}/javascripts/tiny_mce/plugins/table/langs/en_dlg.js +0 -0
  193. data/{assets → vendor/assets}/javascripts/tiny_mce/plugins/table/merge_cells.htm +32 -32
  194. data/{assets → vendor/assets}/javascripts/tiny_mce/plugins/table/row.htm +158 -158
  195. data/{assets → vendor/assets}/javascripts/tiny_mce/plugins/table/table.htm +188 -188
  196. data/{assets → vendor/assets}/javascripts/tiny_mce/themes/advanced/about.htm +52 -52
  197. data/{assets → vendor/assets}/javascripts/tiny_mce/themes/advanced/anchor.htm +26 -26
  198. data/{assets → vendor/assets}/javascripts/tiny_mce/themes/advanced/charmap.htm +51 -51
  199. data/{assets → vendor/assets}/javascripts/tiny_mce/themes/advanced/color_picker.htm +74 -74
  200. data/{assets → vendor/assets}/javascripts/tiny_mce/themes/advanced/editor_template.js +0 -0
  201. data/{assets → vendor/assets}/javascripts/tiny_mce/themes/advanced/image.htm +80 -80
  202. data/{assets → vendor/assets}/javascripts/tiny_mce/themes/advanced/img/colorpicker.jpg +0 -0
  203. data/{assets → vendor/assets}/javascripts/tiny_mce/themes/advanced/img/flash.gif +0 -0
  204. data/{assets → vendor/assets}/javascripts/tiny_mce/themes/advanced/img/icons.gif +0 -0
  205. data/{assets → vendor/assets}/javascripts/tiny_mce/themes/advanced/img/iframe.gif +0 -0
  206. data/{assets → vendor/assets}/javascripts/tiny_mce/themes/advanced/img/pagebreak.gif +0 -0
  207. data/{assets → vendor/assets}/javascripts/tiny_mce/themes/advanced/img/quicktime.gif +0 -0
  208. data/{assets → vendor/assets}/javascripts/tiny_mce/themes/advanced/img/realmedia.gif +0 -0
  209. data/{assets → vendor/assets}/javascripts/tiny_mce/themes/advanced/img/shockwave.gif +0 -0
  210. data/{assets → vendor/assets}/javascripts/tiny_mce/themes/advanced/img/trans.gif +0 -0
  211. data/{assets → vendor/assets}/javascripts/tiny_mce/themes/advanced/img/video.gif +0 -0
  212. data/{assets → vendor/assets}/javascripts/tiny_mce/themes/advanced/img/windowsmedia.gif +0 -0
  213. data/{assets → vendor/assets}/javascripts/tiny_mce/themes/advanced/js/about.js +73 -73
  214. data/{assets → vendor/assets}/javascripts/tiny_mce/themes/advanced/js/anchor.js +43 -43
  215. data/{assets → vendor/assets}/javascripts/tiny_mce/themes/advanced/js/charmap.js +355 -355
  216. data/{assets → vendor/assets}/javascripts/tiny_mce/themes/advanced/js/color_picker.js +329 -329
  217. data/{assets → vendor/assets}/javascripts/tiny_mce/themes/advanced/js/image.js +251 -251
  218. data/{assets → vendor/assets}/javascripts/tiny_mce/themes/advanced/js/link.js +153 -153
  219. data/{assets → vendor/assets}/javascripts/tiny_mce/themes/advanced/js/source_editor.js +56 -56
  220. data/{assets → vendor/assets}/javascripts/tiny_mce/themes/advanced/langs/de.js +0 -0
  221. data/{assets → vendor/assets}/javascripts/tiny_mce/themes/advanced/langs/de_dlg.js +0 -0
  222. data/{assets → vendor/assets}/javascripts/tiny_mce/themes/advanced/langs/en.js +0 -0
  223. data/{assets → vendor/assets}/javascripts/tiny_mce/themes/advanced/langs/en_dlg.js +0 -0
  224. data/{assets → vendor/assets}/javascripts/tiny_mce/themes/advanced/link.htm +57 -57
  225. data/{assets → vendor/assets}/javascripts/tiny_mce/themes/advanced/shortcuts.htm +47 -47
  226. data/{assets → vendor/assets}/javascripts/tiny_mce/themes/advanced/skins/default/content.css +50 -50
  227. data/{assets → vendor/assets}/javascripts/tiny_mce/themes/advanced/skins/default/dialog.css +117 -117
  228. data/{assets → vendor/assets}/javascripts/tiny_mce/themes/advanced/skins/default/img/buttons.png +0 -0
  229. data/{assets → vendor/assets}/javascripts/tiny_mce/themes/advanced/skins/default/img/items.gif +0 -0
  230. data/{assets → vendor/assets}/javascripts/tiny_mce/themes/advanced/skins/default/img/menu_arrow.gif +0 -0
  231. data/{assets → vendor/assets}/javascripts/tiny_mce/themes/advanced/skins/default/img/menu_check.gif +0 -0
  232. data/{assets → vendor/assets}/javascripts/tiny_mce/themes/advanced/skins/default/img/progress.gif +0 -0
  233. data/{assets → vendor/assets}/javascripts/tiny_mce/themes/advanced/skins/default/img/tabs.gif +0 -0
  234. data/{assets → vendor/assets}/javascripts/tiny_mce/themes/advanced/skins/default/ui.css +214 -214
  235. data/{assets → vendor/assets}/javascripts/tiny_mce/themes/advanced/skins/o2k7/content.css +48 -48
  236. data/{assets → vendor/assets}/javascripts/tiny_mce/themes/advanced/skins/o2k7/dialog.css +117 -117
  237. data/{assets → vendor/assets}/javascripts/tiny_mce/themes/advanced/skins/o2k7/img/button_bg.png +0 -0
  238. data/{assets → vendor/assets}/javascripts/tiny_mce/themes/advanced/skins/o2k7/img/button_bg_black.png +0 -0
  239. data/{assets → vendor/assets}/javascripts/tiny_mce/themes/advanced/skins/o2k7/img/button_bg_silver.png +0 -0
  240. data/{assets → vendor/assets}/javascripts/tiny_mce/themes/advanced/skins/o2k7/ui.css +217 -217
  241. data/{assets → vendor/assets}/javascripts/tiny_mce/themes/advanced/skins/o2k7/ui_black.css +7 -7
  242. data/{assets → vendor/assets}/javascripts/tiny_mce/themes/advanced/skins/o2k7/ui_silver.css +5 -5
  243. data/{assets → vendor/assets}/javascripts/tiny_mce/themes/advanced/source_editor.htm +25 -25
  244. data/{assets → vendor/assets}/javascripts/tiny_mce/tiny_mce.js +0 -0
  245. data/{assets → vendor/assets}/javascripts/tiny_mce/tiny_mce_popup.js +0 -0
  246. data/{assets → vendor/assets}/javascripts/tiny_mce/utils/editable_selects.js +70 -70
  247. data/{assets → vendor/assets}/javascripts/tiny_mce/utils/form_utils.js +210 -210
  248. data/{assets → vendor/assets}/javascripts/tiny_mce/utils/mctabs.js +161 -161
  249. data/{assets → vendor/assets}/javascripts/tiny_mce/utils/validate.js +252 -252
  250. metadata +338 -369
  251. data/app/views/elements/_download_editor.html.erb +0 -1
  252. data/app/views/elements/_download_view.html.erb +0 -3
  253. data/assets/javascripts/alchemy.js +0 -903
  254. data/assets/javascripts/jquery.rails.js +0 -315
  255. data/assets/stylesheets/ie6.css +0 -18
  256. data/config/initializers/tinymce_hammer.rb +0 -31
@@ -0,0 +1 @@
1
+ window.location.replace('<%= admin_languages_url %>');
@@ -31,7 +31,7 @@
31
31
  configure_admin_page_path(page),
32
32
  {
33
33
  :title => _('edit_page_properties'),
34
- :size => page.redirects_to_external? ? '390x270' : '380x600'
34
+ :size => page.redirects_to_external? ? '390x270' : '390x580'
35
35
  },
36
36
  :class => '',
37
37
  :title => _('edit_page_properties')
@@ -31,7 +31,7 @@
31
31
  configure_admin_page_path(@page_root),
32
32
  {
33
33
  :title => _('edit_page_properties'),
34
- :size => @page_root.redirects_to_external? ? '390x270' : '380x600'
34
+ :size => @page_root.redirects_to_external? ? '390x270' : '390x580'
35
35
  },
36
36
  :class => '',
37
37
  :title => _('edit_page_properties')
@@ -1,7 +1,7 @@
1
1
  <%- alchemy_combined_assets -%>
2
2
 
3
3
  <%- content_for(:javascript_includes) do -%>
4
- <%= tinymce_hammer_javascript_tags %>
4
+ <%= tinymce_javascript_tags %>
5
5
  <%- end -%>
6
6
  <%- content_for(:subnav_additions) do -%>
7
7
  <%- Page.all_locked_by(current_user).each do |page| -%>
@@ -59,7 +59,7 @@
59
59
  configure_admin_page_path(@page),
60
60
  {
61
61
  :title => _('edit_page_properties'),
62
- :size => @page.layoutpage? ? '340x150' : '380x600'
62
+ :size => @page.layoutpage? ? '340x150' : '390x580'
63
63
  },
64
64
  :class => 'icon_button',
65
65
  :title => _('edit_page_properties')
@@ -2,7 +2,7 @@
2
2
 
3
3
  Alchemy.closeCurrentWindow();
4
4
 
5
- <%- if request.referer.include?('edit') -%>
5
+ <%- if @while_page_edit -%>
6
6
 
7
7
  Alchemy.reloadPreview();
8
8
  $('#<%= dom_id(@page) -%>_status').replaceWith('<%= escape_javascript(render(:partial => "page_status")) -%>');
@@ -70,21 +70,21 @@
70
70
  <script type='text/javascript'>
71
71
  try {
72
72
  var settings = {
73
- flash_url : "/javascripts/alchemy/swfupload/swfupload.swf",
74
- flash9_url : "/javascripts/alchemy/swfupload/swfupload.swf",
73
+ flash_url: "<%= asset_path("swfupload/swfupload.swf") %>",
74
+ flash9_url: "<%= asset_path("swfupload/swfupload.swf") %>",
75
75
  upload_url: '<%= new_asset_path_with_session_information(model_name) %>',
76
76
  post_params: <%= post_params.html_safe %>,
77
- file_size_limit : "<%= configuration(:uploader)[:file_size_limit] || 100 -%> MB",
78
- file_types : '<%= file_types.map{ |f| "*.#{f}" }.join(";") %>',
79
- file_types_description : "<%= file_types_description %>",
80
- file_upload_limit : <%= configuration(:uploader)[:upload_limit] || 50 -%>,
81
- file_queue_limit : 0,
82
- custom_settings : {
83
- progressTarget : "uploadProgressContainer",
84
- cancelButtonId : "btnCancel"
77
+ file_size_limit: "<%= configuration(:uploader)[:file_size_limit] || 100 -%> MB",
78
+ file_types: '<%= file_types.map{ |f| "*.#{f}" }.join(";") %>',
79
+ file_types_description: "<%= file_types_description %>",
80
+ file_upload_limit: <%= configuration(:uploader)[:upload_limit] || 50 -%>,
81
+ file_queue_limit: 0,
82
+ custom_settings: {
83
+ progressTarget: "uploadProgressContainer",
84
+ cancelButtonId: "btnCancel"
85
85
  },
86
86
  debug: false,
87
- button_image_url: "/images/alchemy/swfupload/browse_button.png",
87
+ button_image_url: "<%= image_path("alchemy/swfupload/browse_button.png") %>",
88
88
  button_width: "120",
89
89
  button_height: "25",
90
90
  button_placeholder_id: "spanButtonPlaceHolder",
@@ -0,0 +1 @@
1
+ jQuery('#alchemy_window_body').replaceWith('<%= escape_javascript(render(:partial => "archive_overlay")) %>');
@@ -0,0 +1,2 @@
1
+ Alchemy.growl('<%= @notice %>');
2
+ Alchemy.pleaseWaitOverlay(false);
@@ -0,0 +1 @@
1
+ Alchemy.growl('<%= @message %>');
@@ -0,0 +1,3 @@
1
+ Alchemy.growl('<%= _("Cleared trash") %>');
2
+ Alchemy.refreshTrashWindow(<%= @page.id %>);
3
+ jQuery('#element_trash_button .icon').removeClass('full');
@@ -0,0 +1 @@
1
+ Alchemy.growl('<%= escape_javascript(@notice) %>', 'error')
@@ -0,0 +1,2 @@
1
+ Alchemy.closeCurrentWindow();
2
+ window.location.replace('<%= login_path %>');
@@ -0,0 +1 @@
1
+ window.location.replace('<%= url_for(@redirect_url) %>');
@@ -0,0 +1,3 @@
1
+ jQuery('#errors').html('<%= escape_javascript(@errors) %>');
2
+ jQuery('#errors').show();
3
+ Alchemy.enableButton('<%= @button || "form button.button" %>');
@@ -0,0 +1,5 @@
1
+ Alchemy.closeCurrentWindow();
2
+ <%- unless flash[:notice].blank? -%>
3
+ Alchemy.growl('<%= flash[:notice] -%>');
4
+ <%- end -%>
5
+ Alchemy.reloadPreview();
@@ -28,7 +28,6 @@
28
28
  <%= content.ingredient.name rescue ("&#x2190;" + _('assign_file_from_archive')).html_safe %>
29
29
  </div>
30
30
  <%- unless content.ingredient.nil? -%>
31
- <%= hidden_field_tag content.form_field_name, content.ingredient.id %>
32
31
  <div class="essence_file_tools">
33
32
  <%= link_to_overlay_window("",
34
33
  admin_attachments_path(
@@ -1,10 +1,6 @@
1
1
  <%= link_to(
2
2
  h(content.essence.attachment.name),
3
- download_attachment_path(
4
- :id => content.essence.attachment.id,
5
- :name => content.essence.attachment.urlname,
6
- :format => content.essence.attachment.suffix
7
- ),
3
+ download_attachment_path(:id => content.essence.attachment.id, :name => content.essence.attachment.filename),
8
4
  :class => "file_link #{content.essence.css_class.blank? ? "" : content.essence.css_class}",
9
5
  :title => "#{content.essence.title.blank? ? content.essence.attachment.filename : content.essence.title}"
10
6
  ) if content.essence.attachment %>
@@ -6,7 +6,7 @@
6
6
  :title => _('Edit Picturemask')
7
7
  },
8
8
  {
9
- :class => necessary_options_for_cropping_provided?(options) ? nil : 'disabled',
9
+ :class => necessary_options_for_cropping_provided?(options) && content.ingredient ? nil : 'disabled',
10
10
  :title => _('Edit Picturemask')
11
11
  }
12
12
  ) %>
@@ -5,27 +5,22 @@
5
5
  <meta http-equiv="content-language" content="<%= current_user.language.blank? ? 'de' : current_user.language rescue 'de' %>">
6
6
  <title><%= render_alchemy_title %></title>
7
7
  <%= csrf_meta_tag %>
8
- <!--[if IE 6]><link rel="stylesheet" type="text/css" href="/plugin_assets/stylesheets/ie6.css" /><![endif]-->
9
8
  <%= yield :stylesheets %>
10
9
  <%= yield :javascript_includes %>
11
10
  <script type="text/javascript" charset="utf-8">
12
- // <![CDATA[
13
- if(typeof(jQuery)=='function') {
14
- jQuery.noConflict();
15
- }
16
- // ]]>
11
+ if (typeof(jQuery) === 'function') {
12
+ jQuery.noConflict();
13
+ }
17
14
  </script>
18
15
  </head>
19
-
16
+
20
17
  <body id="alchemy">
21
- <%#= overlay for indication of loading %>
22
18
  <div id="overlay">
23
19
  <div id="overlay_text_box">
24
20
  <%= image_tag('alchemy/ajax_loader.gif', :id => 'ajax_loader') %>
25
21
  <span id="overlay_text"><%= _("please_wait") %></span>
26
22
  </div>
27
23
  </div>
28
- <%#= overlay end %>
29
24
  <div id="main_menu">
30
25
  <div id="main_navi">
31
26
  <%= yield(:navigation) %>
@@ -55,5 +50,23 @@
55
50
  <%= yield %>
56
51
  </div>
57
52
  <%= yield(:javascripts) %>
53
+ <script type="text/javascript" charset="utf-8">
54
+ jQuery(document).ready(function ($) {
55
+ Alchemy.resizeFrame();
56
+ Alchemy.Tooltips();
57
+ if (typeof(jQuery().sb) === 'function') {
58
+ Alchemy.SelectBox('body#alchemy select');
59
+ }
60
+ if ($('#flash_notices').length > 0) {
61
+ Alchemy.Growler.fade();
62
+ }
63
+ $('#alchemy a.icon_button.please_wait_overlay').click(function() {
64
+ Alchemy.pleaseWaitOverlay();
65
+ });
66
+ });
67
+ jQuery(window).resize(function() {
68
+ Alchemy.resizeFrame();
69
+ });
70
+ </script>
58
71
  </body>
59
72
  </html>
@@ -11,7 +11,7 @@ xml.rss :version => "2.0" do
11
11
  xml.item do
12
12
  xml.title element.content_for_rss_title.ingredient
13
13
  xml.description element.content_for_rss_description.ingredient
14
- xml.pubDate render_essence_view_by_name(element, 'date', :date_format => :rfc822)
14
+ xml.pubDate element.ingredient('date').to_s(:rfc822) if element.has_ingredient?('date')
15
15
  xml.link show_page_url(:urlname => @page.urlname, :anchor => element_dom_id(element), :lang => multi_language? ? @page.language_code : nil)
16
16
  xml.guid show_page_url(:urlname => @page.urlname, :anchor => element_dom_id(element), :lang => multi_language? ? @page.language_code : nil)
17
17
  end
@@ -191,11 +191,6 @@
191
191
  - name: subheadline
192
192
  type: EssenceText
193
193
 
194
- - name: download
195
- contents:
196
- - name: file
197
- type: EssenceFile
198
-
199
194
  - name: news
200
195
  contents:
201
196
  - name: date
@@ -33,7 +33,7 @@
33
33
  autogenerate: [header, intro_image_text]
34
34
 
35
35
  - name: standard
36
- elements: [article, claim, header, bild, bild_text, text, intro, headline, image_mosaic, download]
36
+ elements: [article, claim, header, bild, bild_text, text, intro, headline, image_mosaic]
37
37
  autogenerate: [header, claim, article]
38
38
 
39
39
  - name: contact
@@ -1,32 +1,30 @@
1
1
  ---
2
2
  javascripts:
3
- - combined:
4
- - alchemy/jquery
5
- - alchemy/jquery-ui
6
- - alchemy/jquery.rails
7
- - alchemy/jquery.dialogextend.min
8
- - alchemy/jquery.in-place-edit.js
9
- - alchemy/jquery.Jcrop.min
10
- - alchemy/jquery.sb.min
11
- - alchemy/jquery.scrollTo-1.4.2-min
12
- - alchemy/jquery.ui.nestedSortable
13
- - alchemy/jquery.ui.tabspaging
14
- - alchemy/alchemy
3
+ - jquery-1.6.2.min
4
+ - jquery-ui-custom-1.8.16.min
5
+ - jquery_ujs
6
+ - jquery_plugins/jquery.dialogextend.min.js
7
+ - jquery_plugins/jquery.in-place-edit.js
8
+ - jquery_plugins/jquery.Jcrop.min.js
9
+ - jquery_plugins/jquery.sb.min.js
10
+ - jquery_plugins/jquery.scrollTo-1.4.2-min.js
11
+ - jquery_plugins/jquery.ui.nestedSortable.js
12
+ - jquery_plugins/jquery.ui.tabspaging.js
13
+ - alchemy/alchemy.base
15
14
  - alchemy/alchemy.element_editor_selector
16
15
  - alchemy/alchemy.image_cropper
17
16
  - alchemy/alchemy.link_overlay
18
17
  - alchemy/alchemy.page_sorter
19
18
  - alchemy/alchemy.growler
20
- - alchemy/swfupload/swfupload
21
- - alchemy/swfupload/queue
22
- - alchemy/swfupload/handlers
23
- - alchemy/swfupload/fileprogress
19
+ - swfupload/swfupload
20
+ - swfupload/queue
21
+ - swfupload/handlers
22
+ - swfupload/fileprogress
24
23
 
25
24
  stylesheets:
26
- - combined:
27
- - alchemy/alchemy
25
+ - alchemy/base
28
26
  - alchemy/elements
29
27
  - alchemy/flags
30
- - alchemy/jquery-ui-1.8.7.alchemy.css
28
+ - alchemy/jquery-ui.alchemy
31
29
  - alchemy/jquery.Jcrop
32
30
  - alchemy/jquery.sb
@@ -1,6 +1,7 @@
1
1
  authorization do
2
2
 
3
3
  role :guest do
4
+ has_permission_on :admin_manual_chapters, :to => [:publish]
4
5
  has_permission_on :pages, :to => [:show] do
5
6
  if_attribute :public => true, :restricted => false
6
7
  end
@@ -70,7 +70,6 @@ de:
70
70
  news_headline: "News Überschrift"
71
71
  image_mosaic:
72
72
  caption: "Mosaik Bildunterschrift"
73
- file: Datei
74
73
 
75
74
  content_validations:
76
75
  errors:
data/config/routes.rb CHANGED
@@ -14,7 +14,7 @@ Rails.application.routes.draw do
14
14
  :as => :leave_admin
15
15
  match '/admin/logout' => 'admin#logout',
16
16
  :as => :logout
17
- match '/attachment/:id/download(/:name)(.:format)' => 'attachments#download',
17
+ match '/attachment/:id/download(/:name)(.:suffix)' => 'attachments#download',
18
18
  :as => :download_attachment
19
19
  match '/attachment/:id/show' => 'attachments#show',
20
20
  :as => :show_attachment
@@ -0,0 +1,51 @@
1
+ module Alchemy
2
+ module Tinymce
3
+
4
+ mattr_accessor :languages, :themes, :plugins, :setup
5
+
6
+ @@setup = nil
7
+
8
+ @@plugins = %w(autoresize paste fullscreen inlinepopups alchemy_link)
9
+
10
+ @@languages = ['en', 'de']
11
+
12
+ @@themes = ['advanced']
13
+
14
+ @@init = {
15
+ :paste_convert_headers_to_strong => true,
16
+ :paste_convert_middot_lists => true,
17
+ :paste_remove_spans => true,
18
+ :paste_remove_styles => true,
19
+ :paste_strip_class_attributes => true,
20
+ :theme => 'advanced',
21
+ :skin => 'o2k7',
22
+ :skin_variant => 'silver',
23
+ :inlinepopups_skin => 'alchemy',
24
+ :popup_css => "/assets/alchemy/tinymce_dialog.css",
25
+ :content_css => "/assets/alchemy/tinymce_content.css",
26
+ :dialog_type => "modal",
27
+ :width => "100%",
28
+ :theme_advanced_resizing => true,
29
+ :theme_advanced_resize_horizontal => false,
30
+ :theme_advanced_resizing_min_height => '135',
31
+ :theme_advanced_toolbar_align => 'left',
32
+ :theme_advanced_toolbar_location => 'top',
33
+ :theme_advanced_statusbar_location => 'bottom',
34
+ :theme_advanced_buttons1 => 'bold,italic,underline,strikethrough,sub,sup,|,numlist,bullist,indent,outdent,|,alchemy_link,unlink,|,removeformat,cleanup,|,fullscreen',
35
+ :theme_advanced_buttons2 => 'pastetext,pasteword,charmap,code,help',
36
+ :theme_advanced_buttons3 => '',
37
+ :fix_list_elements => true,
38
+ :convert_urls => false,
39
+ :entity_encoding => "raw"
40
+ }
41
+
42
+ def self.init= js
43
+ @@init = js
44
+ end
45
+
46
+ def self.init
47
+ @@init
48
+ end
49
+
50
+ end
51
+ end
@@ -1,5 +1,5 @@
1
1
  module Alchemy
2
-
3
- VERSION = "2.0.7"
4
-
2
+
3
+ VERSION = "2.1.beta1"
4
+
5
5
  end
data/lib/alchemy_cms.rb CHANGED
@@ -6,7 +6,9 @@ if defined?(Rails) && Rails::VERSION::MAJOR == 3
6
6
  require 'dynamic_form'
7
7
  require 'fleximage'
8
8
  require 'gettext_i18n_rails'
9
- require 'tinymce_hammer'
9
+ if Rails.version >= '3.1'
10
+ require 'jquery-rails'
11
+ end
10
12
  require 'userstamp'
11
13
  require 'will_paginate'
12
14
  require 'yaml'
@@ -15,7 +17,7 @@ if defined?(Rails) && Rails::VERSION::MAJOR == 3
15
17
  require 'extensions/action_view'
16
18
  require 'alchemy/version'
17
19
  require 'alchemy/engine'
18
- %w(config essence page_layout controller remote_pagination_link_renderer).each do |class_name|
20
+ %w(config essence page_layout controller remote_pagination_link_renderer tinymce).each do |class_name|
19
21
  require File.join(File.dirname(__FILE__), "alchemy", class_name)
20
22
  end
21
23
  require File.join(File.dirname(__FILE__), "alchemy", "seeder")
data/script/rails ADDED
@@ -0,0 +1,6 @@
1
+ #!/usr/bin/env ruby
2
+ #!/usr/bin/env ruby
3
+ # This command will automatically be run when you run "rails" with Rails 3 gems installed from the root of your application.
4
+
5
+ ENGINE_PATH = File.expand_path('../..', __FILE__)
6
+ load File.expand_path('../../spec/dummy/script/rails', __FILE__)
@@ -4,41 +4,43 @@ describe Admin::ClipboardController do
4
4
 
5
5
  before(:each) do
6
6
  activate_authlogic
7
- UserSession.create FactoryGirl.create(:admin_user)
7
+ user = Factory(:admin_user)
8
+ user.save_without_session_maintenance
9
+ UserSession.create user
8
10
  end
9
11
 
10
12
  context "clipboard" do
11
13
 
12
14
  it "should hold element ids" do
13
- @page = FactoryGirl.create(:page, :parent_id => Page.rootpage.id)
14
- @element = FactoryGirl.create(:element, :page => @page)
15
- @another_element = FactoryGirl.create(:element, :page => @page)
15
+ @page = Factory(:page, :parent_id => Page.rootpage.id)
16
+ @element = Factory(:element, :page => @page)
17
+ @another_element = Factory(:element, :page => @page)
16
18
  session[:clipboard] = { :elements => [{:id => @element.id, :action => 'copy'}] }
17
19
  post(:insert, {:remarkable_type => 'element', :remarkable_id => @another_element.id, :format => :js})
18
- session[:clipboard][:elements].should == [{:id => @element.id, :action => 'copy'}, {:id => @another_element.id, :action => 'copy'}]
20
+ session[:clipboard][:elements].should == [{:id => @element.id, :action => 'copy'}, {:id => @another_element.id.to_s, :action => 'copy'}]
19
21
  end
20
22
 
21
23
  it "should not have the same element twice" do
22
- @page = FactoryGirl.create(:page, :parent_id => Page.rootpage.id)
23
- @element = FactoryGirl.create(:element, :page => @page)
24
+ @page = Factory(:page, :parent_id => Page.rootpage.id)
25
+ @element = Factory(:element, :page => @page)
24
26
  session[:clipboard] = { :elements => [{:id => @element.id, :action => 'copy'}] }
25
27
  post(:insert, {:remarkable_type => 'element', :remarkable_id => @element.id, :format => :js})
26
28
  session[:clipboard][:elements].should == [{:id => @element.id, :action => 'copy'}]
27
29
  end
28
30
 
29
31
  it "should remove element ids" do
30
- @page = FactoryGirl.create(:page, :parent_id => Page.rootpage.id)
31
- @element = FactoryGirl.create(:element, :page => @page)
32
- @another_element = FactoryGirl.create(:element, :page => @page)
32
+ @page = Factory(:page, :parent_id => Page.rootpage.id)
33
+ @element = Factory(:element, :page => @page)
34
+ @another_element = Factory(:element, :page => @page)
33
35
  session[:clipboard] = { :elements => [{:id => @element.id, :action => 'copy'}, {:id => @another_element.id, :action => 'copy'}] }
34
36
  delete(:remove, {:remarkable_type => 'element', :remarkable_id => @another_element.id, :format => :js})
35
37
  session[:clipboard][:elements].should == [{:id => @element.id, :action => 'copy'}]
36
38
  end
37
39
 
38
40
  it "should be clearable" do
39
- @page = FactoryGirl.create(:page, :parent_id => Page.rootpage.id)
40
- @element = FactoryGirl.create(:element, :page => @page)
41
- @another_element = FactoryGirl.create(:element, :page => @page)
41
+ @page = Factory(:page, :parent_id => Page.rootpage.id)
42
+ @element = Factory(:element, :page => @page)
43
+ @another_element = Factory(:element, :page => @page)
42
44
  session[:clipboard] = { :elements => [@element.id, @another_element.id] }
43
45
  delete(:clear, :format => :js)
44
46
  session[:clipboard].should == {}