From 4c0538c349529b9d93b4aa713960c35c5f70e076 Mon Sep 17 00:00:00 2001 From: Karel Picman Date: Fri, 10 Mar 2017 10:04:23 +0100 Subject: [PATCH] Anoption to switch on/off the plugin --- config/routes.rb | 241 ++++++++++++++++++++++++----------------------- 1 file changed, 122 insertions(+), 119 deletions(-) diff --git a/config/routes.rb b/config/routes.rb index 5f442a93..f8a18660 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -20,139 +20,142 @@ # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -RedmineApp::Application.routes.draw do - # - # dmsf controller - # /projects//dmsf - # [As this controller also processes 'folders' it maybe better to branch into a folder route rather than leaving it as is] - ## - post '/projects/:id/dmsf/create', :controller => 'dmsf', :action => 'create' - get '/projects/:id/dmsf/notify/activate', :controller => 'dmsf', :action => 'notify_activate', :as => 'notify_activate_dmsf' - get '/projects/:id/dmsf/notify/deactivate', :controller => 'dmsf', :action => 'notify_deactivate', :as => 'notify_deactivate_dmsf' - get '/projects/:id/dmsf/delete', :controller => 'dmsf', :action => 'delete', :as => 'delete_dmsf' - post '/projects/:id/dmsf/save', :controller => 'dmsf', :action => 'save' - post '/projects/:id/dmsf/save/root', :controller => 'dmsf', :action => 'save_root' - post '/projects/:id/dmsf/entries', :controller => 'dmsf', :action => 'entries_operation' - post '/projects/:id/dmsf/tag_changed', :controller => 'dmsf', :action => 'tag_changed', :as => 'tag_changed' - post '/projects/:id/dmsf/entries/delete', :controller => 'dmsf', :action => 'delete_entries', :as => 'delete_entries' - post '/projects/:id/dmsf/entries/email', :to => 'dmsf#entries_email', :as => 'email_entries' - get '/projects/:id/dmsf/entries/download_email_entries', :controller => 'dmsf', :action => 'download_email_entries', :as => 'download_email_entries' - get '/projects/:id/dmsf/lock', :controller => 'dmsf', :action => 'lock', :as => 'lock_dmsf' - get '/projects/:id/dmsf/unlock', :controller => 'dmsf', :action => 'unlock', :as => 'unlock_dmsf' - get '/projects/:id/dmsf/', :controller => 'dmsf', :action => 'show', :as => 'dmsf_folder' - get '/projects/:id/dmsf/new', :controller => 'dmsf', :action => 'new', :as => 'new_dmsf' - get '/projects/:id/dmsf/edit', :controller => 'dmsf', :action => 'edit', :as => 'edit_dmsf' - get '/projects/:id/dmsf/edit/root', :controller => 'dmsf', :action => 'edit_root', :as => 'edit_root_dmsf' - get '/projects/:id/dmsf/trash', :controller => 'dmsf', :action => 'trash', :as => 'trash_dmsf' - get '/projects/:id/dmsf/restore', :controller => 'dmsf', :action => 'restore', :as => 'restore_dmsf' - post '/projects/:id/dmsf/expand_folder', :controller => 'dmsf', :action => 'expand_folder', :as => 'expand_folder_dmsf' +if Redmine::Plugin.installed? :redmine_dmsf + RedmineApp::Application.routes.draw do - # - # dmsf_state controller - # /projects//dmsf/state - ## - post '/projects/:id/dmsf/state', :controller => 'dmsf_state', :action => 'user_pref_save', :as => 'dmsf_user_pref_save' + # + # dmsf controller + # /projects//dmsf + # [As this controller also processes 'folders' it maybe better to branch into a folder route rather than leaving it as is] + ## + post '/projects/:id/dmsf/create', :controller => 'dmsf', :action => 'create' + get '/projects/:id/dmsf/notify/activate', :controller => 'dmsf', :action => 'notify_activate', :as => 'notify_activate_dmsf' + get '/projects/:id/dmsf/notify/deactivate', :controller => 'dmsf', :action => 'notify_deactivate', :as => 'notify_deactivate_dmsf' + get '/projects/:id/dmsf/delete', :controller => 'dmsf', :action => 'delete', :as => 'delete_dmsf' + post '/projects/:id/dmsf/save', :controller => 'dmsf', :action => 'save' + post '/projects/:id/dmsf/save/root', :controller => 'dmsf', :action => 'save_root' + post '/projects/:id/dmsf/entries', :controller => 'dmsf', :action => 'entries_operation' + post '/projects/:id/dmsf/tag_changed', :controller => 'dmsf', :action => 'tag_changed', :as => 'tag_changed' + post '/projects/:id/dmsf/entries/delete', :controller => 'dmsf', :action => 'delete_entries', :as => 'delete_entries' + post '/projects/:id/dmsf/entries/email', :to => 'dmsf#entries_email', :as => 'email_entries' + get '/projects/:id/dmsf/entries/download_email_entries', :controller => 'dmsf', :action => 'download_email_entries', :as => 'download_email_entries' + get '/projects/:id/dmsf/lock', :controller => 'dmsf', :action => 'lock', :as => 'lock_dmsf' + get '/projects/:id/dmsf/unlock', :controller => 'dmsf', :action => 'unlock', :as => 'unlock_dmsf' + get '/projects/:id/dmsf/', :controller => 'dmsf', :action => 'show', :as => 'dmsf_folder' + get '/projects/:id/dmsf/new', :controller => 'dmsf', :action => 'new', :as => 'new_dmsf' + get '/projects/:id/dmsf/edit', :controller => 'dmsf', :action => 'edit', :as => 'edit_dmsf' + get '/projects/:id/dmsf/edit/root', :controller => 'dmsf', :action => 'edit_root', :as => 'edit_root_dmsf' + get '/projects/:id/dmsf/trash', :controller => 'dmsf', :action => 'trash', :as => 'trash_dmsf' + get '/projects/:id/dmsf/restore', :controller => 'dmsf', :action => 'restore', :as => 'restore_dmsf' + post '/projects/:id/dmsf/expand_folder', :controller => 'dmsf', :action => 'expand_folder', :as => 'expand_folder_dmsf' - # - # dmsf_upload controller - # /projects//dmsf/upload - dmsf_upload controller - ## + # + # dmsf_state controller + # /projects//dmsf/state + ## + post '/projects/:id/dmsf/state', :controller => 'dmsf_state', :action => 'user_pref_save', :as => 'dmsf_user_pref_save' - post '/projects/:id/dmsf/upload/files', :controller => 'dmsf_upload', :action => 'upload_files' - post '/projects/:id/dmsf/upload/file', :controller => 'dmsf_upload', :action => 'upload_file' - post '/projects/:id/dmsf/upload', :controller => 'dmsf_upload', :action => 'upload' - post '/projects/:id/dmsf/upload/commit', :controller => 'dmsf_upload', :action => 'commit_files' - post '/projects/:id/dmsf/commit', :controller => 'dmsf_upload', :action => 'commit' - match 'dmsf_uploads', :to => 'dmsf_upload#upload', :via => :post - delete '/dmsf/attachments/:id/delete', :to => 'dmsf_upload#delete_dmsf_attachment', :as => 'dmsf_attachment' + # + # dmsf_upload controller + # /projects//dmsf/upload - dmsf_upload controller + ## - # - # dmsf_files controller - # /dmsf/files/ - ## - get '/dmsf/files/:id/notify/activate', :controller => 'dmsf_files', :action => 'notify_activate', :as => 'notify_activate_dmsf_files' - get '/dmsf/files/:id/notify/deactivate', :controller => 'dmsf_files', :action => 'notify_deactivate', :as => 'notify_deactivate_dmsf_files' - get '/dmsf/files/:id/lock', :controller => 'dmsf_files', :action => 'lock', :as => 'lock_dmsf_files' - get '/dmsf/files/:id/unlock', :controller => 'dmsf_files', :action => 'unlock', :as => 'unlock_dmsf_files' - post '/dmsf/files/:id/delete', :controller => 'dmsf_files', :action => 'delete', :as => 'delete_dmsf_files' - post '/dmsf/files/:id/revision/create', :controller => 'dmsf_files', :action => 'create_revision' - get '/dmsf/files/:id/revision/delete', :controller => 'dmsf_files', :action => 'delete_revision', :as => 'delete_revision' - get '/dmsf/files/:id/download', :controller => 'dmsf_files', :action => 'show', :download => '' # Otherwise will not route nil download param - get '/dmsf/files/:id/view', :to => 'dmsf_files#view', :as => 'view_dmsf_file' - get '/dmsf/files/:id', :controller => 'dmsf_files', :action => 'show', :as => 'dmsf_file' - delete '/dmsf/files/:id', :controller => 'dmsf_files', :action => 'delete' - get '/dmsf/files/:id/restore', :controller => 'dmsf_files', :action => 'restore', :as => 'restore_dmsf_file' - get '/dmsf/files/:id/thumbnail', :to => 'dmsf_files#thumbnail', :as => 'dmsf_thumbnail' + post '/projects/:id/dmsf/upload/files', :controller => 'dmsf_upload', :action => 'upload_files' + post '/projects/:id/dmsf/upload/file', :controller => 'dmsf_upload', :action => 'upload_file' + post '/projects/:id/dmsf/upload', :controller => 'dmsf_upload', :action => 'upload' + post '/projects/:id/dmsf/upload/commit', :controller => 'dmsf_upload', :action => 'commit_files' + post '/projects/:id/dmsf/commit', :controller => 'dmsf_upload', :action => 'commit' + match 'dmsf_uploads', :to => 'dmsf_upload#upload', :via => :post + delete '/dmsf/attachments/:id/delete', :to => 'dmsf_upload#delete_dmsf_attachment', :as => 'dmsf_attachment' - # - # url controller - # /dmsf/links/ - ## - get '/dmsf/links/:id/restore', :controller => 'dmsf_links', :action => 'restore', :as => 'restore_dmsf_link' - delete '/dmsf/links/:id', :controller => 'dmsf_links', :action => 'delete' + # + # dmsf_files controller + # /dmsf/files/ + ## + get '/dmsf/files/:id/notify/activate', :controller => 'dmsf_files', :action => 'notify_activate', :as => 'notify_activate_dmsf_files' + get '/dmsf/files/:id/notify/deactivate', :controller => 'dmsf_files', :action => 'notify_deactivate', :as => 'notify_deactivate_dmsf_files' + get '/dmsf/files/:id/lock', :controller => 'dmsf_files', :action => 'lock', :as => 'lock_dmsf_files' + get '/dmsf/files/:id/unlock', :controller => 'dmsf_files', :action => 'unlock', :as => 'unlock_dmsf_files' + post '/dmsf/files/:id/delete', :controller => 'dmsf_files', :action => 'delete', :as => 'delete_dmsf_files' + post '/dmsf/files/:id/revision/create', :controller => 'dmsf_files', :action => 'create_revision' + get '/dmsf/files/:id/revision/delete', :controller => 'dmsf_files', :action => 'delete_revision', :as => 'delete_revision' + get '/dmsf/files/:id/download', :controller => 'dmsf_files', :action => 'show', :download => '' # Otherwise will not route nil download param + get '/dmsf/files/:id/view', :to => 'dmsf_files#view', :as => 'view_dmsf_file' + get '/dmsf/files/:id', :controller => 'dmsf_files', :action => 'show', :as => 'dmsf_file' + delete '/dmsf/files/:id', :controller => 'dmsf_files', :action => 'delete' + get '/dmsf/files/:id/restore', :controller => 'dmsf_files', :action => 'restore', :as => 'restore_dmsf_file' + get '/dmsf/files/:id/thumbnail', :to => 'dmsf_files#thumbnail', :as => 'dmsf_thumbnail' - # Just to keep backward compatibility with old external direct links - get '/dmsf_files/:id', :controller => 'dmsf_files', :action => 'show' - get '/dmsf_files/:id/download', :controller => 'dmsf_files', :action => 'show', :download => '' + # + # url controller + # /dmsf/links/ + ## + get '/dmsf/links/:id/restore', :controller => 'dmsf_links', :action => 'restore', :as => 'restore_dmsf_link' + delete '/dmsf/links/:id', :controller => 'dmsf_links', :action => 'delete' - # - # files_copy controller - # /dmsf/files//copy - ## - post '/dmsf/files/:id/copy/create', :controller => 'dmsf_files_copy', :action => 'create' - post '/dmsf/files/:id/copy/move', :controller => 'dmsf_files_copy', :action => 'move' - get '/dmsf/files/:id/copy', :controller => 'dmsf_files_copy', :action => 'new', :as => 'copy_file' + # Just to keep backward compatibility with old external direct links + get '/dmsf_files/:id', :controller => 'dmsf_files', :action => 'show' + get '/dmsf_files/:id/download', :controller => 'dmsf_files', :action => 'show', :download => '' - # - # folders_copy controller - # /dmsf/folders//copy - ## - #verify :method => :post, :only => [:copy_to], :render => { :nothing => true, :status => :method_not_allowed } - post '/dmsf/folders/:id/copy/to', :controller => 'dmsf_folders_copy', :action => 'copy_to' - get '/dmsf/folders/:id/copy', :controller => 'dmsf_folders_copy', :action => 'new', :as => 'copy_folder' + # + # files_copy controller + # /dmsf/files//copy + ## + post '/dmsf/files/:id/copy/create', :controller => 'dmsf_files_copy', :action => 'create' + post '/dmsf/files/:id/copy/move', :controller => 'dmsf_files_copy', :action => 'move' + get '/dmsf/files/:id/copy', :controller => 'dmsf_files_copy', :action => 'new', :as => 'copy_file' - # - # DAV4Rack implementation of Webdav - dav_engine = DAV4Rack::Handler.new( - :root_uri_path => "#{Redmine::Utils::relative_url_root}/dmsf/webdav", - :resource_class => RedmineDmsf::Webdav::ResourceProxy, - :controller_class => RedmineDmsf::Webdav::Controller, - :log_to => Rails.logger - ) - mount dav_engine, :at => '/dmsf/webdav' - mount dav_engine, :at => '/', :via => :options - mount dav_engine, :at => '/', :via => :propfind - mount dav_engine, :at => '/dmsf', :via => :propfind + # + # folders_copy controller + # /dmsf/folders//copy + ## + #verify :method => :post, :only => [:copy_to], :render => { :nothing => true, :status => :method_not_allowed } + post '/dmsf/folders/:id/copy/to', :controller => 'dmsf_folders_copy', :action => 'copy_to' + get '/dmsf/folders/:id/copy', :controller => 'dmsf_folders_copy', :action => 'new', :as => 'copy_folder' - # Approval workflow - resources :dmsf_workflows do - member do - get 'autocomplete_for_user' - get 'action' - get 'assign' - get 'log' - post 'new_action' - get 'start' - post 'assignment' - get 'new_step' - put 'update_step' - delete 'delete_step' + # + # DAV4Rack implementation of Webdav + dav_engine = DAV4Rack::Handler.new( + :root_uri_path => "#{Redmine::Utils::relative_url_root}/dmsf/webdav", + :resource_class => RedmineDmsf::Webdav::ResourceProxy, + :controller_class => RedmineDmsf::Webdav::Controller, + :log_to => Rails.logger + ) + mount dav_engine, :at => '/dmsf/webdav' + mount dav_engine, :at => '/', :via => :options + mount dav_engine, :at => '/', :via => :propfind + mount dav_engine, :at => '/dmsf', :via => :propfind + + # Approval workflow + resources :dmsf_workflows do + member do + get 'autocomplete_for_user' + get 'action' + get 'assign' + get 'log' + post 'new_action' + get 'start' + post 'assignment' + get 'new_step' + put 'update_step' + delete 'delete_step' + end end - end - match 'dmsf_workflows/:id/edit', :controller => 'dmsf_workflows', :action => 'add_step', :id => /\d+/, :via => :post - match 'dmsf_workflows/:id/edit', :controller => 'dmsf_workflows', :action => 'remove_step', :id => /\d+/, :via => :delete - match 'dmsf_workflows/:id/edit', :controller => 'dmsf_workflows', :action => 'reorder_steps', :id => /\d+/, :via => :put + match 'dmsf_workflows/:id/edit', :controller => 'dmsf_workflows', :action => 'add_step', :id => /\d+/, :via => :post + match 'dmsf_workflows/:id/edit', :controller => 'dmsf_workflows', :action => 'remove_step', :id => /\d+/, :via => :delete + match 'dmsf_workflows/:id/edit', :controller => 'dmsf_workflows', :action => 'reorder_steps', :id => /\d+/, :via => :put - # Links - resources :dmsf_links do - member do - get 'restore' + # Links + resources :dmsf_links do + member do + get 'restore' + end end - end - # Public URLs - resource :dmsf_public_urls + # Public URLs + resource :dmsf_public_urls -end \ No newline at end of file + end + end \ No newline at end of file