browsercms 3.1.5 → 3.3.0.beta
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.
- data/app/controllers/cms/base_controller.rb +3 -3
- data/app/controllers/cms/content_block_controller.rb +2 -2
- data/app/controllers/cms/content_controller.rb +5 -4
- data/app/controllers/cms/error_handling.rb +1 -1
- data/app/controllers/cms/routes_controller.rb +4 -5
- data/app/controllers/cms/section_nodes_controller.rb +1 -6
- data/app/controllers/cms/sections_controller.rb +2 -3
- data/app/controllers/cms/tasks_controller.rb +3 -0
- data/app/controllers/cms/users_controller.rb +1 -1
- data/app/helpers/cms/application_helper.rb +137 -34
- data/app/helpers/cms/form_builder.rb +33 -21
- data/app/helpers/cms/page_helper.rb +43 -10
- data/app/helpers/cms/path_helper.rb +1 -1
- data/app/helpers/cms/rendering_helper.rb +3 -4
- data/app/helpers/cms/section_nodes_helper.rb +5 -43
- data/app/models/abstract_file_block.rb +1 -16
- data/app/models/attachment.rb +57 -22
- data/app/models/category.rb +4 -4
- data/app/models/category_type.rb +2 -2
- data/app/models/cms/view_context.rb +46 -0
- data/app/models/connector.rb +7 -6
- data/app/models/content_type.rb +3 -3
- data/app/models/dynamic_view.rb +1 -1
- data/app/models/email_message.rb +2 -2
- data/app/models/file_block.rb +12 -0
- data/app/models/group.rb +4 -4
- data/app/models/group_type.rb +4 -4
- data/app/models/html_block.rb +1 -1
- data/app/models/image_block.rb +12 -0
- data/app/models/link.rb +22 -5
- data/app/models/page.rb +87 -46
- data/app/models/page_route.rb +61 -6
- data/app/models/permission.rb +1 -1
- data/app/models/portlet.rb +14 -4
- data/app/models/section.rb +48 -86
- data/app/models/section_node.rb +25 -40
- data/app/models/site.rb +1 -1
- data/app/models/tag.rb +1 -1
- data/app/models/task.rb +8 -7
- data/app/models/user.rb +2 -7
- data/app/portlets/forgot_password_portlet.rb +6 -2
- data/app/portlets/reset_password_portlet.rb +1 -1
- data/app/views/cms/blocks/_toolbar.html.erb +1 -1
- data/app/views/cms/blocks/_toolbar_for_collection.html.erb +3 -6
- data/app/views/cms/blocks/_toolbar_for_member.html.erb +3 -5
- data/app/views/cms/blocks/edit.html.erb +4 -4
- data/app/views/cms/blocks/index.html.erb +7 -7
- data/app/views/cms/blocks/new.html.erb +4 -4
- data/app/views/cms/blocks/show.html.erb +2 -2
- data/app/views/cms/blocks/usages.html.erb +2 -2
- data/app/views/cms/blocks/versions.html.erb +4 -4
- data/app/views/cms/cache/show.html.erb +2 -2
- data/app/views/cms/categories/_form.html.erb +2 -2
- data/app/views/cms/connectors/new.html.erb +6 -8
- data/app/views/cms/content/no_page.html.erb +1 -1
- data/app/views/cms/content/show.html.erb +2 -7
- data/app/views/cms/dashboard/_page_drafts.html.erb +1 -1
- data/app/views/cms/dashboard/_tasks.html.erb +1 -1
- data/app/views/cms/dashboard/index.html.erb +1 -1
- data/app/views/cms/dynamic_views/_form.html.erb +2 -2
- data/app/views/cms/dynamic_views/index.html.erb +7 -10
- data/app/views/cms/email_messages/show.html.erb +2 -2
- data/app/views/cms/file_blocks/_form.html.erb +4 -4
- data/app/views/cms/form_builder/_cms_fancy_drop_down.html.erb +2 -2
- data/app/views/cms/form_builder/_cms_file_field.html.erb +2 -2
- data/app/views/cms/form_builder/_cms_tag_list.html.erb +2 -2
- data/app/views/cms/form_builder/_cms_text_editor.html.erb +2 -2
- data/app/views/cms/groups/_form.html.erb +5 -5
- data/app/views/cms/groups/_permissions.html.erb +4 -4
- data/app/views/cms/groups/_sections.html.erb +1 -2
- data/app/views/cms/groups/index.html.erb +1 -1
- data/app/views/cms/html_blocks/render.html.erb +1 -1
- data/app/views/cms/image_blocks/_form.html.erb +4 -5
- data/app/views/cms/links/_form.html.erb +1 -1
- data/app/views/cms/links/edit.html.erb +2 -2
- data/app/views/cms/links/new.html.erb +2 -2
- data/app/views/cms/page_routes/_form.html.erb +2 -2
- data/app/views/cms/page_routes/index.html.erb +6 -9
- data/app/views/cms/page_routes/show.html.erb +5 -8
- data/app/views/cms/pages/_edit_connector.html.erb +1 -1
- data/app/views/cms/pages/_form.html.erb +3 -3
- data/app/views/cms/pages/edit.html.erb +2 -2
- data/app/views/cms/pages/new.html.erb +7 -7
- data/app/views/cms/pages/versions.html.erb +4 -4
- data/app/views/cms/redirects/_form.html.erb +2 -2
- data/app/views/cms/redirects/index.html.erb +8 -7
- data/app/views/cms/routes/index.html.erb +2 -2
- data/app/views/cms/section_nodes/_link.html.erb +3 -6
- data/app/views/cms/section_nodes/_node.html.erb +4 -13
- data/app/views/cms/section_nodes/_page.html.erb +7 -13
- data/app/views/cms/section_nodes/_section.html.erb +8 -24
- data/app/views/cms/section_nodes/_section_node.html.erb +10 -0
- data/app/views/cms/section_nodes/index.html.erb +18 -30
- data/app/views/cms/sections/_form.html.erb +4 -6
- data/app/views/cms/sections/edit.html.erb +2 -2
- data/app/views/cms/sections/index.html.erb +3 -3
- data/app/views/cms/sections/new.html.erb +3 -3
- data/app/views/cms/sessions/new.html.erb +3 -3
- data/app/views/cms/shared/_pagination.html.erb +1 -1
- data/app/views/cms/shared/error.html.erb +1 -1
- data/app/views/cms/tags/render.html.erb +2 -2
- data/app/views/cms/tasks/new.html.erb +4 -4
- data/app/views/cms/users/_form.html.erb +3 -3
- data/app/views/cms/users/_toolbar.html.erb +3 -3
- data/app/views/cms/users/change_password.html.erb +5 -5
- data/app/views/cms/users/edit.html.erb +2 -2
- data/app/views/cms/users/index.html.erb +4 -4
- data/app/views/cms/users/new.html.erb +2 -2
- data/app/views/cms/users/show.html.erb +16 -16
- data/app/views/layouts/_cms_toolbar.html.erb +5 -5
- data/app/views/layouts/_page_toolbar.html.erb +11 -11
- data/app/views/layouts/cms/_footer.erb +1 -1
- data/app/views/layouts/cms/_head.html.erb +2 -6
- data/app/views/layouts/cms/administration.html.erb +32 -32
- data/app/views/layouts/cms/content_library.html.erb +5 -5
- data/app/views/layouts/cms/toolbar.html.erb +1 -1
- data/app/views/portlets/email_page/render.html.erb +2 -2
- data/app/views/portlets/forgot_password/render.html.erb +1 -1
- data/app/views/portlets/login/render.html.erb +4 -2
- data/app/views/portlets/reset_password/render.html.erb +1 -1
- data/app/views/tests/pretend/open_with_layout.html.erb +1 -1
- data/bin/bcms +0 -0
- data/bin/bcms-upgrade +232 -0
- data/bin/browsercms +2 -2
- data/browsercms.gemspec +16 -14
- data/db/migrate/20100705083859_browsercms_3_3_0.rb +56 -0
- data/db/seeds.rb +58 -0
- data/doc/guides/html/authentication.html +448 -192
- data/doc/guides/html/build_it_yourself.html +454 -175
- data/doc/guides/html/building_modules.html +451 -220
- data/doc/guides/html/building_templates.html +448 -498
- data/doc/guides/html/content_blocks.html +450 -470
- data/doc/guides/html/customizing_browsercms.html +453 -169
- data/doc/guides/html/deployment_guide.html +443 -82
- data/doc/guides/html/files/bcmsorg.js +28 -0
- data/doc/guides/html/files/clearfix.css +8 -0
- data/doc/guides/html/files/cufon.js +7 -0
- data/doc/guides/html/files/global.css +190 -0
- data/doc/guides/html/files/helvetica.js +91 -0
- data/doc/guides/html/files/jquery.js +11 -0
- data/doc/guides/html/getting_started.html +454 -213
- data/doc/guides/html/index.html +454 -174
- data/doc/guides/html/installing_modules.html +454 -186
- data/doc/guides/html/portlets.html +451 -232
- data/doc/guides/html/user_guide.html +452 -270
- data/doc/guides/html/writing_guides.html +454 -161
- data/lib/acts_as_list.rb +1 -1
- data/lib/browsercms.rb +10 -6
- data/lib/cms/acts.rb +7 -0
- data/lib/cms/authentication.rb +4 -0
- data/lib/cms/authentication/controller.rb +1 -1
- data/lib/cms/behaviors.rb +1 -1
- data/lib/cms/behaviors/archiving.rb +2 -2
- data/lib/cms/behaviors/attaching.rb +28 -43
- data/lib/cms/behaviors/categorizing.rb +1 -1
- data/lib/cms/behaviors/connecting.rb +27 -12
- data/lib/cms/behaviors/dynamic_attributes.rb +8 -5
- data/lib/cms/behaviors/hiding.rb +2 -2
- data/lib/cms/behaviors/publishing.rb +32 -22
- data/lib/cms/behaviors/rendering.rb +41 -18
- data/lib/cms/behaviors/searching.rb +1 -1
- data/lib/cms/behaviors/soft_deleting.rb +58 -29
- data/lib/cms/behaviors/taggable.rb +1 -1
- data/lib/cms/behaviors/userstamping.rb +5 -4
- data/lib/cms/behaviors/versioning.rb +192 -111
- data/lib/cms/content_rendering_support.rb +3 -3
- data/lib/cms/date_picker.rb +23 -0
- data/lib/cms/engine.rb +46 -0
- data/lib/cms/extensions.rb +1 -1
- data/lib/cms/extensions/active_record/errors.rb +2 -2
- data/lib/cms/extensions/hash.rb +4 -2
- data/lib/cms/extensions/string.rb +7 -2
- data/lib/cms/init.rb +32 -21
- data/lib/cms/module.rb +22 -0
- data/lib/cms/module_installation.rb +38 -0
- data/lib/cms/routes.rb +127 -115
- data/lib/cms/version.rb +2 -2
- data/lib/generators/browser_cms.rb +12 -0
- data/lib/generators/browser_cms/cms/USAGE +2 -0
- data/lib/generators/browser_cms/cms/cms_generator.rb +36 -0
- data/{rails_generators/browser_cms → lib/generators/browser_cms/cms}/templates/README +0 -0
- data/{rails_generators/browser_cms_demo_site → lib/generators/browser_cms/demo_site}/USAGE +0 -0
- data/lib/generators/browser_cms/demo_site/demo_site_generator.rb +138 -0
- data/lib/generators/browser_cms/demo_site/templates/demo_site.rake +11 -0
- data/{rails_generators/browser_cms_demo_site/templates/migration.rb → lib/generators/browser_cms/demo_site/templates/migration.erb} +2 -8
- data/lib/generators/cms/content_block/USAGE +22 -0
- data/lib/generators/cms/content_block/content_block_generator.rb +55 -0
- data/{rails_generators → lib/generators/cms}/content_block/templates/_form.html.erb +0 -0
- data/{rails_generators → lib/generators/cms}/content_block/templates/content_block.rb +0 -0
- data/{rails_generators → lib/generators/cms}/content_block/templates/controller.rb +0 -0
- data/{rails_generators → lib/generators/cms}/content_block/templates/functional_test.erb +0 -0
- data/{rails_generators/content_block/templates/migration.rb → lib/generators/cms/content_block/templates/migration.erb} +1 -1
- data/{rails_generators → lib/generators/cms}/content_block/templates/render.html.erb +0 -0
- data/{rails_generators → lib/generators/cms}/content_block/templates/unit_test.erb +0 -0
- data/lib/generators/cms/install/USAGE +8 -0
- data/lib/generators/cms/install/install_generator.rb +20 -0
- data/{rails_generators → lib/generators/cms}/portlet/USAGE +3 -16
- data/lib/generators/cms/portlet/portlet_generator.rb +38 -0
- data/{rails_generators → lib/generators/cms}/portlet/templates/_form.html.erb +0 -0
- data/{rails_generators → lib/generators/cms}/portlet/templates/portlet.rb +0 -0
- data/{rails_generators → lib/generators/cms}/portlet/templates/portlet_helper.rb +0 -0
- data/{rails_generators → lib/generators/cms}/portlet/templates/render.html.erb +0 -0
- data/{rails_generators → lib/generators/cms}/portlet/templates/unit_test.erb +0 -0
- data/{rails_generators → lib/generators/cms}/template/USAGE +1 -1
- data/lib/generators/cms/template/template_generator.rb +18 -0
- data/lib/generators/cms/template/templates/template.erb +2 -0
- data/lib/generators/cms/upgrade_module/README.txt +3 -0
- data/lib/generators/cms/upgrade_module/templates/20100705083859_browsercms_3_3_0.rb +56 -0
- data/lib/generators/cms/upgrade_module/templates/README +1 -0
- data/lib/generators/cms/upgrade_module/templates/USAGE.erb +10 -0
- data/lib/generators/cms/upgrade_module/templates/build_gem.rake +5 -0
- data/lib/generators/cms/upgrade_module/templates/engine.erb +7 -0
- data/lib/generators/cms/upgrade_module/templates/gemspec.erb +25 -0
- data/lib/generators/cms/upgrade_module/templates/gitignore.erb +11 -0
- data/lib/generators/cms/upgrade_module/templates/install.erb +9 -0
- data/lib/generators/cms/upgrade_module/templates/module_file.erb +3 -0
- data/lib/generators/cms/upgrade_module/templates/routes.erb +7 -0
- data/lib/generators/cms/upgrade_module/upgrade_module_generator.rb +61 -0
- data/lib/tasks/build_gem.rake +1 -0
- data/lib/tasks/cms.rake +34 -6
- data/lib/tasks/cucumber.rake +53 -0
- data/lib/tasks/db.rake +2 -2
- data/public/javascripts/cms/application.js +144 -135
- data/public/javascripts/cms/sitemap.js +383 -357
- data/public/javascripts/jquery-ui.js +782 -591
- data/public/javascripts/jquery.cookie.js +38 -43
- data/public/javascripts/jquery.js +13 -8
- data/public/javascripts/jquery.taglist.js +7 -0
- data/public/stylesheets/cms/date_picker.css +49 -40
- data/rails/init.rb +2 -3
- data/templates/blank.rb +13 -7
- data/templates/demo.rb +15 -7
- data/templates/module.rb +12 -75
- metadata +87 -407
- data/app/helpers/cms/content_block_helper.rb +0 -27
- data/app/views/layouts/cms/thickbox.html.erb +0 -24
- data/db/migrate/20120117144039_browsercms315.rb +0 -94
- data/db/migrate/20121114172307_load_seeds.rb +0 -70
- data/lib/cms/addressable.rb +0 -83
- data/lib/cms/error_pages.rb +0 -8
- data/public/images/cms/thickbox/loadingAnimation.gif +0 -0
- data/public/images/cms/thickbox/macFFBgHack.png +0 -0
- data/public/javascripts/jquery.contextMenu.js +0 -211
- data/public/javascripts/jquery.dimensions.js +0 -119
- data/public/javascripts/jquery.thickbox.js +0 -10
- data/public/stylesheets/cms/jquery.contextMenu.css +0 -61
- data/public/stylesheets/cms/thickbox.css +0 -163
- data/rails_generators/browser_cms/USAGE +0 -2
- data/rails_generators/browser_cms/browser_cms_generator.rb +0 -35
- data/rails_generators/browser_cms_demo_site/browser_cms_demo_site_generator.rb +0 -63
- data/rails_generators/content_block/USAGE +0 -32
- data/rails_generators/content_block/content_block_generator.rb +0 -69
- data/rails_generators/portlet/portlet_generator.rb +0 -35
- data/rails_generators/template/template_generator.rb +0 -18
- data/rails_generators/template/templates/template.erb +0 -3
- data/test/custom_assertions.rb +0 -74
- data/test/factories.rb +0 -111
- data/test/factories/sitemap_factories.rb +0 -28
- data/test/fixtures/connectors.yml +0 -97
- data/test/fixtures/content_type_groups.yml +0 -13
- data/test/fixtures/content_types.yml +0 -50
- data/test/fixtures/dynamic_view_versions.yml +0 -26
- data/test/fixtures/dynamic_views.yml +0 -26
- data/test/fixtures/group_permissions.yml +0 -16
- data/test/fixtures/group_sections.yml +0 -31
- data/test/fixtures/group_type_permissions.yml +0 -11
- data/test/fixtures/group_types.yml +0 -25
- data/test/fixtures/groups.yml +0 -25
- data/test/fixtures/html_block_versions.yml +0 -67
- data/test/fixtures/html_blocks.yml +0 -63
- data/test/fixtures/page_versions.yml +0 -265
- data/test/fixtures/pages.yml +0 -85
- data/test/fixtures/permissions.yml +0 -28
- data/test/fixtures/section_nodes.yml +0 -46
- data/test/fixtures/sections.yml +0 -19
- data/test/fixtures/sites.yml +0 -9
- data/test/fixtures/user_group_memberships.yml +0 -11
- data/test/fixtures/users.yml +0 -15
- data/test/functional/cms/cache_controller_test.rb +0 -14
- data/test/functional/cms/categories_controller_test.rb +0 -25
- data/test/functional/cms/connectors_controller_test.rb +0 -60
- data/test/functional/cms/content_block_controller_test.rb +0 -120
- data/test/functional/cms/content_controller_test.rb +0 -439
- data/test/functional/cms/content_types_controller_test.rb +0 -18
- data/test/functional/cms/dashboard_controller_test.rb +0 -16
- data/test/functional/cms/dynamic_views_controller_test.rb +0 -52
- data/test/functional/cms/file_blocks_controller_test.rb +0 -52
- data/test/functional/cms/groups_controller_test.rb +0 -50
- data/test/functional/cms/home_controller_test.rb +0 -156
- data/test/functional/cms/html_blocks_controller_test.rb +0 -164
- data/test/functional/cms/image_blocks_controller_test.rb +0 -82
- data/test/functional/cms/links_controller_test.rb +0 -148
- data/test/functional/cms/pages_controller_test.rb +0 -227
- data/test/functional/cms/portlets_controller_test.rb +0 -67
- data/test/functional/cms/section_nodes_controller_test.rb +0 -112
- data/test/functional/cms/sections_controller_test.rb +0 -227
- data/test/functional/cms/sessions_controller_test.rb +0 -76
- data/test/functional/cms/toolbar_controller_test.rb +0 -64
- data/test/functional/cms/users_controller_test.rb +0 -231
- data/test/functional/tests/pretend_controller_test.rb +0 -57
- data/test/integration/cms/ckeditor_test.rb +0 -30
- data/test/integration/cms/password_management_test.rb +0 -56
- data/test/integration/login_test.rb +0 -14
- data/test/integration/sitemap_performance_test.rb +0 -26
- data/test/selenium-core/Blank.html +0 -7
- data/test/selenium-core/InjectedRemoteRunner.html +0 -8
- data/test/selenium-core/RemoteRunner.html +0 -110
- data/test/selenium-core/SeleniumLog.html +0 -109
- data/test/selenium-core/TestPrompt.html +0 -145
- data/test/selenium-core/TestRunner-splash.html +0 -55
- data/test/selenium-core/TestRunner.hta +0 -176
- data/test/selenium-core/TestRunner.html +0 -176
- data/test/selenium-core/domviewer/butmin.gif +0 -0
- data/test/selenium-core/domviewer/butplus.gif +0 -0
- data/test/selenium-core/domviewer/domviewer.css +0 -298
- data/test/selenium-core/domviewer/domviewer.html +0 -16
- data/test/selenium-core/domviewer/selenium-domviewer.js +0 -205
- data/test/selenium-core/icons/all.png +0 -0
- data/test/selenium-core/icons/continue.png +0 -0
- data/test/selenium-core/icons/continue_disabled.png +0 -0
- data/test/selenium-core/icons/pause.png +0 -0
- data/test/selenium-core/icons/pause_disabled.png +0 -0
- data/test/selenium-core/icons/selected.png +0 -0
- data/test/selenium-core/icons/step.png +0 -0
- data/test/selenium-core/icons/step_disabled.png +0 -0
- data/test/selenium-core/iedoc-core.xml +0 -1515
- data/test/selenium-core/iedoc.xml +0 -1469
- data/test/selenium-core/lib/cssQuery/cssQuery-p.js +0 -6
- data/test/selenium-core/lib/cssQuery/src/cssQuery-level2.js +0 -142
- data/test/selenium-core/lib/cssQuery/src/cssQuery-level3.js +0 -150
- data/test/selenium-core/lib/cssQuery/src/cssQuery-standard.js +0 -53
- data/test/selenium-core/lib/cssQuery/src/cssQuery.js +0 -356
- data/test/selenium-core/lib/prototype.js +0 -2006
- data/test/selenium-core/lib/scriptaculous/builder.js +0 -101
- data/test/selenium-core/lib/scriptaculous/controls.js +0 -815
- data/test/selenium-core/lib/scriptaculous/dragdrop.js +0 -915
- data/test/selenium-core/lib/scriptaculous/effects.js +0 -958
- data/test/selenium-core/lib/scriptaculous/scriptaculous.js +0 -47
- data/test/selenium-core/lib/scriptaculous/slider.js +0 -283
- data/test/selenium-core/lib/scriptaculous/unittest.js +0 -383
- data/test/selenium-core/scripts/find_matching_child.js +0 -69
- data/test/selenium-core/scripts/htmlutils.js +0 -894
- data/test/selenium-core/scripts/injection.html +0 -72
- data/test/selenium-core/scripts/js2html.js +0 -70
- data/test/selenium-core/scripts/narcissus-defs.js +0 -175
- data/test/selenium-core/scripts/narcissus-exec.js +0 -1054
- data/test/selenium-core/scripts/narcissus-parse.js +0 -1003
- data/test/selenium-core/scripts/se2html.js +0 -63
- data/test/selenium-core/scripts/selenium-api.js +0 -2409
- data/test/selenium-core/scripts/selenium-browserbot.js +0 -2203
- data/test/selenium-core/scripts/selenium-browserdetect.js +0 -150
- data/test/selenium-core/scripts/selenium-commandhandlers.js +0 -377
- data/test/selenium-core/scripts/selenium-executionloop.js +0 -175
- data/test/selenium-core/scripts/selenium-logging.js +0 -147
- data/test/selenium-core/scripts/selenium-remoterunner.js +0 -571
- data/test/selenium-core/scripts/selenium-testrunner.js +0 -1333
- data/test/selenium-core/scripts/selenium-version.js +0 -5
- data/test/selenium-core/scripts/user-extensions.js +0 -3
- data/test/selenium-core/scripts/user-extensions.js.sample +0 -75
- data/test/selenium-core/scripts/xmlextras.js +0 -153
- data/test/selenium-core/selenium-logo.png +0 -0
- data/test/selenium-core/selenium-test.css +0 -43
- data/test/selenium-core/selenium.css +0 -299
- data/test/selenium-core/xpath/dom.js +0 -428
- data/test/selenium-core/xpath/misc.js +0 -252
- data/test/selenium-core/xpath/xpath.js +0 -2223
- data/test/selenium/_login_as_cmsadmin.rsel +0 -4
- data/test/selenium/dashboard.rsel +0 -5
- data/test/selenium/html_blocks.rsel +0 -4
- data/test/selenium/login/failed_login.rsel +0 -8
- data/test/selenium/login/successful_login.rsel +0 -9
- data/test/selenium/page_templates.rsel +0 -12
- data/test/selenium/pages/edit_properties.rsel +0 -5
- data/test/selenium/site/view_home_page.rsel +0 -4
- data/test/selenium/sitemap/move_page.rsel +0 -9
- data/test/selenium/sitemap/open_section.rsel +0 -6
- data/test/selenium/sitemap/select_page.rsel +0 -12
- data/test/selenium/sitemap/select_section.rsel +0 -17
- data/test/test_helper.rb +0 -193
- data/test/test_logging.rb +0 -67
- data/test/unit/behaviors/attaching_test.rb +0 -357
- data/test/unit/behaviors/connectable_test.rb +0 -29
- data/test/unit/behaviors/dynamic_attributes_test.rb +0 -38
- data/test/unit/behaviors/publishable_test.rb +0 -84
- data/test/unit/behaviors/searching_test.rb +0 -102
- data/test/unit/behaviors/taggable_test.rb +0 -109
- data/test/unit/behaviors/versioning_test.rb +0 -36
- data/test/unit/extensions/active_record/base_test.rb +0 -10
- data/test/unit/extensions/hash_test.rb +0 -17
- data/test/unit/extensions/integer_test.rb +0 -10
- data/test/unit/helpers/application_helper_test.rb +0 -77
- data/test/unit/helpers/form_builder_test.rb +0 -36
- data/test/unit/helpers/menu_helper_test.rb +0 -242
- data/test/unit/helpers/page_helper_test.rb +0 -67
- data/test/unit/helpers/path_helper_test.rb +0 -57
- data/test/unit/lib/acts_as_content_page_test.rb +0 -72
- data/test/unit/lib/cms/authentication/controller_test.rb +0 -20
- data/test/unit/lib/cms/sitemap_test.rb +0 -206
- data/test/unit/lib/cms_domain_support_test.rb +0 -43
- data/test/unit/lib/command_line_test.rb +0 -70
- data/test/unit/lib/content_block_test.rb +0 -203
- data/test/unit/lib/content_rendering_support_test.rb +0 -40
- data/test/unit/lib/generators_test.rb +0 -40
- data/test/unit/lib/routes_test.rb +0 -57
- data/test/unit/models/attachment_test.rb +0 -116
- data/test/unit/models/category_test.rb +0 -40
- data/test/unit/models/category_type_test.rb +0 -8
- data/test/unit/models/connector_test.rb +0 -152
- data/test/unit/models/content_type_test.rb +0 -56
- data/test/unit/models/email_page_portlet_test.rb +0 -14
- data/test/unit/models/file_block_test.rb +0 -230
- data/test/unit/models/group_test.rb +0 -13
- data/test/unit/models/html_block_test.rb +0 -102
- data/test/unit/models/link_test.rb +0 -52
- data/test/unit/models/page_partial_test.rb +0 -29
- data/test/unit/models/page_route_test.rb +0 -29
- data/test/unit/models/page_template_test.rb +0 -40
- data/test/unit/models/page_test.rb +0 -792
- data/test/unit/models/permission_test.rb +0 -10
- data/test/unit/models/portlet_test.rb +0 -69
- data/test/unit/models/sections_test.rb +0 -264
- data/test/unit/models/site_test.rb +0 -50
- data/test/unit/models/task_test.rb +0 -141
- data/test/unit/models/user_test.rb +0 -352
- data/test/unit/schema_statements_test.rb +0 -41
|
@@ -14,18 +14,18 @@ module Cms
|
|
|
14
14
|
|
|
15
15
|
def handle_not_found_on_page(exception)
|
|
16
16
|
logger.warn "Page Not Found"
|
|
17
|
-
handle_error_with_cms_page(
|
|
17
|
+
handle_error_with_cms_page('/system/not_found', exception, :not_found)
|
|
18
18
|
end
|
|
19
19
|
|
|
20
20
|
def handle_access_denied_on_page(exception)
|
|
21
21
|
logger.warn "Access Denied"
|
|
22
|
-
handle_error_with_cms_page(
|
|
22
|
+
handle_error_with_cms_page('/system/access_denied', exception, :forbidden)
|
|
23
23
|
end
|
|
24
24
|
|
|
25
25
|
def handle_server_error_on_page(exception)
|
|
26
26
|
logger.warn "Exception: #{exception.message}\n"
|
|
27
27
|
logger.warn "#{exception.backtrace.join("\n")}\n"
|
|
28
|
-
handle_error_with_cms_page(
|
|
28
|
+
handle_error_with_cms_page('/system/server_error', exception, :internal_server_error)
|
|
29
29
|
end
|
|
30
30
|
|
|
31
31
|
private
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
module Cms
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
# Helper methods for centralizing Date handling for the CMS.
|
|
5
|
+
# Eventually, we will need a way to handle i18n formatting of dates, but I would also like to have US style dates
|
|
6
|
+
# for US locales (M/d/yy), but since Ruby 1.8.7 and 1.9.2 have different handling of Date.parse, that would take some
|
|
7
|
+
# monkeypatching.
|
|
8
|
+
#
|
|
9
|
+
class DatePicker
|
|
10
|
+
|
|
11
|
+
class << self
|
|
12
|
+
|
|
13
|
+
# Returns the date format that the JQuery selector will need to use.
|
|
14
|
+
def jquery_format
|
|
15
|
+
'yy/mm/dd'
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
def format_for_ui(date)
|
|
19
|
+
date ? date.strftime('%Y/%m/%d') : nil
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|
data/lib/cms/engine.rb
ADDED
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
#puts 'load engine'
|
|
2
|
+
require 'rails'
|
|
3
|
+
require 'cms/module'
|
|
4
|
+
require 'cms/init'
|
|
5
|
+
require 'browsercms'
|
|
6
|
+
|
|
7
|
+
module Cms
|
|
8
|
+
|
|
9
|
+
# Configuring BrowserCMS as an engine. This seems to work, but could probably be cleaned up.
|
|
10
|
+
#
|
|
11
|
+
class Engine < Rails::Engine
|
|
12
|
+
include Cms::Module
|
|
13
|
+
|
|
14
|
+
Cms.add_generator_paths(Cms.root,
|
|
15
|
+
"public/site/**/*",
|
|
16
|
+
"db/seeds.rb")
|
|
17
|
+
|
|
18
|
+
config.action_view.javascript_expansions[:bcms_core] = ['jquery', 'jquery-ui', 'jquery.cookie.js', 'jquery.selectbox-0.5.js', 'jquery.taglist.js', Cms.wysiwig_js, 'cms/application']
|
|
19
|
+
|
|
20
|
+
initializer 'browsercms.add_core_routes', :after=>'action_dispatch.prepare_dispatcher' do |app|
|
|
21
|
+
Rails.logger.debug "Adding Cms::Routes to ActionDispatch"
|
|
22
|
+
::Cms::Engine.add_cms_routes_method
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
initializer 'browsercms.add_load_paths', :after=>'action_controller.deprecated_routes' do |app|
|
|
26
|
+
Rails.logger.debug "Add Cms::Dependencies and other load_path configurations."
|
|
27
|
+
::Cms::Engine.add_cms_load_paths
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
def self.add_cms_routes_method
|
|
31
|
+
ActionDispatch::Routing::Mapper.send :include, Cms::Routes
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
def self.add_cms_load_paths
|
|
35
|
+
ActiveSupport::Dependencies.autoload_paths += %W( #{self.root}/vendor #{self.root}/app/mailers #{self.root}/app/helpers)
|
|
36
|
+
ActiveSupport::Dependencies.autoload_paths += %W( #{self.root}/app/controllers #{self.root}/app/models #{self.root}/app/portlets)
|
|
37
|
+
ActiveSupport::Dependencies.autoload_paths += %W( #{Rails.root}/app/portlets )
|
|
38
|
+
ActiveSupport::Dependencies.autoload_paths += %W( #{Rails.root}/app/portlets/helpers )
|
|
39
|
+
ActionController::Base.append_view_path DynamicView.base_path
|
|
40
|
+
ActionController::Base.append_view_path %W( #{self.root}/app/views)
|
|
41
|
+
|
|
42
|
+
ActionView::Base.default_form_builder = Cms::FormBuilder
|
|
43
|
+
require 'jdbc_adapter' if defined?(JRUBY_VERSION)
|
|
44
|
+
end
|
|
45
|
+
end
|
|
46
|
+
end
|
data/lib/cms/extensions.rb
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
module Cms
|
|
2
2
|
module Extensions
|
|
3
|
-
module
|
|
3
|
+
module ActiveModel
|
|
4
4
|
module Errors
|
|
5
5
|
def add_from_hash(errors)
|
|
6
6
|
errors.each{|k,v| add(k, v) } unless errors.blank?
|
|
@@ -9,4 +9,4 @@ module Cms
|
|
|
9
9
|
end
|
|
10
10
|
end
|
|
11
11
|
end
|
|
12
|
-
|
|
12
|
+
ActiveModel::Errors.send(:include, Cms::Extensions::ActiveModel::Errors)
|
data/lib/cms/extensions/hash.rb
CHANGED
|
@@ -9,12 +9,14 @@ module Cms
|
|
|
9
9
|
# This takes a list of keys and returns a new hash
|
|
10
10
|
# containing the key/values that match the keys passed in.
|
|
11
11
|
# This will also remove the keys from this hash
|
|
12
|
-
|
|
12
|
+
#
|
|
13
|
+
# Note: This behavior is slightly different from ActiveSupport Hash#extract! which can add nil keys if they don't exist.
|
|
14
|
+
def extract_only!(*keys)
|
|
13
15
|
keys.inject({}) do |hash, key|
|
|
14
16
|
hash[key] = delete(key) if has_key?(key)
|
|
15
17
|
hash
|
|
16
18
|
end
|
|
17
|
-
end
|
|
19
|
+
end
|
|
18
20
|
end
|
|
19
21
|
end
|
|
20
22
|
end
|
|
@@ -9,8 +9,13 @@ module Cms
|
|
|
9
9
|
end
|
|
10
10
|
def to_slug
|
|
11
11
|
gsub(/\W+/, ' ').strip.downcase.gsub(/\ +/, '-')
|
|
12
|
-
end
|
|
13
|
-
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
# Allows for conditional pluralization of names where object counts are not singular.
|
|
15
|
+
#
|
|
16
|
+
# @param [Integer] count The number of objects of this string there are.
|
|
17
|
+
# @return [String] Plural of string, unless count == 1
|
|
18
|
+
def pluralize_unless_one(count=nil)
|
|
14
19
|
count == 1 ? self : ActiveSupport::Inflector.pluralize(self)
|
|
15
20
|
end
|
|
16
21
|
end
|
data/lib/cms/init.rb
CHANGED
|
@@ -1,6 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
# Remove when merged into BrowserCMS 3.3.x
|
|
3
|
-
ActiveSupport::Deprecation.silenced = true
|
|
1
|
+
require 'cms/version'
|
|
4
2
|
|
|
5
3
|
module Cms
|
|
6
4
|
class << self
|
|
@@ -19,38 +17,58 @@ module Cms
|
|
|
19
17
|
end
|
|
20
18
|
|
|
21
19
|
# This is called after the environment is ready
|
|
20
|
+
# This all needs to be moved to the Engine
|
|
22
21
|
def init
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
22
|
+
puts "BrowserCMS init has been called!!!!!!!"
|
|
23
|
+
|
|
24
|
+
# ToDo: This is how we are adding new methods to the routes.rb file. Rails 3 might provide more direct way.
|
|
25
|
+
# ActionDispatch::Routing::Mapper.send :include, Cms::Routes
|
|
26
|
+
|
|
27
|
+
#need to add gem's app directories to the load path -
|
|
28
|
+
#the list is taken from what rails has automagically added to $: for the Rails.root dirs
|
|
29
|
+
# ActiveSupport::Dependencies.autoload_paths += %W( #{self.root}/vendor #{self.root}/app/mailers #{self.root}/app/helpers)
|
|
30
|
+
# ActiveSupport::Dependencies.autoload_paths += %W( #{self.root}/app/controllers #{self.root}/app/models #{self.root}/app/portlets)
|
|
31
|
+
# ActiveSupport::Dependencies.autoload_paths += %W( #{Rails.root}/app/portlets )
|
|
32
|
+
# ActiveSupport::Dependencies.autoload_paths += %W( #{Rails.root}/app/portlets/helpers )
|
|
33
|
+
# ActionController::Base.append_view_path DynamicView.base_path
|
|
34
|
+
# ActionController::Base.append_view_path %W( #{self.root}/app/views)
|
|
35
|
+
|
|
36
|
+
# ActionView::Base.default_form_builder = Cms::FormBuilder
|
|
28
37
|
|
|
29
38
|
# ActiveRecord JDBC adapter depends on no database connection having
|
|
30
39
|
# been established to work properly.
|
|
31
|
-
require 'jdbc_adapter' if defined?(JRUBY_VERSION)
|
|
40
|
+
# require 'jdbc_adapter' if defined?(JRUBY_VERSION)
|
|
32
41
|
|
|
33
42
|
# This is just to be safe
|
|
34
43
|
# dynamic views are stored in a tmp dir
|
|
35
44
|
# so they could be blown away on a server restart or something
|
|
36
45
|
# so this just makes sure they get written out
|
|
37
|
-
|
|
46
|
+
|
|
47
|
+
# Commenting out, as the app/model files don't seem to have been loaded yet at this point, so
|
|
48
|
+
# we are getting class errors w/ STI.
|
|
49
|
+
|
|
50
|
+
# DynamicView.write_all_to_disk! if DynamicView.table_exists?
|
|
38
51
|
end
|
|
39
52
|
|
|
40
53
|
# This is used by CMS modules to register with the CMS generator
|
|
41
54
|
# which files should be copied over to the app when the CMS generator is run.
|
|
42
55
|
# src_root is the absolute path to the root of the files,
|
|
43
56
|
# then each argument after that is a Dir.glob pattern string.
|
|
57
|
+
#
|
|
58
|
+
# @param [String] src_root The root directory of the gem
|
|
59
|
+
# @param [Array of String] files A list of all file names to be copied
|
|
44
60
|
def add_generator_paths(src_root, *files)
|
|
45
61
|
generator_paths << [src_root, files]
|
|
46
62
|
end
|
|
47
|
-
|
|
63
|
+
|
|
64
|
+
alias_method :add_paths_to_copied_into_project, :add_generator_paths
|
|
65
|
+
|
|
48
66
|
def generator_paths
|
|
49
67
|
@generator_paths ||= []
|
|
50
68
|
end
|
|
51
69
|
|
|
52
70
|
def add_to_rails_paths(path)
|
|
53
|
-
ActiveSupport::Dependencies.
|
|
71
|
+
ActiveSupport::Dependencies.autoload_paths << File.join(path, "app", "portlets")
|
|
54
72
|
end
|
|
55
73
|
|
|
56
74
|
def add_to_routes(route)
|
|
@@ -104,16 +122,9 @@ module Cms
|
|
|
104
122
|
end
|
|
105
123
|
end
|
|
106
124
|
|
|
107
|
-
|
|
125
|
+
Time::DATE_FORMATS.merge!(
|
|
108
126
|
:year_month_day => '%Y/%m/%d',
|
|
109
127
|
:date => '%m/%d/%Y'
|
|
110
128
|
)
|
|
111
129
|
|
|
112
|
-
|
|
113
|
-
"public/javascripts/jquery*",
|
|
114
|
-
"public/javascripts/cms/**/*",
|
|
115
|
-
"public/bcms/ckeditor/**/*",
|
|
116
|
-
"public/site/**/*",
|
|
117
|
-
"public/stylesheets/cms/**/*",
|
|
118
|
-
"public/images/cms/**/*",
|
|
119
|
-
"db/migrate/[0-9]*_*.rb")
|
|
130
|
+
|
data/lib/cms/module.rb
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
module Cms
|
|
2
|
+
|
|
3
|
+
# All BrowserCMS modules will:
|
|
4
|
+
# 1. Add app/portlets to the loadpath
|
|
5
|
+
# 2. Serve static assets from their public directory.
|
|
6
|
+
module Module
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
def self.included(base)
|
|
10
|
+
# Make sure class in app/portlets are in the load_path
|
|
11
|
+
portlets_dir = File.join("..", "..", "app", "portlets")
|
|
12
|
+
base.config.autoload_paths << portlets_dir
|
|
13
|
+
|
|
14
|
+
base.initializer "browsercms.enable_serving_static_assets" do |app|
|
|
15
|
+
app.middleware.use ::ActionDispatch::Static, "#{root}/public"
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
end
|
|
22
|
+
end
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# Provides a base class for Module installation generators.
|
|
2
|
+
#
|
|
3
|
+
# This strategy assumes that modules will subclass this, and copy files from their db/migrate directory.
|
|
4
|
+
# Usage:
|
|
5
|
+
#
|
|
6
|
+
# require 'cms/module_installation'
|
|
7
|
+
# class MyModule::InstallGenerator < Cms::ModuleInstallation
|
|
8
|
+
# add_migrations_directory_to_source_root __FILE__
|
|
9
|
+
# copy_migration_file 'DATE_STAMP_create_some_block_name.rb'
|
|
10
|
+
# end
|
|
11
|
+
#
|
|
12
|
+
class Cms::ModuleInstallation < Rails::Generators::Base
|
|
13
|
+
|
|
14
|
+
# This will be relative to the gem
|
|
15
|
+
# e.g. add_migrations_directory_to_source_root __FILE__
|
|
16
|
+
def self.add_migrations_directory_to_source_root(generator_file_object)
|
|
17
|
+
source_root File.expand_path('../../../../../db/migrate/', generator_file_object)
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
# Add a migration file to the list of files to be copied from this gem into the project.
|
|
21
|
+
def self.copy_migration_file(name_of_file)
|
|
22
|
+
@migration_files = [] unless @migration_files
|
|
23
|
+
@migration_files << name_of_file
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
def self.migration_files
|
|
27
|
+
@migration_files
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
def copy_migrations_to_project
|
|
31
|
+
if self.class.migration_files
|
|
32
|
+
self.class.migration_files.each do |file_name|
|
|
33
|
+
copy_file file_name, "db/migrate/#{file_name}"
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
end
|
data/lib/cms/routes.rb
CHANGED
|
@@ -1,136 +1,148 @@
|
|
|
1
1
|
module Cms::Routes
|
|
2
2
|
|
|
3
|
+
|
|
4
|
+
# Adds all necessary routes to manage a new content type. Works very similar to the Rails _resources_ method, adding basic CRUD routes, as well as additional ones
|
|
5
|
+
# for CMS specific routes (like versioning)
|
|
3
6
|
#
|
|
4
|
-
# content_block_name -
|
|
5
|
-
|
|
6
|
-
def content_blocks(content_block_name, options={}, &block)
|
|
7
|
+
# @params [Symbol] content_block_name - The plural name of a new Content Type. Should match the name of the content_block, like :dogs or :donation_statuses
|
|
8
|
+
def content_blocks(content_block_name, options={}, & block)
|
|
7
9
|
content_block = content_block_name.to_s.classify.constantize
|
|
8
|
-
resources
|
|
10
|
+
resources content_block_name do
|
|
11
|
+
member do
|
|
12
|
+
put :publish if content_block.publishable?
|
|
13
|
+
get :versions if content_block.versioned?
|
|
14
|
+
get :usages if content_block.connectable?
|
|
15
|
+
end
|
|
16
|
+
end
|
|
9
17
|
if content_block.versioned?
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
# So for now I'm just hard-coding the stuff related to the CMS namespace
|
|
13
|
-
send("version_cms_#{content_block_name}".to_sym,
|
|
14
|
-
"/cms/#{content_block_name}/:id/version/:version",
|
|
15
|
-
:controller => "cms/#{content_block_name}",
|
|
16
|
-
:action => "version",
|
|
17
|
-
:conditions => {:method => :get})
|
|
18
|
-
send("revert_to_cms_#{content_block_name}".to_sym,
|
|
19
|
-
"/cms/#{content_block_name}/:id/revert_to/:version",
|
|
20
|
-
:controller => "cms/#{content_block_name}",
|
|
21
|
-
:action => "revert_to",
|
|
22
|
-
:conditions => {:method => :put})
|
|
18
|
+
send("get", "/#{content_block_name}/:id/version/:version", :to=>"#{content_block_name}#version", :as=>"version_cms_#{content_block_name}".to_sym)
|
|
19
|
+
send("put", "/#{content_block_name}/:id/revert_to/:version", :to=>"#{content_block_name}#revert_to", :as=>"revert_to_cms_#{content_block_name}".to_sym)
|
|
23
20
|
end
|
|
24
21
|
end
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
22
|
+
|
|
23
|
+
# Adds the routes required for BrowserCMS to function to a routes.rb file. Should be the last route in the file, as
|
|
24
|
+
# all following routes will be ignored.
|
|
25
|
+
#
|
|
26
|
+
# Usage:
|
|
27
|
+
# YourAppName::Application.routes.draw do
|
|
28
|
+
# match '/some/path/in/your/app' :to=>"controller#action''
|
|
29
|
+
# routes_for_browser_cms
|
|
30
|
+
# end
|
|
31
|
+
#
|
|
34
32
|
def routes_for_browser_cms
|
|
35
33
|
|
|
36
|
-
namespace
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
:move_after => :put,
|
|
72
|
-
:move_to_beginning => :put,
|
|
73
|
-
:move_to_end => :put,
|
|
74
|
-
:move_to_root => :put
|
|
75
|
-
}
|
|
76
|
-
cms.attachment '/attachments/:id', :controller => 'attachments', :action => 'show'
|
|
77
|
-
|
|
78
|
-
cms.resources :tasks, :member => {:complete => :put}, :collection => {:complete => :put}
|
|
79
|
-
cms.toolbar '/toolbar', :controller => 'toolbar'
|
|
80
|
-
|
|
81
|
-
# TODO: Make an actual content library controller
|
|
82
|
-
# that redirects to the last content type you were working on
|
|
83
|
-
cms.content_library '/content_library', :controller => 'html_blocks'
|
|
84
|
-
|
|
85
|
-
cms.content_blocks :html_blocks
|
|
86
|
-
cms.content_blocks :portlets, :member => {:usages => :get}
|
|
87
|
-
cms.handler "/portlet/:id/:handler",
|
|
88
|
-
:controller => "portlet",
|
|
89
|
-
:action => "execute_handler",
|
|
90
|
-
:conditions => {:method => :post}
|
|
91
|
-
|
|
92
|
-
cms.content_blocks :file_blocks
|
|
93
|
-
cms.content_blocks :image_blocks
|
|
94
|
-
cms.content_blocks :category_types
|
|
95
|
-
cms.content_blocks :categories
|
|
96
|
-
cms.content_blocks :tags
|
|
97
|
-
|
|
98
|
-
cms.administration '/administration', :controller => 'users'
|
|
99
|
-
|
|
100
|
-
cms.with_options :controller => "cache" do |cache|
|
|
101
|
-
cache.cache "/cache", :action => "show", :conditions => {:method => :get}
|
|
102
|
-
cache.connect "/cache", :action => "destroy", :conditions => {:method => :delete}
|
|
34
|
+
namespace :cms do
|
|
35
|
+
|
|
36
|
+
match '/dashboard', :to=>"dashboard#index", :as=>'dashboard'
|
|
37
|
+
match '/', :to => 'home#index', :as=>'home'
|
|
38
|
+
match '/sitemap', :to=>"section_nodes#index", :as=>'sitemap'
|
|
39
|
+
match '/content_library', :to=>"html_blocks#index", :as=>'content_library'
|
|
40
|
+
match '/administration', :to=>"users#index", :as=>'administration'
|
|
41
|
+
match '/logout', :to=>"sessions#destroy", :as=>'logout'
|
|
42
|
+
get '/login', :to=>"sessions#new", :as=>'login'
|
|
43
|
+
post '/login', :to=>"sessions#create"
|
|
44
|
+
|
|
45
|
+
match '/toolbar', :to=>"toolbar#index", :as=>'toolbar'
|
|
46
|
+
match '/content_types', :to=>"content_types#index", :as=>'content_types'
|
|
47
|
+
|
|
48
|
+
resources :connectors do
|
|
49
|
+
member do
|
|
50
|
+
put :move_up
|
|
51
|
+
put :move_down
|
|
52
|
+
put :move_to_bottom
|
|
53
|
+
put :move_to_top
|
|
54
|
+
end
|
|
55
|
+
end
|
|
56
|
+
resources :links
|
|
57
|
+
|
|
58
|
+
resources :pages do
|
|
59
|
+
member do
|
|
60
|
+
put :archive
|
|
61
|
+
put :hide
|
|
62
|
+
put :publish
|
|
63
|
+
get :versions
|
|
64
|
+
end
|
|
65
|
+
collection do
|
|
66
|
+
put :publish
|
|
67
|
+
end
|
|
68
|
+
resources :tasks
|
|
103
69
|
end
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
70
|
+
get '/pages/:id/version/:version', :to=>'pages#version', :as=>'version_cms_page'
|
|
71
|
+
put '/pages/:id/revert_to/:version', :to=>'pages#revert_to', :as=>'revert_to_cms_page'
|
|
72
|
+
resources :tasks do
|
|
73
|
+
member do
|
|
74
|
+
put :complete
|
|
75
|
+
end
|
|
76
|
+
collection do
|
|
77
|
+
put :complete
|
|
78
|
+
end
|
|
113
79
|
end
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
:update_password => :put,
|
|
118
|
-
:disable => :put,
|
|
119
|
-
:enable => :put
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
if RAILS_ENV == "test" && File.expand_path(RAILS_ROOT) == File.expand_path(File.dirname(__FILE__) + "/../..")
|
|
123
|
-
cms.content_blocks :content_block
|
|
80
|
+
match '/sections/file_browser.xml', :to => 'sections#file_browser', :format => "xml", :as=>'file_browser'
|
|
81
|
+
resources :sections do
|
|
82
|
+
resources :links, :pages
|
|
124
83
|
end
|
|
125
|
-
|
|
84
|
+
|
|
85
|
+
resources :section_nodes do
|
|
86
|
+
member do
|
|
87
|
+
put :move_before
|
|
88
|
+
put :move_after
|
|
89
|
+
put :move_to_beginning
|
|
90
|
+
put :move_to_end
|
|
91
|
+
put :move_to_root
|
|
92
|
+
end
|
|
93
|
+
end
|
|
94
|
+
match '/attachments/:id', :to => 'attachments#show', :as=>'attachment'
|
|
95
|
+
|
|
96
|
+
match '/content_library', :to=>'html_blocks#index', :as=>'content_library'
|
|
97
|
+
content_blocks :html_blocks
|
|
98
|
+
content_blocks :portlets
|
|
99
|
+
post '/portlet/:id/:handler', :to=>"portlet#execute_handler"
|
|
100
|
+
|
|
101
|
+
content_blocks :file_blocks
|
|
102
|
+
content_blocks :image_blocks
|
|
103
|
+
content_blocks :category_types
|
|
104
|
+
content_blocks :categories
|
|
105
|
+
content_blocks :tags
|
|
106
|
+
|
|
107
|
+
match '/administration', :to => 'users#index', :as=>'administration'
|
|
108
|
+
|
|
109
|
+
resources :users do
|
|
110
|
+
member do
|
|
111
|
+
get :change_password
|
|
112
|
+
put :update_password
|
|
113
|
+
put :disable
|
|
114
|
+
put :enable
|
|
115
|
+
end
|
|
116
|
+
end
|
|
117
|
+
resources :email_messages
|
|
118
|
+
resources :groups
|
|
119
|
+
resources :redirects
|
|
120
|
+
resources :page_partials, :controller => 'dynamic_views'
|
|
121
|
+
resources :page_templates, :controller => 'dynamic_views'
|
|
122
|
+
resources :page_routes do
|
|
123
|
+
resources :conditions, :controller => "page_route_conditions"
|
|
124
|
+
resources :requirements, :controller => "page_route_requirements"
|
|
125
|
+
end
|
|
126
|
+
get 'cache', :to=>'cache#show', :as=>'cache'
|
|
127
|
+
delete 'cache', :to=>'cache#destroy'
|
|
128
|
+
|
|
129
|
+
# This is only for testing, and should be moved to the config/routes.rb file eventually.
|
|
130
|
+
# content_blocks :sample_blocks
|
|
131
|
+
|
|
132
|
+
match "/routes", :to => "routes#index", :as=>'routes'
|
|
133
|
+
|
|
126
134
|
end
|
|
127
135
|
|
|
136
|
+
# Loads all Cms PageRoutes from the database
|
|
137
|
+
# TODO: Needs a integration/functional level test to verify that a page route w/ constraints will be correctly mapped.
|
|
128
138
|
if PageRoute.table_exists?
|
|
129
139
|
PageRoute.all(:order => "page_routes.name").each do |r|
|
|
130
|
-
|
|
140
|
+
match r.pattern, :to=>r.to, :as=>r.route_name, :_page_route_id=>r.page_route_id, :via=>r.via, :constraints=>r.constraints
|
|
131
141
|
end
|
|
132
142
|
end
|
|
133
143
|
|
|
134
|
-
|
|
144
|
+
match "/", :to=>"cms/content#show"
|
|
145
|
+
match "*path", :to=>"cms/content#show"
|
|
135
146
|
end
|
|
147
|
+
|
|
136
148
|
end
|