304 lines
8.6 KiB
Ruby
304 lines
8.6 KiB
Ruby
# rubocop:disable Metrics/BlockLength
|
|
Rails.application.routes.draw do
|
|
mount Rswag::Ui::Engine => '/api-docs'
|
|
mount Rswag::Api::Engine => '/api-docs'
|
|
get 'order_comments/new'
|
|
|
|
get 'comments/new'
|
|
|
|
get 'sessions/new'
|
|
|
|
root to: 'sessions#redirect_to_foodcoop', as: nil
|
|
|
|
scope '/:foodcoop' do
|
|
use_doorkeeper
|
|
|
|
# Root path
|
|
root to: 'home#index'
|
|
|
|
########### Sessions
|
|
|
|
get '/login' => 'sessions#new', as: 'login'
|
|
get '/logout' => 'sessions#destroy', as: 'logout'
|
|
get '/login/forgot_password' => 'login#forgot_password', as: :forgot_password
|
|
post '/login/reset_password' => 'login#reset_password', as: :reset_password
|
|
get '/login/new_password' => 'login#new_password', as: :new_password
|
|
patch '/login/update_password' => 'login#update_password', as: :update_password
|
|
match '/login/accept_invitation/:token' => 'login#accept_invitation', as: :accept_invitation, via: %i[get post]
|
|
resources :sessions, only: %i[new create destroy]
|
|
|
|
get '/foodcoop.css' => 'styles#foodcoop', as: 'foodcoop_css'
|
|
|
|
########### User specific
|
|
|
|
get '/home/profile', as: 'my_profile'
|
|
get '/home/reference_calculator'
|
|
patch '/home/update_profile', as: 'update_profile'
|
|
get '/home/ordergroup' => 'home#ordergroup', as: 'my_ordergroup'
|
|
post '/home/cancel_membership' => 'home#cancel_membership', as: 'cancel_membership'
|
|
|
|
############ Orders, ordering
|
|
|
|
resources :orders do
|
|
member do
|
|
post :finish
|
|
post :add_comment
|
|
post :send_result_to_supplier
|
|
|
|
get :receive
|
|
post :receive
|
|
|
|
get :receive_on_order_article_create
|
|
get :receive_on_order_article_update
|
|
end
|
|
|
|
resources :order_articles
|
|
end
|
|
|
|
resources :pickups, only: [:index] do
|
|
post :document, on: :collection
|
|
end
|
|
|
|
resources :group_orders do
|
|
get :archive, on: :collection
|
|
end
|
|
|
|
resources :group_order_articles
|
|
|
|
resources :order_comments, only: %i[new create]
|
|
|
|
############ Foodcoop orga
|
|
|
|
resources :invites, only: %i[new create]
|
|
|
|
resources :tasks do
|
|
collection do
|
|
get :user
|
|
get :archive
|
|
get :workgroup
|
|
end
|
|
member do
|
|
post :accept
|
|
post :reject
|
|
post :set_done
|
|
end
|
|
end
|
|
|
|
namespace :foodcoop do
|
|
root to: 'users#index'
|
|
|
|
resources :users, only: [:index]
|
|
|
|
resources :ordergroups, only: [:index]
|
|
|
|
resources :workgroups, only: %i[index edit update]
|
|
end
|
|
|
|
########### Article management
|
|
|
|
resources :stock_takings do
|
|
collection do
|
|
get :new_on_stock_article_create
|
|
end
|
|
end
|
|
|
|
resources :stock_articles, controller: 'stockit' do
|
|
get :copy
|
|
collection do
|
|
get :derive
|
|
|
|
get :index_on_stock_article_create
|
|
get :index_on_stock_article_update
|
|
|
|
get :show_on_stock_article_update
|
|
end
|
|
end
|
|
|
|
resources :suppliers do
|
|
get :shared_suppliers, on: :collection
|
|
|
|
resources :deliveries do
|
|
collection do
|
|
post :add_stock_change
|
|
|
|
get :form_on_stock_article_create
|
|
get :form_on_stock_article_update
|
|
end
|
|
end
|
|
|
|
resources :articles do
|
|
get :copy
|
|
collection do
|
|
post :update_selected
|
|
get :edit_all
|
|
post :update_all
|
|
get :upload
|
|
post :parse_upload
|
|
post :create_from_upload
|
|
get :shared
|
|
get :import
|
|
post :sync
|
|
post :update_synchronized
|
|
end
|
|
end
|
|
end
|
|
|
|
|
|
post 'finance/group_order_invoice', to: 'group_order_invoices#create_multiple'
|
|
resources :group_order_invoices
|
|
|
|
resources :article_categories
|
|
|
|
########### Finance
|
|
|
|
namespace :finance do
|
|
root to: 'base#index'
|
|
|
|
resources :order, controller: 'balancing', path: 'balancing' do
|
|
member do
|
|
get :update_summary
|
|
get :edit_note
|
|
put :update_note
|
|
get :edit_transport
|
|
put :update_transport
|
|
|
|
get :confirm
|
|
post :close
|
|
patch :close_direct
|
|
|
|
get :new_on_order_article_create
|
|
get :new_on_order_article_update
|
|
end
|
|
|
|
post :close_all_direct_with_invoice, on: :collection
|
|
end
|
|
|
|
resources :invoices do
|
|
get :attachment
|
|
get :form_on_supplier_id_change, on: :collection
|
|
get :unpaid, on: :collection
|
|
end
|
|
|
|
resources :links, controller: 'financial_links', only: %i[create show] do
|
|
collection do
|
|
get :incomplete
|
|
end
|
|
member do
|
|
get :index_bank_transaction
|
|
put 'bank_transactions/:bank_transaction', action: 'add_bank_transaction', as: 'add_bank_transaction'
|
|
delete 'bank_transactions/:bank_transaction', action: 'remove_bank_transaction', as: 'remove_bank_transaction'
|
|
|
|
get :index_financial_transaction
|
|
put 'financial_transactions/:financial_transaction', action: 'add_financial_transaction',
|
|
as: 'add_financial_transaction'
|
|
delete 'financial_transactions/:financial_transaction', action: 'remove_financial_transaction',
|
|
as: 'remove_financial_transaction'
|
|
|
|
get :index_invoice
|
|
put 'invoices/:invoice', action: 'add_invoice', as: 'add_invoice'
|
|
delete 'invoices/:invoice', action: 'remove_invoice', as: 'remove_invoice'
|
|
|
|
get :new_financial_transaction
|
|
post :create_financial_transaction
|
|
end
|
|
end
|
|
|
|
resources :ordergroups, only: [:index] do
|
|
resources :financial_transactions, as: :transactions
|
|
end
|
|
resources :financial_transactions, as: :foodcoop_financial_transactions, path: 'foodcoop/financial_transactions',
|
|
only: %i[index new create]
|
|
get :transactions, controller: :financial_transactions, action: :index_collection
|
|
delete 'transactions/:id', controller: :financial_transactions, action: :destroy, as: :transaction
|
|
|
|
get 'transactions/new_collection' => 'financial_transactions#new_collection', as: 'new_transaction_collection'
|
|
post 'transactions/create_collection' => 'financial_transactions#create_collection',
|
|
as: 'create_transaction_collection'
|
|
|
|
resources :bank_accounts, only: [:index] do
|
|
member do
|
|
get :assign_unlinked_transactions
|
|
get :import
|
|
post :import
|
|
end
|
|
|
|
resources :bank_transactions, as: :transactions
|
|
end
|
|
|
|
resources :bank_transactions, only: %i[index show]
|
|
end
|
|
|
|
########### Administration
|
|
|
|
namespace :admin do
|
|
root to: 'base#index'
|
|
|
|
resources :finances, only: [:index] do
|
|
get :update_bank_accounts, on: :collection
|
|
get :update_bank_gateways, on: :collection
|
|
get :update_transaction_types, on: :collection
|
|
get :update_supplier_categories, on: :collection
|
|
end
|
|
|
|
resources :bank_accounts
|
|
resources :bank_gateways
|
|
resources :financial_transaction_classes
|
|
resources :financial_transaction_types
|
|
resources :supplier_categories
|
|
|
|
resources :users do
|
|
post :restore, on: :member
|
|
post :sudo, on: :member
|
|
end
|
|
|
|
resources :workgroups do
|
|
get :memberships, on: :member
|
|
end
|
|
|
|
resources :ordergroups do
|
|
get :memberships, on: :member
|
|
end
|
|
|
|
resources :mail_delivery_status, only: %i[index show destroy] do
|
|
delete :index, on: :collection, action: :destroy_all
|
|
end
|
|
|
|
resource :config, only: %i[show update] do
|
|
get :list
|
|
end
|
|
end
|
|
|
|
############## API
|
|
|
|
namespace :api do
|
|
namespace :v1 do
|
|
resource :config, only: [:show]
|
|
resource :navigation, only: [:show]
|
|
|
|
namespace :user do
|
|
root to: 'users#show'
|
|
get :financial_overview, to: 'ordergroup#financial_overview'
|
|
resources :financial_transactions, only: %i[index show create]
|
|
resources :group_order_articles
|
|
end
|
|
|
|
resources :financial_transaction_classes, only: %i[index show]
|
|
resources :financial_transaction_types, only: %i[index show]
|
|
resources :financial_transactions, only: %i[index show]
|
|
resources :orders, only: %i[index show]
|
|
resources :order_articles, only: %i[index show]
|
|
resources :group_order_articles
|
|
resources :article_categories, only: %i[index show]
|
|
end
|
|
end
|
|
|
|
############## Feedback
|
|
|
|
resource :feedback, only: %i[new create], controller: 'feedback'
|
|
|
|
############## The rest
|
|
|
|
resources :users, only: [:index]
|
|
end # End of /:foodcoop scope
|
|
end
|
|
# rubocop:enable Metrics/BlockLength
|