templates/routes.rb
# frozen_string_literal: true
Rails.application.routes.draw do
get '/404' => 'pages#not_found'
get '/about' => 'pages#show_slug', slug: 'about'
get '/about/people' => 'pages#show_slug', slug: 'about_people'
get '/tos' => 'pages#show_slug', slug: 'tos', as: :tos_page
get '/privacy' => 'pages#show_slug', slug: 'privacy', as: :privacy_page
get '/forthcoming' => 'pages#forthcoming'
get '/search' => 'search#index'
mount PdfjsViewer::Rails::Engine, at: '/pdfjs', as: 'pdfjs'
resources :downloads, only: [:show] do
member do
get :preview
end
end
get '/downloads/:id/pdf_proxy(/:s3)',
as: :pdf_proxy_download, to: 'downloads#pdf_proxy', constraints: { s3: %r{[^\/]+} }
resources :explore_curriculum, only: %i(index show)
resources :enhance_instruction, only: :index
resources :find_lessons, only: :index
resources :pages, only: :show
resources :resources, only: :show do
get :pdf_proxy, on: :collection, path: 'pdf-proxy'
end
resource :survey, only: %i(create show)
get '/resources/:id/related_instruction' => 'resources#related_instruction', as: :related_instruction
get '/media/:id' => 'resources#media', as: :media
get '/other/:id' => 'resources#generic', as: :generic
resources :documents, only: :show do
member do
post 'export', to: 'documents#export'
get 'export/status', to: 'documents#export_status'
post 'lti', to: 'documents#show_lti'
end
end
resources :materials, only: :show do
member do
get 'preview/pdf', to: 'materials#preview_pdf'
get 'preview/gdoc', to: 'materials#preview_gdoc'
end
end
devise_for :users, class_name: 'User', controllers: { registrations: 'registrations', sessions: 'sessions' }
authenticate :user do
mount Resque::Server, at: '/queue'
end
namespace :admin do
get '/' => 'welcome#index'
get 'google_oauth2_callback' => 'google_oauth2#callback'
get '/association_picker' => 'association_picker#index'
resources :reading_assignment_texts
resource :resource_bulk_edits, only: %i(new create)
get '/resource_picker' => 'resource_picker#index'
resources :resources, except: :show do
member do
post :export_to_lti_cc, path: 'export-lti-cc'
post :bundle
end
end
resources :pages, except: :show
resources :settings, only: [] do
patch :toggle_editing_enabled, on: :collection
end
resources :users, except: :show do
post :reset_password, on: :member
end
resources :standards, only: %i(index edit update)
resource :sketch_compiler, path: 'sketch-compiler', only: [] do
get '/', to: 'sketch_compilers#new', defaults: { version: 'v1' }
get '/:version/new', to: 'sketch_compilers#new', as: :new
post '/:version/compile', to: 'sketch_compilers#compile', as: :compile
end
resources :documents, except: %i(edit show update) do
collection do
delete :delete_selected, to: 'documents#destroy_selected'
post :reimport_selected
get :import_status, to: 'documents#import_status'
end
end
resources :materials, except: %i(edit show update) do
collection do
delete :delete_selected, to: 'materials#destroy_selected'
post :reimport_selected
get :import_status, to: 'materials#import_status'
end
end
resource :curriculum, only: %i(edit update)
resources :access_codes, except: :show
resource :batch_reimport, only: %i(new create)
end
get '/ExcludeMeGA' => 'analytics_exclusion#exclude'
get '/*slug' => 'resources#show', as: :show_with_slug
root to: 'welcome#index'
end