ActionController::Routing::Routes.draw do |map|
# Anything with collapasible tree naivation (i.e. controller includes
# ContentTreeNavigation should have this route added to it's member section
collapsible_navigation = { :expand_item => :post, :collapse_item => :post }
# Job management
map.resources :publishing_jobs,
:member => {
:run => :get,
:download => :get }
map.resource :publishing_logs,
:collection => {
:download => :any }
map.namespace :settings do |settings|
# Users and Roles Administration
settings.resources :roles do |role|
role.resources :users,
:member => {
:suspend => :post,
:activate => :post }
end
# Settings related
settings.resource :basics, :google_webmaster_tools, :panels, :activity_logs
end
# Session / Account related
map.resources :sessions, :my_account_details
# Main Contents Navigation
map.resources :contents,
:collection => { :reorder => :post },
:member => collapsible_navigation \
do |content|
# Install routes from custom content types
for code in EXTRA_ROUTES_INIT_CODE
code[content, map]
end
# Permissions
content.resources :permissions,
:collection => {
:reorder => :post,
:test_form => :get,
:test_result => :get }
content.resource :keywords
# Built in custom content types
content.resource :folders, :file_assets, :textile_pages
end
# Built in custom content types # TODO: Remove in refactor
map.resources :folders, :file_assets, :textile_pages
# Textile editor AJAX calls
map.resource :textile_editor,
:member => collapsible_navigation,
:collection => {
:verify => :post,
:preview => :post,
:add_image => :post,
:link_selector => :get,
:image_search => :get,
:insert_link => :get,
:insert_image => :get }
# Root '/' URL mapping
map.connect '', :controller => 'my_account_details'
end