alchemy_cms 2.5.3.1 → 2.6.0.rc5
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +1 -1
- data/.travis.yml +5 -13
- data/Gemfile +6 -3
- data/README.md +3 -2
- data/alchemy_cms.gemspec +22 -22
- data/app/assets/fonts/alchemy-icons.eot +0 -0
- data/app/assets/fonts/alchemy-icons.svg +54 -0
- data/app/assets/fonts/alchemy-icons.ttf +0 -0
- data/app/assets/fonts/alchemy-icons.woff +0 -0
- data/app/assets/images/alchemy/icons.png +0 -0
- data/app/assets/javascripts/alchemy/alchemy.base.js.coffee +151 -0
- data/app/assets/javascripts/alchemy/alchemy.buttons.js.coffee +3 -2
- data/app/assets/javascripts/alchemy/alchemy.datepicker.js.coffee +31 -0
- data/app/assets/javascripts/alchemy/alchemy.dragndrop.js +1 -1
- data/app/assets/javascripts/alchemy/alchemy.element_editors.js.coffee +98 -0
- data/app/assets/javascripts/alchemy/alchemy.elements_window.js.coffee +23 -24
- data/app/assets/javascripts/alchemy/alchemy.growler.js.coffee +27 -0
- data/app/assets/javascripts/alchemy/alchemy.gui.js.coffee +11 -8
- data/app/assets/javascripts/alchemy/alchemy.hotkeys.js.coffee +32 -0
- data/app/assets/javascripts/alchemy/alchemy.image_cropper.js.coffee +46 -0
- data/app/assets/javascripts/alchemy/alchemy.js +8 -2
- data/app/assets/javascripts/alchemy/alchemy.link_overlay.js.coffee +5 -4
- data/app/assets/javascripts/alchemy/alchemy.list_filter.js.coffee +49 -0
- data/app/assets/javascripts/alchemy/alchemy.onload.js.coffee +3 -0
- data/app/assets/javascripts/alchemy/alchemy.preview_window.js.coffee +71 -0
- data/app/assets/javascripts/alchemy/alchemy.sitemap.js.coffee +61 -0
- data/app/assets/javascripts/alchemy/alchemy.spinner.js.coffee +35 -0
- data/app/assets/javascripts/alchemy/alchemy.string_extension.js.coffee +11 -0
- data/app/assets/javascripts/alchemy/alchemy.windows.js.coffee +278 -0
- data/app/assets/stylesheets/alchemy/admin.css.scss +2 -0
- data/app/assets/stylesheets/alchemy/archive.scss +109 -65
- data/app/assets/stylesheets/alchemy/base.scss +16 -188
- data/app/assets/stylesheets/alchemy/dashboard.scss +2 -2
- data/app/assets/stylesheets/alchemy/defaults.scss +2 -1
- data/app/assets/stylesheets/alchemy/elements.scss +58 -94
- data/app/assets/stylesheets/alchemy/errors.scss +2 -2
- data/app/assets/stylesheets/alchemy/{mixins.scss → extends.scss} +104 -80
- data/app/assets/stylesheets/alchemy/flash.scss +4 -6
- data/app/assets/stylesheets/alchemy/fonts.scss +46 -0
- data/app/assets/stylesheets/alchemy/form_elements.scss +46 -45
- data/app/assets/stylesheets/alchemy/frame.scss +20 -15
- data/app/assets/stylesheets/alchemy/icons.scss +22 -9
- data/app/assets/stylesheets/alchemy/jquery-ui.scss +476 -399
- data/app/assets/stylesheets/alchemy/login.scss +1 -1
- data/app/assets/stylesheets/alchemy/menubar.css.scss +1 -1
- data/app/assets/stylesheets/alchemy/notices.scss +5 -5
- data/app/assets/stylesheets/alchemy/pagination.scss +25 -13
- data/app/assets/stylesheets/alchemy/search.scss +29 -17
- data/app/assets/stylesheets/alchemy/sitemap.scss +41 -36
- data/app/assets/stylesheets/alchemy/tables.scss +102 -50
- data/app/assets/stylesheets/alchemy/tinymce_dialog.css.scss +18 -16
- data/app/assets/stylesheets/alchemy/toolbar.scss +84 -24
- data/app/assets/stylesheets/alchemy/upload.scss +14 -9
- data/app/assets/stylesheets/alchemy/variables.scss +1 -0
- data/app/assets/stylesheets/tiny_mce/plugins/inlinepopups/skins/alchemy/window.css.scss +18 -21
- data/app/controllers/alchemy/admin/attachments_controller.rb +29 -39
- data/app/controllers/alchemy/admin/base_controller.rb +3 -9
- data/app/controllers/alchemy/admin/clipboard_controller.rb +1 -1
- data/app/controllers/alchemy/admin/contents_controller.rb +1 -1
- data/app/controllers/alchemy/admin/dashboard_controller.rb +1 -1
- data/app/controllers/alchemy/admin/elements_controller.rb +3 -3
- data/app/controllers/alchemy/admin/essence_files_controller.rb +1 -1
- data/app/controllers/alchemy/admin/essence_pictures_controller.rb +5 -5
- data/app/controllers/alchemy/admin/languages_controller.rb +1 -1
- data/app/controllers/alchemy/admin/pages_controller.rb +18 -16
- data/app/controllers/alchemy/admin/pictures_controller.rb +11 -10
- data/app/controllers/alchemy/admin/resources_controller.rb +87 -14
- data/app/controllers/alchemy/admin/tags_controller.rb +3 -3
- data/app/controllers/alchemy/admin/trash_controller.rb +3 -3
- data/app/controllers/alchemy/admin/users_controller.rb +6 -11
- data/app/controllers/alchemy/attachments_controller.rb +8 -9
- data/app/controllers/alchemy/base_controller.rb +17 -10
- data/app/controllers/alchemy/pages_controller.rb +7 -19
- data/app/controllers/alchemy/passwords_controller.rb +15 -3
- data/app/controllers/alchemy/user_sessions_controller.rb +5 -4
- data/app/controllers/alchemy/users_controller.rb +1 -1
- data/app/helpers/alchemy/admin/attachments_helper.rb +2 -2
- data/app/helpers/alchemy/admin/base_helper.rb +62 -90
- data/app/helpers/alchemy/admin/elements_helper.rb +13 -5
- data/app/helpers/alchemy/admin/essences_helper.rb +3 -5
- data/app/helpers/alchemy/admin/pages_helper.rb +6 -3
- data/app/helpers/alchemy/admin/tags_helper.rb +60 -0
- data/app/helpers/alchemy/base_helper.rb +16 -20
- data/app/helpers/alchemy/elements_helper.rb +7 -11
- data/app/helpers/alchemy/essences_helper.rb +2 -2
- data/app/helpers/alchemy/pages_helper.rb +31 -69
- data/app/helpers/alchemy/url_helper.rb +11 -3
- data/app/models/alchemy/attachment.rb +73 -45
- data/app/models/alchemy/cell.rb +1 -1
- data/app/models/alchemy/content.rb +20 -9
- data/app/models/alchemy/element.rb +9 -7
- data/app/models/alchemy/page.rb +15 -248
- data/app/models/alchemy/page/cells.rb +71 -0
- data/app/models/alchemy/page/elements.rb +147 -0
- data/app/models/alchemy/page/naming.rb +90 -0
- data/app/models/alchemy/picture.rb +18 -13
- data/app/models/alchemy/tag.rb +1 -1
- data/app/models/alchemy/user.rb +38 -6
- data/app/views/alchemy/admin/attachments/_archive_overlay.html.erb +14 -7
- data/app/views/alchemy/admin/attachments/_attachment.html.erb +17 -12
- data/app/views/alchemy/admin/attachments/_file_to_assign.html.erb +3 -8
- data/app/views/alchemy/admin/attachments/_files_list.html.erb +20 -12
- data/app/views/alchemy/admin/attachments/_overlay_file_list.html.erb +11 -0
- data/app/views/alchemy/admin/attachments/_tag_list.html.erb +31 -0
- data/app/views/alchemy/admin/attachments/archive_overlay.js.erb +4 -0
- data/app/views/alchemy/admin/attachments/edit.html.erb +8 -7
- data/app/views/alchemy/admin/attachments/index.html.erb +19 -12
- data/app/views/alchemy/admin/attachments/new.html.erb +2 -2
- data/app/views/alchemy/admin/attachments/show.html.erb +3 -0
- data/app/views/alchemy/admin/contents/_missing.html.erb +4 -4
- data/app/views/alchemy/admin/contents/create.js.erb +1 -1
- data/app/views/alchemy/admin/contents/new.html.erb +6 -3
- data/app/views/alchemy/admin/dashboard/_locked_pages.html.erb +1 -1
- data/app/views/alchemy/admin/dashboard/_users.html.erb +1 -1
- data/app/views/alchemy/admin/dashboard/index.html.erb +3 -3
- data/app/views/alchemy/admin/dashboard/info.html.erb +16 -13
- data/app/views/alchemy/admin/elements/_add_picture.html.erb +1 -1
- data/app/views/alchemy/admin/elements/_element_foot.html.erb +4 -4
- data/app/views/alchemy/admin/elements/_element_head.html.erb +1 -7
- data/app/views/alchemy/admin/elements/_elements_select.html.erb +2 -2
- data/app/views/alchemy/admin/elements/_new_element_form.html.erb +4 -4
- data/app/views/alchemy/admin/elements/_picture_gallery_editor.html.erb +1 -1
- data/app/views/alchemy/admin/elements/create.js.erb +2 -2
- data/app/views/alchemy/admin/elements/fold.js.erb +3 -6
- data/app/views/alchemy/admin/elements/new.html.erb +1 -1
- data/app/views/alchemy/admin/elements/order.js.erb +1 -1
- data/app/views/alchemy/admin/elements/trash.js.erb +1 -1
- data/app/views/alchemy/admin/elements/update.js.erb +2 -2
- data/app/views/alchemy/admin/essence_files/edit.html.erb +4 -4
- data/app/views/alchemy/admin/essence_pictures/crop.html.erb +17 -18
- data/app/views/alchemy/admin/essence_pictures/edit.html.erb +2 -2
- data/app/views/alchemy/admin/essence_pictures/update.js.erb +1 -0
- data/app/views/alchemy/admin/languages/_form.html.erb +12 -10
- data/app/views/alchemy/admin/languages/_language.html.erb +2 -1
- data/app/views/alchemy/admin/languages/_table.html.erb +3 -3
- data/app/views/alchemy/admin/languages/index.html.erb +15 -15
- data/app/views/alchemy/admin/layoutpages/_layoutpage.html.erb +6 -6
- data/app/views/alchemy/admin/layoutpages/index.html.erb +41 -40
- data/app/views/alchemy/admin/pages/_contactform_links.html.erb +4 -4
- data/app/views/alchemy/admin/pages/_create_language_form.html.erb +6 -6
- data/app/views/alchemy/admin/pages/_external_link.html.erb +2 -2
- data/app/views/alchemy/admin/pages/_file_link.html.erb +3 -3
- data/app/views/alchemy/admin/pages/_internal_link.html.erb +1 -1
- data/app/views/alchemy/admin/pages/_new_page_form.html.erb +1 -1
- data/app/views/alchemy/admin/pages/_page.html.erb +13 -13
- data/app/views/alchemy/admin/pages/_page_for_links.html.erb +2 -4
- data/app/views/alchemy/admin/pages/_sitemap.html.erb +5 -0
- data/app/views/alchemy/admin/pages/configure.html.erb +7 -7
- data/app/views/alchemy/admin/pages/configure_external.html.erb +4 -4
- data/app/views/alchemy/admin/pages/edit.html.erb +23 -30
- data/app/views/alchemy/admin/pages/index.html.erb +34 -23
- data/app/views/alchemy/admin/pages/new.html.erb +1 -1
- data/app/views/alchemy/admin/pages/sort.js.erb +1 -1
- data/app/views/alchemy/admin/partials/_flash_upload.html.erb +2 -3
- data/app/views/alchemy/admin/partials/_remote_search_form.html.erb +2 -2
- data/app/views/alchemy/admin/partials/_search_form.html.erb +3 -3
- data/app/views/alchemy/admin/partials/_upload_form.html.erb +2 -2
- data/app/views/alchemy/admin/pictures/_archive.html.erb +7 -7
- data/app/views/alchemy/admin/pictures/_archive_overlay.html.erb +1 -1
- data/app/views/alchemy/admin/pictures/_filter_and_size_bar.html.erb +6 -6
- data/app/views/alchemy/admin/pictures/_filter_bar.html.erb +4 -4
- data/app/views/alchemy/admin/pictures/_overlay_picture_list.html.erb +1 -1
- data/app/views/alchemy/admin/pictures/_picture.html.erb +3 -8
- data/app/views/alchemy/admin/pictures/_picture_to_assign.html.erb +9 -14
- data/app/views/alchemy/admin/pictures/_tag_list.html.erb +27 -25
- data/app/views/alchemy/admin/pictures/archive_overlay.js.erb +3 -1
- data/app/views/alchemy/admin/pictures/index.html.erb +49 -42
- data/app/views/alchemy/admin/pictures/new.html.erb +2 -2
- data/app/views/alchemy/admin/pictures/show.html.erb +11 -0
- data/app/views/alchemy/admin/resources/_boolean.html.erb +2 -2
- data/app/views/alchemy/admin/resources/_datetime.html.erb +2 -2
- data/app/views/alchemy/admin/resources/_form.html.erb +9 -8
- data/app/views/alchemy/admin/resources/_resource.html.erb +15 -21
- data/app/views/alchemy/admin/resources/_string.html.erb +2 -2
- data/app/views/alchemy/admin/resources/_table.html.erb +11 -13
- data/app/views/alchemy/admin/resources/_text.html.erb +2 -2
- data/app/views/alchemy/admin/resources/index.csv.erb +13 -0
- data/app/views/alchemy/admin/resources/index.html.erb +24 -15
- data/app/views/alchemy/admin/sites/index.html.erb +23 -0
- data/app/views/alchemy/admin/tags/_radio_tag.html.erb +1 -1
- data/app/views/alchemy/admin/tags/_tag.html.erb +2 -1
- data/app/views/alchemy/admin/tags/edit.html.erb +1 -1
- data/app/views/alchemy/admin/tags/index.html.erb +16 -11
- data/app/views/alchemy/admin/tags/new.html.erb +3 -3
- data/app/views/alchemy/admin/trash/clear.js.coffee +1 -1
- data/app/views/alchemy/admin/users/_table.html.erb +12 -5
- data/app/views/alchemy/admin/users/_user.html.erb +16 -16
- data/app/views/alchemy/admin/users/index.html.erb +28 -16
- data/app/views/alchemy/breadcrumb/_page.html.erb +15 -0
- data/app/views/alchemy/breadcrumb/_spacer.html.erb +1 -0
- data/app/views/alchemy/elements/_editor_not_found.html.erb +1 -1
- data/app/views/alchemy/essences/_essence_file_editor.html.erb +16 -16
- data/app/views/alchemy/essences/_essence_file_view.html.erb +8 -9
- data/app/views/alchemy/essences/_essence_picture_editor.html.erb +3 -6
- data/app/views/alchemy/essences/_essence_picture_tools.html.erb +9 -8
- data/app/views/alchemy/essences/_essence_richtext_editor.html.erb +0 -5
- data/app/views/alchemy/essences/_linkable_essence_tools.html.erb +2 -2
- data/app/views/alchemy/navigation/_link.html.erb +7 -7
- data/app/views/alchemy/navigation/_renderer.html.erb +29 -36
- data/app/views/alchemy/notifications/admin_user_created.de.text.erb +5 -1
- data/app/views/alchemy/notifications/admin_user_created.en.text.erb +5 -1
- data/app/views/alchemy/notifications/registered_user_created.de.text.erb +13 -0
- data/app/views/alchemy/notifications/registered_user_created.en.text.erb +13 -0
- data/app/views/alchemy/search/_result.html.erb +4 -6
- data/app/views/alchemy/search/_results.html.erb +4 -5
- data/app/views/alchemy/user_sessions/leave.html.erb +1 -1
- data/app/views/alchemy/user_sessions/new.html.erb +2 -2
- data/app/views/kaminari/_first_page.html.erb +11 -0
- data/app/views/kaminari/_gap.html.erb +1 -1
- data/app/views/kaminari/_last_page.html.erb +11 -0
- data/app/views/kaminari/_next_page.html.erb +2 -2
- data/app/views/kaminari/_page.html.erb +1 -1
- data/app/views/kaminari/_paginator.html.erb +2 -0
- data/app/views/kaminari/_prev_page.html.erb +2 -2
- data/app/views/layouts/alchemy/admin.html.erb +4 -5
- data/config/alchemy/config.yml +8 -12
- data/config/authorization_rules.rb +4 -3
- data/config/initializers/dragonfly.rb +20 -12
- data/config/locales/alchemy.de.yml +20 -15
- data/config/locales/alchemy.en.yml +15 -10
- data/config/locales/devise.de.yml +1 -0
- data/config/routes.rb +3 -3
- data/{spec/dummy/db/migrate/20121118000000_alchemy_two_point_four.rb → db/migrate/20130214233001_alchemy_two_point_five.rb} +50 -36
- data/db/migrate/20130221200514_migrate_attachments_to_dragonfly.rb +21 -0
- data/db/migrate/20130312205327_change_alchemy_users_role_to_roles.rb +11 -0
- data/lib/alchemy/capistrano.rb +10 -8
- data/lib/alchemy/errors.rb +7 -0
- data/lib/alchemy/filetypes.rb +33 -0
- data/lib/alchemy/i18n.rb +9 -1
- data/lib/alchemy/name_conversions.rb +28 -0
- data/lib/alchemy/page_layout.rb +5 -3
- data/lib/alchemy/resource.rb +132 -29
- data/lib/alchemy/resources_helper.rb +81 -12
- data/lib/alchemy/upgrader.rb +14 -276
- data/lib/alchemy/version.rb +1 -1
- data/lib/alchemy_cms.rb +17 -2
- data/lib/rails/generators/alchemy/deploy_script/templates/deploy.rb.tt +1 -1
- data/lib/rails/generators/alchemy/scaffold/scaffold_generator.rb +1 -1
- data/lib/tasks/alchemy/convert.rake +39 -0
- data/lib/tasks/alchemy/install.rake +4 -6
- data/lib/tasks/alchemy/upgrade.rake +18 -1
- data/spec/controllers/admin/clipboard_controller_spec.rb +4 -4
- data/spec/controllers/admin/elements_controller_spec.rb +23 -23
- data/spec/controllers/admin/pages_controller_spec.rb +15 -0
- data/spec/controllers/admin/resources_controller_spec.rb +1 -11
- data/spec/controllers/admin/trash_controller_spec.rb +9 -9
- data/spec/controllers/attachments_controller_spec.rb +3 -3
- data/spec/controllers/elements_controller_spec.rb +2 -2
- data/spec/controllers/pages_controller_spec.rb +160 -129
- data/spec/controllers/pictures_controller_spec.rb +2 -2
- data/spec/controllers/user_sessions_controller_spec.rb +3 -3
- data/spec/controllers/users_controller_spec.rb +2 -2
- data/spec/dummy/app/models/event.rb +2 -2
- data/spec/dummy/app/models/location.rb +4 -0
- data/spec/dummy/app/views/layouts/application.html.erb +6 -42
- data/spec/dummy/config/routes.rb +1 -1
- data/spec/dummy/db/migrate/20121026104128_create_events.rb +0 -1
- data/{db/migrate/20121118000000_alchemy_two_point_four.rb → spec/dummy/db/migrate/20130214233001_alchemy_two_point_five.rb} +50 -36
- data/spec/dummy/db/migrate/20130221200514_migrate_attachments_to_dragonfly.rb +21 -0
- data/spec/dummy/db/migrate/20130312205327_change_alchemy_users_role_to_roles.rb +11 -0
- data/spec/dummy/db/migrate/20130328101418_create_locations.rb +9 -0
- data/spec/dummy/db/schema.rb +15 -6
- data/spec/factories.rb +4 -4
- data/spec/{integration → features}/admin/link_overlay_spec.rb +0 -0
- data/spec/{integration → features}/admin/modules_integration_spec.rb +1 -1
- data/spec/{integration → features}/admin/pages_controller_spec.rb +9 -4
- data/spec/{integration → features}/admin/picture_library_integration_spec.rb +5 -5
- data/spec/{integration → features}/admin/resources_integration_spec.rb +1 -1
- data/spec/{integration → features}/navigation_spec.rb +0 -0
- data/spec/{integration → features}/pages_controller_spec.rb +42 -112
- data/spec/{integration → features}/picture_security_spec.rb +2 -2
- data/spec/{integration → features}/security_spec.rb +7 -7
- data/spec/{integration → features}/translation_integration_spec.rb +0 -0
- data/spec/helpers/admin/base_helper_spec.rb +0 -50
- data/spec/helpers/admin/tags_helper_spec.rb +53 -0
- data/spec/helpers/base_helper_spec.rb +19 -3
- data/spec/helpers/pages_helper_spec.rb +92 -44
- data/spec/{url_helpers_spec.rb → helpers/picture_url_helpers_spec.rb} +7 -7
- data/spec/helpers/url_helper_spec.rb +92 -72
- data/spec/{config_spec.rb → libraries/config_spec.rb} +0 -0
- data/spec/libraries/resource_spec.rb +215 -76
- data/spec/libraries/resources_helper_spec.rb +70 -28
- data/spec/models/attachment_spec.rb +75 -9
- data/spec/models/clipboard_spec.rb +1 -1
- data/spec/models/element_spec.rb +7 -0
- data/spec/models/page_spec.rb +144 -25
- data/spec/models/picture_spec.rb +5 -5
- data/spec/models/resource_spec.rb +47 -10
- data/spec/models/user_spec.rb +115 -3
- data/spec/{routing_spec.rb → routing/routing_spec.rb} +8 -20
- data/spec/spec_helper.rb +5 -6
- data/spec/support/alchemy/specs_helpers.rb +1 -1
- data/spec/support/ci/install_phantomjs +1 -1
- data/spec/support/image with spaces.png +0 -0
- data/vendor/assets/javascripts/jquery_plugins/jquery.Jcrop.min.js +18 -18
- data/vendor/assets/javascripts/jquery_plugins/{jquery.dialogextend.1_0_1.js → jquery.dialogextend.js} +25 -17
- data/vendor/assets/javascripts/jquery_plugins/jquery.scrollTo.min.js +7 -0
- data/vendor/assets/javascripts/jquery_plugins/jquery.ui.tabspaging.js +7 -7
- data/vendor/assets/javascripts/keymage.min.js +6 -0
- data/vendor/assets/javascripts/spin.min.js +1 -0
- metadata +122 -124
- data/app/assets/images/alchemy/ajax_loader.gif +0 -0
- data/app/assets/images/alchemy/gui/toggle.png +0 -0
- data/app/assets/images/alchemy/image_loader.gif +0 -0
- data/app/assets/images/alchemy/shading.png +0 -0
- data/app/assets/images/alchemy/tabs.gif +0 -0
- data/app/assets/javascripts/alchemy/alchemy.base.js +0 -172
- data/app/assets/javascripts/alchemy/alchemy.datepicker.js +0 -47
- data/app/assets/javascripts/alchemy/alchemy.element_editor_selector.js +0 -91
- data/app/assets/javascripts/alchemy/alchemy.growler.js +0 -46
- data/app/assets/javascripts/alchemy/alchemy.image_cropper.js +0 -60
- data/app/assets/javascripts/alchemy/alchemy.js_extensions.js +0 -15
- data/app/assets/javascripts/alchemy/alchemy.preview_window.js +0 -97
- data/app/assets/javascripts/alchemy/alchemy.windows.js +0 -321
- data/app/models/alchemy/clipboard_spec.rb +0 -0
- data/app/views/alchemy/admin/pictures/show_in_window.html.erb +0 -8
- data/app/views/alchemy/notifications/registered_user_created.text.erb +0 -11
- data/db/migrate/20121121162313_switch_from_fleximage_to_dragonfly.rb +0 -21
- data/db/migrate/20121205155004_create_alchemy_sites.rb +0 -14
- data/db/migrate/20121211163003_add_public_to_alchemy_sites.rb +0 -6
- data/db/migrate/20121220102223_add_aliases_to_site.rb +0 -6
- data/db/migrate/20130110212411_create_alchemy_legacy_page_urls.rb +0 -11
- data/db/migrate/20130121092645_migrate_to_devise.rb +0 -24
- data/spec/alchemy_spec.rb +0 -7
- data/spec/dummy/db/migrate/20121121162313_switch_from_fleximage_to_dragonfly.rb +0 -21
- data/spec/dummy/db/migrate/20121205155004_create_alchemy_sites.rb +0 -14
- data/spec/dummy/db/migrate/20121211163003_add_public_to_alchemy_sites.rb +0 -6
- data/spec/dummy/db/migrate/20121220102223_add_aliases_to_site.rb +0 -6
- data/spec/dummy/db/migrate/20130110212411_create_alchemy_legacy_page_urls.rb +0 -11
- data/spec/dummy/db/migrate/20130121092645_migrate_to_devise.rb +0 -24
- data/vendor/assets/javascripts/jquery_plugins/jquery.scrollTo-1.4.2-min.js +0 -11
@@ -15,7 +15,7 @@
|
|
15
15
|
:remote => true,
|
16
16
|
:method => :post,
|
17
17
|
:class => "element_move_button",
|
18
|
-
:title => _t(
|
18
|
+
:title => _t(:cut_element)
|
19
19
|
) %>
|
20
20
|
<%= link_to(
|
21
21
|
"",
|
@@ -23,14 +23,14 @@
|
|
23
23
|
:remote => true,
|
24
24
|
:method => :post,
|
25
25
|
:class => "element_copy_button",
|
26
|
-
:title => _t(
|
26
|
+
:title => _t(:copy_element)
|
27
27
|
) %>
|
28
28
|
</span>
|
29
29
|
<span class="element_public">
|
30
30
|
<%= f.check_box :public, :id => "element_#{element.id}_public" -%>
|
31
|
-
<%= label_tag "element_#{element.id}_public", _t(
|
31
|
+
<%= label_tag "element_#{element.id}_public", _t(:visible) -%>
|
32
32
|
</span>
|
33
33
|
<button type="submit" class="button">
|
34
|
-
<%= _t(
|
34
|
+
<%= _t(:save) %>
|
35
35
|
</button>
|
36
36
|
</div>
|
@@ -13,14 +13,8 @@
|
|
13
13
|
</span>
|
14
14
|
<%= render_hint_for(element) %>
|
15
15
|
<span class="ajax_folder" <%= element.trashed? ? 'style="display: none"'.html_safe : '' %>>
|
16
|
-
<%= image_tag(
|
17
|
-
"alchemy/ajax_loader.gif",
|
18
|
-
:style => "display: none",
|
19
|
-
:id => "element_#{element.id}_folder_spinner",
|
20
|
-
:class => "element_folder_spinner"
|
21
|
-
) %>
|
22
16
|
<%= link_to('', '#', {
|
23
|
-
:onclick => "Alchemy.toggleElement(#{element.id},
|
17
|
+
:onclick => "Alchemy.toggleElement(#{element.id}, {title: '#{_t('Warning!')}', message: '#{_t(:element_dirty_notice)}', okLabel: '#{_t('Yes')}', cancelLabel: '#{_t('No')}'})",
|
24
18
|
:class => element.folded? ? 'expand_element' : 'fold_element',
|
25
19
|
:title => element.folded? ? _t(:show_element_content) : _t(:hide_element_content),
|
26
20
|
:id => "element_#{element.id}_folder"
|
@@ -1,9 +1,9 @@
|
|
1
1
|
<%= select_tag(
|
2
2
|
"element_from_page_#{@page_id}_to_link",
|
3
3
|
options_for_select(@elements.collect{ |m| [m.display_name_with_preview_text, "##{m.dom_id}"] }),
|
4
|
-
:prompt => _t(
|
4
|
+
:prompt => _t(:choose_element_to_link),
|
5
5
|
:class => "elements_from_page_selector alchemy_selectbox",
|
6
6
|
:onchange => "jQuery('#page_anchor').val(value)",
|
7
|
-
:title => _t(
|
7
|
+
:title => _t(:choose_element_as_target),
|
8
8
|
:autofocus => true
|
9
9
|
) %>
|
@@ -2,7 +2,7 @@
|
|
2
2
|
<%- if @elements.blank? -%>
|
3
3
|
<div class="info with_margin">
|
4
4
|
<%= render_icon('info') %>
|
5
|
-
<%= _t(
|
5
|
+
<%= _t(:no_more_elements_to_add) %>
|
6
6
|
</div>
|
7
7
|
<%- else -%>
|
8
8
|
<%= form_for [:admin, @element], :remote => true, :class => "add_element_content" do |form| %>
|
@@ -10,13 +10,13 @@
|
|
10
10
|
<table>
|
11
11
|
<tr>
|
12
12
|
<td class="label">
|
13
|
-
<%= form.label :name, _t(
|
13
|
+
<%= form.label :name, _t(:element_of_type) %>
|
14
14
|
</td>
|
15
15
|
<td class="select">
|
16
16
|
<%= form.select(
|
17
17
|
'name',
|
18
18
|
@page.can_have_cells? ? grouped_elements_for_select(@elements) : elements_for_select(@elements),
|
19
|
-
{ :prompt => _t(
|
19
|
+
{ :prompt => _t(:select_element) },
|
20
20
|
{ :class => "alchemy_selectbox", :autofocus => true }
|
21
21
|
) -%>
|
22
22
|
</td>
|
@@ -24,7 +24,7 @@
|
|
24
24
|
<tr>
|
25
25
|
<td colspan="2" class="submit">
|
26
26
|
<%= form.hidden_field 'page_id' %>
|
27
|
-
<%= form.button _t(
|
27
|
+
<%= form.button _t(:add), :class => 'button' %>
|
28
28
|
</td>
|
29
29
|
</tr>
|
30
30
|
</table>
|
@@ -1,6 +1,6 @@
|
|
1
1
|
<%- max_image_count = options[:maximum_amount_of_images] || options[:max_images] -%>
|
2
2
|
<div class="content_editor picture_gallery_editor">
|
3
|
-
<label><%= _t("picture_gallery_editor.#{element.name}", :default => _t(
|
3
|
+
<label><%= _t("picture_gallery_editor.#{element.name}", :default => _t(:picture_gallery_editor)) %></label>
|
4
4
|
<div class="picture_gallery_images" id="element_<%= element.id %>_contents">
|
5
5
|
<%- pictures.each do |picture| -%>
|
6
6
|
<%= render_essence_editor(picture, {:dragable => (pictures.size > 1)}.merge(options)) %>
|
@@ -27,7 +27,7 @@ if ($element_area.find('.element_editor').length > 0) {
|
|
27
27
|
$element_area.sortable('refresh');
|
28
28
|
}
|
29
29
|
|
30
|
-
Alchemy.growl('<%= _t(
|
30
|
+
Alchemy.growl('<%= _t(:successfully_added_element) -%>');
|
31
31
|
Alchemy.closeCurrentWindow();
|
32
32
|
|
33
33
|
<% @element.contents.essence_richtexts.each do |content| %>
|
@@ -35,7 +35,7 @@ Alchemy.Tinymce.addEditor('<%= content.form_field_id -%>');
|
|
35
35
|
<% end %>
|
36
36
|
|
37
37
|
Alchemy.PreviewWindow.refresh();
|
38
|
-
Alchemy.
|
38
|
+
Alchemy.ElementEditors.init();
|
39
39
|
|
40
40
|
$el = $('#element_<%= @element.id -%>');
|
41
41
|
$el.trigger('Alchemy.SelectElementEditor');
|
@@ -10,14 +10,14 @@
|
|
10
10
|
|
11
11
|
<% if @error %>
|
12
12
|
|
13
|
-
$("#element_<%= @element.id -%>
|
13
|
+
$("#element_<%= @element.id -%> .spinner").replaceWith("<span class='error_icon' title='<%= @error -%>'>!</span>");
|
14
14
|
|
15
15
|
<% else %>
|
16
16
|
|
17
17
|
$el.replaceWith('<%= escape_javascript render(:partial => "element", :object => @element) -%>');
|
18
18
|
$el = $('#element_<%= @element.id %>');
|
19
19
|
$('#element_area .sortable_cell').sortable('refresh');
|
20
|
-
Alchemy.
|
20
|
+
Alchemy.ElementEditors.reinit($el);
|
21
21
|
|
22
22
|
<% if @element.folded %>
|
23
23
|
|
@@ -34,10 +34,7 @@
|
|
34
34
|
Alchemy.Tinymce.addEditor('<%= content.form_field_id -%>');
|
35
35
|
<% end %>
|
36
36
|
|
37
|
-
Alchemy.
|
38
|
-
Alchemy.Datepicker('input[type="date"]', $el);
|
39
|
-
Alchemy.Buttons.observe($el);
|
40
|
-
Alchemy.overlayObserver("#element_<%= @element.id -%>");
|
37
|
+
Alchemy.GUI.initElement($el);
|
41
38
|
|
42
39
|
<% end %>
|
43
40
|
|
@@ -2,7 +2,7 @@ $('#element_<%= @element.id %>').hide(200, function() {
|
|
2
2
|
$(this).remove();
|
3
3
|
Alchemy.growl('<%= escape_javascript(_t("Element trashed")) %>');
|
4
4
|
$('#element_area .sortable_cell').sortable('refresh');
|
5
|
-
Alchemy.
|
5
|
+
Alchemy.TrashWindow.refresh(<%= @page.id %>);
|
6
6
|
$('#element_trash_button .icon').addClass('full');
|
7
7
|
Alchemy.PreviewWindow.refresh();
|
8
8
|
<% @element.contents.essence_richtexts.each do |content| %>
|
@@ -7,7 +7,7 @@ $('.element_heading .preview_text_quote', $el).html('<%= escape_javascript(@elem
|
|
7
7
|
$('div.content_editor').removeClass('validation_failed');
|
8
8
|
$("#element_<%= @element.id %>_errors").hide();
|
9
9
|
Alchemy.setElementSaved($el);
|
10
|
-
Alchemy.growl('<%= _t(
|
10
|
+
Alchemy.growl('<%= _t(:element_saved) %>');
|
11
11
|
Alchemy.PreviewWindow.refresh();
|
12
12
|
|
13
13
|
<%=raw update_elements_with_essence_selects(@page, @element) %>
|
@@ -19,7 +19,7 @@ $('#element_<%= @element.id %>_errors').html('<%= @error_message %><ul><li><%= @
|
|
19
19
|
$("#element_<%= @element.id %>_errors").show();
|
20
20
|
$('div.content_editor').removeClass('validation_failed');
|
21
21
|
$('<%= @element.contents_with_errors.map { |content| "#" + content_dom_id(content) }.join(", ") %>').addClass('validation_failed');
|
22
|
-
Alchemy.
|
22
|
+
Alchemy.ElementEditors.scrollToElement('#element_<%= @element.id %>');
|
23
23
|
Alchemy.Buttons.enable($el);
|
24
24
|
|
25
25
|
<% end %>
|
@@ -10,9 +10,9 @@
|
|
10
10
|
<%= f.select(
|
11
11
|
"css_class", [
|
12
12
|
[_t("Layout default"), ""],
|
13
|
-
[_t(
|
14
|
-
[_t(
|
15
|
-
[_t(
|
13
|
+
[_t(:above), "no_float"],
|
14
|
+
[_t(:left), "left"],
|
15
|
+
[_t(:right), "right"]
|
16
16
|
],
|
17
17
|
{},
|
18
18
|
:class => 'alchemy_selectbox'
|
@@ -21,7 +21,7 @@
|
|
21
21
|
</tr>
|
22
22
|
<tr>
|
23
23
|
<td colspan="2" class="submit">
|
24
|
-
<%= f.button _t(
|
24
|
+
<%= f.button _t(:save), :class => 'button' %>
|
25
25
|
</td>
|
26
26
|
</tr>
|
27
27
|
</table>
|
@@ -8,23 +8,9 @@
|
|
8
8
|
<%= _t('explain cropping') %>
|
9
9
|
<% end %>
|
10
10
|
<div class="thumbnail_background">
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
<%= image_tag(show_alchemy_picture_path(@essence_picture.picture, :size => '800x600', :format => :png),
|
15
|
-
:id => 'imageToCrop',
|
16
|
-
:onload => %(
|
17
|
-
Alchemy.fadeImage(this, '#jscropper .picture_content_spinner');
|
18
|
-
Alchemy.ImageCropper.init(
|
19
|
-
[#{@initial_box[:x1]}, #{@initial_box[:y1]}, #{@initial_box[:x2]}, #{@initial_box[:y2]}],
|
20
|
-
#{@size_x},
|
21
|
-
#{@size_y},
|
22
|
-
[#{@default_box[:x1]}, #{@default_box[:y1]}, #{@default_box[:x2]}, #{@default_box[:y2]}],
|
23
|
-
#{@ratio},
|
24
|
-
[#{@essence_picture.picture.image_file_width}, #{@essence_picture.picture.image_file_height}]
|
25
|
-
);
|
26
|
-
),
|
27
|
-
:style => "display: none;"
|
11
|
+
<%= image_tag(
|
12
|
+
show_alchemy_picture_path(@essence_picture.picture, :size => '800x600', :format => :png),
|
13
|
+
:id => 'imageToCrop'
|
28
14
|
) %>
|
29
15
|
</div>
|
30
16
|
<%= form_for(
|
@@ -40,7 +26,20 @@
|
|
40
26
|
:onclick => 'Alchemy.ImageCropper.reset()',
|
41
27
|
:class => 'button with_icon'
|
42
28
|
}) %>
|
43
|
-
<%= f.button _t(
|
29
|
+
<%= f.button _t(:apply), :class => 'button' %>
|
44
30
|
<% end %>
|
45
31
|
<% end %>
|
46
32
|
</div>
|
33
|
+
<script type="text/javascript">
|
34
|
+
Alchemy.ImageLoader('#jscropper .thumbnail_background');
|
35
|
+
$('#imageToCrop').load(function() {
|
36
|
+
Alchemy.ImageCropper.init(
|
37
|
+
[<%= @initial_box[:x1] %>, <%= @initial_box[:y1] %>, <%= @initial_box[:x2] %>, <%= @initial_box[:y2] %>],
|
38
|
+
<%= @size_x %>,
|
39
|
+
<%= @size_y %>,
|
40
|
+
[<%= @default_box[:x1] %>, <%= @default_box[:y1] %>, <%= @default_box[:x2] %>, <%= @default_box[:y2] %>],
|
41
|
+
<%= @ratio %>,
|
42
|
+
[<%= @essence_picture.picture.image_file_width %>, <%= @essence_picture.picture.image_file_height %>]
|
43
|
+
);
|
44
|
+
});
|
45
|
+
</script>
|
@@ -49,7 +49,7 @@
|
|
49
49
|
<td class="select">
|
50
50
|
<%= f.select(
|
51
51
|
"css_class",
|
52
|
-
[[_t("Layout default"), ""], [_t(
|
52
|
+
[[_t("Layout default"), ""], [_t(:above), "no_float"], [_t(:left), "left"], [_t(:right), "right"]],
|
53
53
|
{},
|
54
54
|
{:class => 'alchemy_selectbox'}
|
55
55
|
) %>
|
@@ -78,7 +78,7 @@
|
|
78
78
|
<tr>
|
79
79
|
<td colspan="2" class="submit">
|
80
80
|
<%= hidden_field_tag 'content_id', @content.id %>
|
81
|
-
<%= f.button _t(
|
81
|
+
<%= f.button _t(:apply), :class => 'button' %>
|
82
82
|
</td>
|
83
83
|
</tr>
|
84
84
|
</table>
|
@@ -4,5 +4,6 @@
|
|
4
4
|
Alchemy.setElementDirty('#element_<%= @content.element.id %>');
|
5
5
|
<% if @content.ingredient %>
|
6
6
|
$('.thumbnail_background img', '#<%= content_dom_id(@content) %>').replaceWith('<%= essence_picture_thumbnail(@content, @options) %>');
|
7
|
+
Alchemy.ImageLoader('#<%= content_dom_id(@content) %> .thumbnail_background');
|
7
8
|
<% end %>
|
8
9
|
})(jQuery);
|
@@ -1,18 +1,20 @@
|
|
1
|
-
<%= form_for [alchemy, :admin, @language], :
|
1
|
+
<%= form_for [alchemy, :admin, @language], remote: true, html: {style: 'width: 403px'} do |f| %>
|
2
2
|
<div id="errors"></div>
|
3
3
|
<table>
|
4
4
|
<tr>
|
5
5
|
<td class="label"><%= f.label :name %></td>
|
6
|
-
<td class="input"><%= f.text_field :name, :
|
6
|
+
<td class="input"><%= f.text_field :name, class: 'thin_border', autofocus: 'true' %></td>
|
7
7
|
</tr>
|
8
8
|
<tr>
|
9
9
|
<td class="label"><%= f.label :language_code %></td>
|
10
|
-
<td class="input"
|
10
|
+
<td class="input">
|
11
|
+
<%= f.text_field :language_code, class: 'thin_border', placeholder: _t(:language_code_placeholder) %>
|
12
|
+
</td>
|
11
13
|
</tr>
|
12
14
|
<tr>
|
13
15
|
<td class="label"><%= f.label :country_code %>*</td>
|
14
16
|
<td class="input">
|
15
|
-
<%= f.text_field :country_code, :
|
17
|
+
<%= f.text_field :country_code, class: 'thin_border', placeholder: _t(:country_code_placeholder) %>
|
16
18
|
<p class="foot_note">
|
17
19
|
* <%= _t(:country_code_foot_note) %>
|
18
20
|
</p>
|
@@ -20,29 +22,29 @@
|
|
20
22
|
</tr>
|
21
23
|
<tr>
|
22
24
|
<td class="label"><%= f.label :frontpage_name %></td>
|
23
|
-
<td class="input"><%= f.text_field :frontpage_name, :
|
25
|
+
<td class="input"><%= f.text_field :frontpage_name, class: 'thin_border' %></td>
|
24
26
|
</tr>
|
25
27
|
<tr>
|
26
28
|
<td class="label"><%= f.label :page_layout %></td>
|
27
|
-
<td class="input"><%= f.text_field :page_layout, :
|
29
|
+
<td class="input"><%= f.text_field :page_layout, class: 'thin_border' %></td>
|
28
30
|
</tr>
|
29
31
|
<tr>
|
30
32
|
<td></td>
|
31
33
|
<td class="checkbox">
|
32
|
-
<%= f.check_box :public
|
34
|
+
<%= f.check_box :public %>
|
33
35
|
<%= f.label :public %>
|
34
36
|
</td>
|
35
37
|
</tr>
|
36
38
|
<tr>
|
37
39
|
<td></td>
|
38
40
|
<td class="checkbox">
|
39
|
-
<%= f.check_box :default
|
40
|
-
<%= f.label :default
|
41
|
+
<%= f.check_box :default %>
|
42
|
+
<%= f.label :default %>
|
41
43
|
</td>
|
42
44
|
</tr>
|
43
45
|
<tr>
|
44
46
|
<td class="submit" colspan="2">
|
45
|
-
<%= f.button _t(
|
47
|
+
<%= f.button _t(:save), class: 'button' %>
|
46
48
|
</td>
|
47
49
|
</tr>
|
48
50
|
</table>
|
@@ -2,13 +2,13 @@
|
|
2
2
|
<table class="list" id="languages_list">
|
3
3
|
<tr>
|
4
4
|
<th>
|
5
|
-
<%= Alchemy::Language.human_attribute_name(:name) %>
|
5
|
+
<%= sortable_column(Alchemy::Language.human_attribute_name(:name), :column => :name) %>
|
6
6
|
</th>
|
7
7
|
<th>
|
8
|
-
<%= Alchemy::Language.human_attribute_name(:language_code) %>
|
8
|
+
<%= sortable_column(Alchemy::Language.human_attribute_name(:language_code), :column => :language_code) %>
|
9
9
|
</th>
|
10
10
|
<th>
|
11
|
-
<%= Alchemy::Language.human_attribute_name(:country_code) %>
|
11
|
+
<%= sortable_column(Alchemy::Language.human_attribute_name(:country_code), :column => :country_code) %>
|
12
12
|
</th>
|
13
13
|
<th>
|
14
14
|
<%= Alchemy::Language.human_attribute_name(:frontpage_name) %>
|
@@ -1,23 +1,23 @@
|
|
1
|
-
|
1
|
+
<% label_title = _t("Create #{resource_name}", default: _t('Create')) %>
|
2
2
|
|
3
|
-
|
4
|
-
:
|
3
|
+
<% toolbar(
|
4
|
+
buttons: [
|
5
5
|
{
|
6
|
-
:
|
7
|
-
:
|
8
|
-
:
|
9
|
-
:
|
10
|
-
:
|
11
|
-
|
12
|
-
:
|
6
|
+
icon: 'create',
|
7
|
+
label: label_title,
|
8
|
+
url: new_resource_path,
|
9
|
+
title: label_title,
|
10
|
+
hotkey: 'alt-n',
|
11
|
+
overlay_options: {
|
12
|
+
title: label_title,
|
13
|
+
size: "430x400"
|
13
14
|
},
|
14
|
-
:
|
15
|
+
if_permitted_to: [:new, resource_permission_scope]
|
15
16
|
}
|
16
|
-
]
|
17
|
-
|
18
|
-
:search_url => resources_path
|
19
|
-
) -%>
|
17
|
+
]
|
18
|
+
) %>
|
20
19
|
|
21
20
|
<div id="archive_all">
|
21
|
+
<%= resources_header %>
|
22
22
|
<%= render 'table' %>
|
23
23
|
</div>
|
@@ -9,11 +9,11 @@
|
|
9
9
|
render_icon('configure_page'),
|
10
10
|
alchemy.configure_admin_page_path(layoutpage),
|
11
11
|
{
|
12
|
-
:title => _t(
|
12
|
+
:title => _t(:edit_page_properties),
|
13
13
|
:size => '410x150'
|
14
14
|
},
|
15
15
|
:class => '',
|
16
|
-
:title => _t(
|
16
|
+
:title => _t(:edit_page_properties)
|
17
17
|
) -%>
|
18
18
|
<%- end -%>
|
19
19
|
<%- permitted_to?([:new, :destroy, :copy], :alchemy_admin_pages) do -%>
|
@@ -28,13 +28,13 @@
|
|
28
28
|
:remote => true,
|
29
29
|
:method => :post,
|
30
30
|
:class => "",
|
31
|
-
:title => _t(
|
31
|
+
:title => _t(:copy_page)
|
32
32
|
) %>
|
33
33
|
<%- end -%>
|
34
34
|
<%- permitted_to?(:destroy, :alchemy_admin_pages) do -%>
|
35
35
|
<%= link_to_confirmation_window(
|
36
36
|
render_icon('delete_page'),
|
37
|
-
_t(
|
37
|
+
_t(:confirm_to_delete_page),
|
38
38
|
url_for(
|
39
39
|
:controller => 'pages',
|
40
40
|
:action => 'destroy',
|
@@ -42,7 +42,7 @@
|
|
42
42
|
),
|
43
43
|
{
|
44
44
|
:class => "",
|
45
|
-
:title => _t(
|
45
|
+
:title => _t(:delete_page)
|
46
46
|
}
|
47
47
|
) -%>
|
48
48
|
<%- end -%>
|
@@ -53,7 +53,7 @@
|
|
53
53
|
<%= link_to(
|
54
54
|
layoutpage.name,
|
55
55
|
alchemy.edit_admin_page_path(layoutpage),
|
56
|
-
:title => _t(
|
56
|
+
:title => _t(:edit_page),
|
57
57
|
:class => "sitemap_pagename_link #{cycle('even', 'odd')}"
|
58
58
|
) -%>
|
59
59
|
</div>
|