Rails.application.routes.draw do devise_for :users, :controllers => {:registrations => "registrations", :confirmations => 'confirmations', :passwords => 'passwords', :sessions => 'sessions', :omniauth_callbacks => 'users/omniauth_callbacks'} do get "/users/sign_out", :to => "devise/sessions#destroy" end # WAYFless access point - use query param idp get 'auth/shibboleth' => 'users/omniauth_shibboleth_request#redirect', :as => 'user_omniauth_shibboleth' get 'auth/shibboleth/assoc' => 'users/omniauth_shibboleth_request#associate', :as => 'user_shibboleth_assoc' # fix for activeadmin signout bug devise_scope :user do get '/users/sign_out' => 'devise/sessions#destroy' end ActiveAdmin.routes(self) #organisation admin area #match "org/admin/users" => 'organisation_users#admin_index', :as => "org/admin/users" resources :users, :path => 'org/admin/users', only: [] do collection do get 'admin_index' put 'admin_api_update' end end # You can have the root of your site routed with "root" # just remember to delete public/index.html. root :to => 'home#index' get '/:locale' => 'home#index', :as => 'locale_root' scope "(:locale)", locale: /#{I18n.available_locales.join("|")}/ do get "about_us" => 'static_pages#about_us' get "help" => 'static_pages#help' get "roadmap" => 'static_pages#roadmap' get "terms" => 'static_pages#termsuse' get "existing_users" => 'existing_users#index' #post 'contact_form' => 'contacts', as: 'localized_contact_creation' #get 'contact_form' => 'contacts#new', as: 'localized_contact_form' resources :organisations, :path => 'org/admin' do member do get 'children' get 'templates' get 'admin_show' get 'admin_edit' put 'admin_update' end end resources :guidances, :path => 'org/admin/guidance' do member do get 'admin_show' get 'admin_index' get 'admin_edit' get 'admin_new' delete 'admin_destroy' post 'admin_create' put 'admin_update' get 'update_phases', :as => 'update_phases' get 'update_versions', :as => 'update_versions' get 'update_sections', :as => 'update_sections' get 'update_questions', :as => 'update_questions' end end resources :guidance_groups, :path => 'org/admin/guidancegroup' do member do get 'admin_show' get 'admin_new' get 'admin_edit' delete 'admin_destroy' post 'admin_create' put 'admin_update' end end #resource :organisation #resources :splash_logs resources :dmptemplates, :path => 'org/admin/templates' do member do get 'admin_index' get 'admin_template' get 'admin_new' get 'admin_addphase' get 'admin_phase' get 'admin_previewphase' get 'admin_cloneversion' delete 'admin_destroy' delete 'admin_destroyversion' delete 'admin_destroyphase' delete 'admin_destroysection' delete 'admin_destroyquestion' delete 'admin_destroysuggestedanswer' post 'admin_create' post 'admin_createphase' post 'admin_createsection' post 'admin_createquestion' post 'admin_createsuggestedanswer' put 'admin_update' put 'admin_updatephase' put 'admin_updateversion' put 'admin_updatesection' put 'admin_updatequestion' put 'admin_updatesuggestedanswer' end end resources :phases resources :versions resources :sections resources :questions resources :question_themes resources :themes resources :answers resources :plan_sections resources :comments do member do put 'archive' end end resources :projects do resources :plans do member do get 'status' get 'locked' get 'answer' #get 'edit' post 'delete_recent_locks' post 'lock_section', constraints: {format: [:html, :json]} post 'unlock_section', constraints: {format: [:html, :json]} post 'unlock_all_sections' get 'export' get 'warning' get 'section_answers' end end member do get 'share' get 'export' post 'invite' #post 'create' end collection do get 'possible_templates' get 'possible_guidance' end end resources :project_partners resources :project_groups resources :users resources :user_statuses resources :user_types resources :user_role_types resources :user_org_roles resources :organisation_types resources :pages resources :file_types resources :file_uploads namespace :settings do resource :projects resources :plans end resources :token_permission_types, only: [:index] namespace :api, defaults: {format: :json} do namespace :v0 do resources :guidance_groups, only: [:index, :show] resources :plans, only: :create, controller: "projects", path: "plans" resources :templates, only: :index, controller: "dmptemplates", path: "templates" resource :statistics, only: [], controller: "statistics", path: "statistics" do member do get :users_joined get :using_template get :plans_by_template get :plans end end end end get '/api' => redirect('/swagger/dist/index.html?url=/apidocs/api-docs.json') # The priority is based upon order of creation: # first created -> highest priority. # Sample of regular route: # match 'products/:id' => 'catalog#view' # Keep in mind you can assign values other than :controller and :action # Sample of named route: # match 'products/:id/purchase' => 'catalog#purchase', :as => :purchase # This route can be invoked with purchase_url(:id => product.id) # Sample resource route (maps HTTP verbs to controller actions automatically): # resources :products # Sample resource route with options: # resources :products do # member do # get 'short' # post 'toggle' # end # # collection do # get 'sold' # end # end # Sample resource route with sub-resources: # resources :products do # resources :comments, :sales # resource :seller # end # Sample resource route with more complex sub-resources # resources :products do # resources :comments # resources :sales do # get 'recent', :on => :collection # end # end # Sample resource route within a namespace: # namespace :admin do # # Directs /admin/products/* to Admin::ProductsController # # (app/controllers/admin/products_controller.rb) # resources :products # end # See how all your routes lay out with "rake routes" # This is a legacy wild controller route that's not recommended for RESTful applications. # Note: This route will make all actions in every controller accessible via GET requests. # match ':controller(/:action(/:id))(.:format)' end end