Orbit/config/routes.rb

401 lines
14 KiB
Ruby

Orbit::Application.routes.draw do
mount Ckeditor::Engine => '/ckeditor'
# get "robots.txt" => 'robots#index'
devise_for :users do
match "/users_passwd" => "desktop/registrations#update", :as => :users_passwd, :via => :put
end
devise_scope :user do
get 'user_login' => 'sessions#create'
match 'user_logout' => 'sessions#destroy'
end
match "saml_login" => 'saml_logins#index'
mount Resque::Server, :at => "/admin/resque"
mount Rack::GridFS::Endpoint.new(:db => Mongoid.database,:lookup=>:path), :at => "gridfs"
# routes for sinatra app
match '/site/set_registered', :to => CentralServerExchangeApp
match '/site/public_key', :to => CentralServerExchangeApp
match '/site/update', :to => GithubApp
match '/purchase/:type', :to => CentralServerExchangeApp
match 'load_orbit_bar' => 'pages#load_orbit_bar'
# routes for admin
namespace :admin do
match 'user_actions' => 'user_actions#index'
match 'system_preference' => "sites#show_system_preference",:as=>"system_preference"
mount Resque::Server.new, :at => "/resque"
resources :assets do
collection do
post 'file_upload'
get 'delete'
post 'delete_files'
end
end
resources :asset_categories
resources :asset_tags
resources :app_auths
resources :object_auths do
match 'new_interface/:ob_type/:title/new' => "object_auths_new_interface#new" ,:as => :init_ob_auth,:via => :get
match 'new_interface' => "object_auths_new_interface#setting" ,:as => :ob_auth,:via => :get
match 'new_interface' => "object_auths_new_interface#update_setting" ,:as => :ob_auth,:via => :post
match 'new_interface' => "object_auths_new_interface#user_list" ,:as => :ob_auth_show,:via => :put
end
match 'ad_banners/:id/preview' => 'ad_banners#realtime_preview',:as => :realtime_preview_ad_banner,:via => :put
match 'ad_banners/:id/rename' => 'ad_banners#rename',:as => :rename_ad_banner,:via => :post
match 'new_ad_image' => 'ad_images#new',:as => :new_ad_image,:via => :get
match 'new_ad_image' => 'ad_images#create',:as => :create_ad_image,:via => :post
resources :ad_images ,:except => [:show]
resources :ad_banners #do
# collection do
# match 'new_ad_image' => 'ad_images#new',:as => :new_ad_image,:via => :get
# match 'new_ad_image' => 'ad_images#create',:as => :create_ad_image,:via => :post
# end
# resources :ad_images ,:except => [:show]
#end
match 'authorizations/add_roles/:module(/:type(/:id))' => 'authorizations#add_roles', :as => :add_roles_authorizations
match 'authorizations/add_users/:module(/:type(/:id))' => 'authorizations#add_users', :as => :add_users_authorizations
match 'authorizations/modal_select/:module(/:type(/:id))' => 'authorizations#modal_select', :as => :modal_select_authorizations
match 'authorizations/remove_users/:module(/:type(/:id))' => 'authorizations#remove_users', :as => :remove_users_authorizations, :via => :delete
match 'authorizations(/:module(/:type(/:id)))' => 'authorizations#index', :as => :authorizations
resources :dashboards do
collection do
get 'reload_all_content'
get 'reload_most_visited'
get 'reload_recent_update'
end
end
resources :designs do
collection do
get 'upload_package'
get 'delete'
post 'upload_package'
end
member do
post 'edit_file' => 'designs#edit_file'
post 'update_file' => 'designs#update_file'
post 'upload_image' => 'designs#upload_image'
end
end
resources :infos do
get 'add_attribute_field'
end
resources :items
match 'update_position' => 'items#update_position'
resources :links do
member do
get 'delete'
end
end
resources :pages do
collection do
get 'reload_themes'
get 'reload_after_module_changed', :action=>'reload_frontend_pages'
get 'reload_after_list_changed',:action=> 'reload_front_end_setting'
get 'reload_after_widget_field_changed',:action=> 'reload_widget_field'
end
member do
get 'delete'
end
end
resources :module_apps do
# match 'manager_auth_proc' => "module_apps_new_interface#index", :as => :manager_auth_proc, :via => :get
match 'manager_auth_proc' => "module_apps_new_interface#setting" ,:as => :manager_auth_proc,:via => :get
match 'manager_auth_proc' => "module_apps_new_interface#update_setting" ,:as => :manager_auth_proc,:via => :post
match 'manager_auth_proc' => "module_apps_new_interface#user_list" ,:as => :manager_auth_show,:via => :put
resources :app_auths do
member do
match 'remove/:type/:target_id' ,:action=> 'remove',:via => "delete",:as =>:remove
end
end
resources :categories do
member do
post 'toggle'
end
end
member do
match 'assign_manager' ,:action=> 'assign_manager',:via => "post",:as =>:assign_manager
match 'assign_sub_manager' ,:action=> 'assign_sub_manager',:via => "post",:as =>:assign_sub_manager
match 'remove_manager/:app_manager_id' ,:action=> 'remove_manager',:via => "delete",:as =>:remove_manager
match 'remove_sub_manager/:app_sub_manager_id' ,:action=> 'remove_sub_manager',:via => "delete",:as =>:remove_sub_manager
end
end
resources :module_tags do
collection do
post 'delete_tags'
post 'merge'
post 'remove_default'
post 'update_included_default'
end
end
resources :page_parts do
member do
get 'reload_after_widget_field_changed',:action=>'reload_widget_field'
get 'reload_after_module_changed',:action=>'reload_widgets'
get 'reload_after_list_changed',:action=> 'reload_widget_styles'
get 'reload_r_tag_options'
end
end
resources :plugins
resources :purchases do
collection do
get 'install_app'
end
member do
get 'buy_template'
get 'download'
end
end
resources :roles do
get 'role_field'
get 'sub_role_field'
get 'role_status'
get 'role_category'
get 'sub_role'
get 'add_sub_role'
get 'edit_sub_role'
get 'add_attribute_field'
post 'toggle'
post 'sub_role_toggle'
end
resources :role_filters do
post 'toggle'
end
resources :role_statuses do
post 'toggle'
end
resources :role_categorys do
post 'toggle'
end
resources :sites do
get 'mail_setting'
get 'site_info'
get 'search_engine'
get 'sitemap'
get 'sitemap_frontend'
get 'sitemap_toggle', :on => :member
get 'system_info'
get 'ui_theme'
get 'change_design'
get 'preference'
end
get "import_data/get_teacher_data"
get "import_data/get_book_data"
get "import_data/get_conference_data"
get "import_data/get_journal_paper_data"
get "import_data/get_announcement_data"
get "import_data/get_page_data"
get "import_data/sync_book_data"
get "import_data/sync_journal_paper_data"
get "import_data/sync_conference_data"
get "import_data/sync_book_data_auto"
get "import_data/sync_journal_paper_data_auto"
get "import_data/sync_conference_data_auto"
resources :tags do
collection do
post 'add_to_default'
post 'delete_tags'
post 'merge'
end
end
resources :users
resources :users_new_interface do
member do
get 'temp_edit'
end
collection do
get 'edit_order'
post 'update_order'
end
match "edit_passwd" => "users_new_interface#edit_passwd" ,:as => :edit_passwd
end
resources :member_selects do
match 'member_select_search' => "member_selects#member_select_search" ,:as => :member_select_search,:via => "post"
match 'member_select_add' => "member_selects#member_select_add" ,:as => :member_select_add,:via => "post"
collection do
get 'select_members'
post 'set_roles'
post 'set_users'
end
end
match 'module_store' => 'module_store#index'
match 'module_store/show' => 'module_store#show'
match 'template_store' => 'template_store#index'
match 'template_store/template/:id' => 'template_store#show', :as => :template_store_template
end
# end admin
namespace :panel do
resources :users
end
resources :desktop_widgets do
collection do
get 'upload'
get 'delete'
post 'upload'
end
end
match "desktop_themes/settings" => "desktop_themes#settings"
resources :desktop_themes do
collection do
get 'upload'
get 'delete'
post 'upload'
end
end
resources :desktop_apps do
collection do
get 'upload'
get 'delete'
post 'upload'
end
end
match "/desktop/compatibility" => "desktop#compatibility"
match "desktop" => "desktop#index"
match "/desktop/desktop" => "desktop#desktop"
match '/desktop/appactivation'=>'desktop#appactivation'
match '/desktop/app_manager'=>'desktop#app_manager'
match '/desktop/allsections'=>'desktop#allsections'
match '/desktop/settings'=>'desktop#settings'
match '/desktop/get_desktop_settings/'=>'desktop#get_desktop_settings'
match '/desktop/save_desktop_settings/'=>'desktop#save_desktop_settings'
match '/desktop/getgroups/'=>'desktop#getgroups'
match '/desktop/getsectionlist/'=>'desktop#getsectionlist'
match '/desktop/get_themes/'=>'desktop#get_themes'
match '/desktop/sections/'=>'desktop#sections'
match '/desktop/getapplist/'=>'desktop#getapplist'
match '/desktop/getapplistforManager/'=>'desktop#getapplistforManager'
match '/desktop/newpositions/'=>'desktop#newpositions'
match '/desktop/connections/'=>'desktop#connections'
match '/desktop/widget_layout' => 'desktop#widget_layout'
match '/desktop/temp_func/'=>'desktop#temp_func'
# namespace :desktop_research do
match '/twitter/'=>'otheraccounts#twitter'
match '/forgmail/'=>'otheraccounts#gmail'
match '/otheraccounts/getaccounts'=>'otheraccounts#getaccounts'
match '/save_account_info/'=>'otheraccounts#saveaccountinfo'
match '/desktop_appstore/appstore'=>'desktop_appstore#appstore'
match '/desktop_appstore/onlinestore'=>'desktop_appstore#onlinestore'
match '/desktop_appstore/widgets'=>'desktop_appstore#widgets'
match '/desktop_appstore/getuserwidgets'=>'desktop_appstore#getuserwidgets'
match '/desktop_appstore/widgets_settings'=>'desktop_appstore#widgets_settings'
match '/desktop_orbit/orbit' => 'desktop_orbit#orbit'
match '/desktop_orbit/eventajaxload'=> 'desktop_orbit#eventajaxload'
match '/desktop_orbit/gettimelinespan' => 'desktop_orbit#gettimelinespan'
match "/facebook/register_fb" => "facebook#register_fb"
match "/facebook/get_friends" => "facebook#get_friends"
match "/facebook/disconnect" => "facebook#disconnect"
match "/desktop/wallpaper_upload" => "desktop#wallpaper_upload"
#match '/desktop_orbit/eventajaxload' => 'desktop_publications#create_journal'
#match '/desktop_orbit/eventajaxload' => 'desktop_publications#delete_journal'
# match '/desktop_orbit/eventajaxload' => 'desktop_publications#update_journal'
def controller_paths(controller, actions, scope=nil)
actions.each do |action|
if action.eql? 'index'
match "#{controller}" => "#{controller}##{action}", :as => "#{controller}"
else
match "#{controller}/#{action}(/:id)" => "#{controller}##{action}", :as => "#{controller}_#{action}"
end
end
end
controller_paths :front, %w[show_breadcrumb show_banner show_footer show_menu show_page_sub_menu show_site_sub_menu show_sitemap show_tag_cloud]
# controller_paths :mobile, %w[index announcement announcement_content dialog_contact dialog_copyright dialog_language map page page_content]
# scope 'app' do
# controller_paths :mobile, %w[index announcement announcement_content dialog_contact dialog_copyright dialog_language map page page_content]
# end
scope '/mobile(/:app)' do
match '/announcement' => 'mobile#announcement', :as => 'mobile_announcement'
match '/announcement_content/:id' => 'mobile#announcement_content', :as => 'mobile_announcement_content'
match '/dialog_contact' => 'mobile#dialog_contact', :as => 'mobile_dialog_contact'
match '/dialog_copyright' => 'mobile#dialog_copyright', :as => 'mobile_dialog_copyright'
match '/dialog_language' => 'mobile#dialog_language', :as => 'mobile_dialog_language'
match '/map' => 'mobile#map', :as => 'mobile_map'
match '/page' => 'mobile#page', :as => 'mobile_page'
match '/page_content/:id' => 'mobile#page_content', :as => 'mobile_page_content'
root :to => 'mobile#index', :as => 'mobile'
end
match '/panel/orbit_app/widget/:type' => 'pages#index_from_link', :constraints => lambda { |request|
request.query_string.include?("same_page_id=")
}
match '/panel/orbit_app/widget/:type' => 'default_widget#default_widget'
match '/panel/:app_name/front_end/:app_action/:id(/:controller_action)' => 'pages#show_from_link', :constraints => lambda { |request|
!request.query_string.include?("inner=true") && !request.query_string.include?("standalone=true")
}
match '/panel/:app_name/front_end/:app_action' => 'pages#index_from_link', :constraints => lambda { |request|
!request.query_string.include?("inner=true") && !request.query_string.include?("standalone=true")
}
match '/share/:model/:id' => 'application#render_share'
# routes for gridfs files
match "/gridfs/*path" => "gridfs#serve"
# match "/images/*path" => "gridfs#serve_images"
# match "/admin/pages/images/*path" => "gridfs#serve_images"
# routes for pages to generate
match '*page_name' => 'pages#show', :as => :page, :constraints => lambda{|request|
!request.path.starts_with?("/panel")
}
root :to => 'pages#index'
match '/panel/ad_banner/front_end/inner_page/:id' => 'front#show_inner_ad_image', :as => :front_show_inner_ad_image
end