#1217 Global DMS
This commit is contained in:
parent
4d2bf4f31f
commit
ea5fedcb4c
@ -40,7 +40,8 @@ def dmsf_init
|
||||
# Main menu extension
|
||||
Redmine::MenuManager.map :top_menu do |menu|
|
||||
menu.push :dmsf, { controller: 'dmsf', action: 'index' }, caption: :menu_dmsf,
|
||||
html: { class: 'icon-dmsf' }, if: Proc.new { User.current.logged? }
|
||||
html: { class: 'icon-dmsf' },
|
||||
if: Proc.new { User.current.allowed_to?(:view_dmsf_folders, nil, global: true) }
|
||||
end
|
||||
|
||||
Redmine::AccessControl.map do |map|
|
||||
|
||||
@ -152,7 +152,7 @@ class DmsfController < ApplicationController
|
||||
selected_dir_links.blank? && selected_file_links.blank? &&
|
||||
selected_url_links.blank?
|
||||
flash[:warning] = l(:warning_no_entries_selected)
|
||||
redirect_back fallback_location: dmsf_path(id: @project, folder_id: @folder)
|
||||
redirect_back_or_default dmsf_path(id: @project, folder_id: @folder)
|
||||
return
|
||||
end
|
||||
|
||||
@ -171,13 +171,13 @@ class DmsfController < ApplicationController
|
||||
email_entries(selected_folders, selected_files)
|
||||
elsif params[:restore_entries].present?
|
||||
restore_entries(selected_folders, selected_files, selected_dir_links, selected_file_links, selected_url_links)
|
||||
redirect_back fallback_location: dmsf_path(id: @project, folder_id: @folder)
|
||||
redirect_back_or_default dmsf_path(id: @project, folder_id: @folder)
|
||||
elsif params[:delete_entries].present?
|
||||
delete_entries(selected_folders, selected_files, selected_dir_links, selected_file_links, selected_url_links, false)
|
||||
redirect_back fallback_location: dmsf_path(id: @project, folder_id: @folder)
|
||||
redirect_back_or_default dmsf_path(id: @project, folder_id: @folder)
|
||||
elsif params[:destroy_entries].present?
|
||||
delete_entries(selected_folders, selected_files, selected_dir_links, selected_file_links, selected_url_links, true)
|
||||
redirect_back fallback_location: dmsf_path(id: @project, folder_id: @folder)
|
||||
redirect_back_or_default dmsf_path(id: @project, folder_id: @folder)
|
||||
else
|
||||
download_entries(selected_folders, selected_files)
|
||||
end
|
||||
@ -188,7 +188,7 @@ class DmsfController < ApplicationController
|
||||
rescue StandardError => e
|
||||
flash[:error] = e.message
|
||||
Rails.logger.error e.message
|
||||
return redirect_back(fallback_location: dmsf_folder_path(id: @project, folder_id: @folder))
|
||||
return redirect_back_or_default(dmsf_folder_path(id: @project, folder_id: @folder))
|
||||
end
|
||||
end
|
||||
|
||||
@ -199,7 +199,7 @@ class DmsfController < ApplicationController
|
||||
return redirect_to dmsf_folder_path id: @project, folder_id: @folder, custom_field_id: key, custom_value: value
|
||||
end
|
||||
end
|
||||
redirect_back fallback_location: dmsf_path(id: @project, folder_id: @folder)
|
||||
redirect_back_or_default dmsf_path(id: @project, folder_id: @folder)
|
||||
end
|
||||
|
||||
def entries_email
|
||||
@ -294,7 +294,7 @@ class DmsfController < ApplicationController
|
||||
respond_to do |format|
|
||||
format.html do
|
||||
if commit
|
||||
redirect_back fallback_location: dmsf_path(id: @project, folder_id: @folder)
|
||||
redirect_back_or_default dmsf_path(id: @project, folder_id: @folder)
|
||||
else
|
||||
redirect_to dmsf_folder_path(id: @project, folder_id: @parent)
|
||||
end
|
||||
@ -309,7 +309,7 @@ class DmsfController < ApplicationController
|
||||
else
|
||||
flash[:error] = @folder.errors.full_messages.to_sentence
|
||||
end
|
||||
redirect_back fallback_location: trash_dmsf_path(@project)
|
||||
redirect_back_or_default trash_dmsf_path(@project)
|
||||
end
|
||||
|
||||
def edit_root
|
||||
@ -339,7 +339,7 @@ class DmsfController < ApplicationController
|
||||
end
|
||||
flash[:notice] = l(:notice_folder_notifications_activated)
|
||||
end
|
||||
redirect_back fallback_location: dmsf_path(id: @project, folder_id: @folder)
|
||||
redirect_back_or_default dmsf_path(id: @project, folder_id: @folder)
|
||||
end
|
||||
|
||||
def notify_deactivate
|
||||
@ -354,7 +354,7 @@ class DmsfController < ApplicationController
|
||||
end
|
||||
flash[:notice] = l(:notice_folder_notifications_deactivated)
|
||||
end
|
||||
redirect_back fallback_location: dmsf_path(id: @project, folder_id: @folder)
|
||||
redirect_back_or_default dmsf_path(id: @project, folder_id: @folder)
|
||||
end
|
||||
|
||||
def lock
|
||||
@ -366,7 +366,7 @@ class DmsfController < ApplicationController
|
||||
@folder.lock!
|
||||
flash[:notice] = l(:notice_folder_locked)
|
||||
end
|
||||
redirect_back fallback_location: dmsf_path(id: @project, folder_id: @folder)
|
||||
redirect_back_or_default dmsf_path(id: @project, folder_id: @folder)
|
||||
end
|
||||
|
||||
def unlock
|
||||
@ -382,7 +382,7 @@ class DmsfController < ApplicationController
|
||||
flash[:error] = l(:error_only_user_that_locked_folder_can_unlock_it)
|
||||
end
|
||||
end
|
||||
redirect_back fallback_location: dmsf_path(id: @project, folder_id: @folder)
|
||||
redirect_back_or_default dmsf_path(id: @project, folder_id: @folder)
|
||||
end
|
||||
|
||||
def add_email
|
||||
@ -472,7 +472,7 @@ class DmsfController < ApplicationController
|
||||
link&.delete true
|
||||
end
|
||||
end
|
||||
redirect_back_or_default trash_dmsf_path(id: @project.id)
|
||||
redirect_back_or_default_or_default trash_dmsf_path(id: @project.id)
|
||||
end
|
||||
|
||||
private
|
||||
@ -645,7 +645,7 @@ class DmsfController < ApplicationController
|
||||
end
|
||||
end
|
||||
unless not_deleted_files.empty?
|
||||
flash[:warning] = l(:warning_some_entries_were_not_deleted, entries: not_deleted_files.map{ |f| f.title }.
|
||||
flash[:warning] = l(:warning_some_entries_were_not_deleted, entries: not_deleted_files.map{ |f| h(f.title) }.
|
||||
join(', '))
|
||||
end
|
||||
# Links
|
||||
|
||||
@ -158,7 +158,7 @@ class DmsfFilesController < ApplicationController
|
||||
Rails.logger.error e.message
|
||||
flash[:error] = e.message
|
||||
revision.destroy
|
||||
redirect_back fallback_location: dmsf_path(id: @project, folder_id: @folder)
|
||||
redirect_back_or_default dmsf_path(id: @project, folder_id: @folder)
|
||||
return
|
||||
end
|
||||
end
|
||||
@ -194,7 +194,7 @@ class DmsfFilesController < ApplicationController
|
||||
end
|
||||
end
|
||||
end
|
||||
redirect_back fallback_location: dmsf_path(id: @project, folder_id: @folder)
|
||||
redirect_back_or_default dmsf_path(id: @project, folder_id: @folder)
|
||||
end
|
||||
|
||||
def delete
|
||||
@ -268,7 +268,7 @@ class DmsfFilesController < ApplicationController
|
||||
flash[:error] = e.message
|
||||
end
|
||||
end
|
||||
redirect_back fallback_location: dmsf_path(id: @project, folder_id: @folder)
|
||||
redirect_back_or_default dmsf_path(id: @project, folder_id: @folder)
|
||||
end
|
||||
|
||||
def unlock
|
||||
@ -286,7 +286,7 @@ class DmsfFilesController < ApplicationController
|
||||
flash[:error] = l(:error_only_user_that_locked_file_can_unlock_it)
|
||||
end
|
||||
end
|
||||
redirect_back fallback_location: dmsf_path(id: @project, folder_id: @folder)
|
||||
redirect_back_or_default dmsf_path(id: @project, folder_id: @folder)
|
||||
end
|
||||
|
||||
def notify_activate
|
||||
@ -296,7 +296,7 @@ class DmsfFilesController < ApplicationController
|
||||
@file.notify_activate
|
||||
flash[:notice] = l(:notice_file_notifications_activated)
|
||||
end
|
||||
redirect_back fallback_location: dmsf_path(id: @project, folder_id: @folder)
|
||||
redirect_back_or_default dmsf_path(id: @project, folder_id: @folder)
|
||||
end
|
||||
|
||||
def notify_deactivate
|
||||
@ -306,7 +306,7 @@ class DmsfFilesController < ApplicationController
|
||||
@file.notify_deactivate
|
||||
flash[:notice] = l(:notice_file_notifications_deactivated)
|
||||
end
|
||||
redirect_back fallback_location: dmsf_path(id: @project, folder_id: @folder)
|
||||
redirect_back_or_default dmsf_path(id: @project, folder_id: @folder)
|
||||
end
|
||||
|
||||
def restore
|
||||
@ -315,7 +315,7 @@ class DmsfFilesController < ApplicationController
|
||||
else
|
||||
flash[:error] = @file.errors.full_messages.to_sentence
|
||||
end
|
||||
redirect_back fallback_location: dmsf_path(id: @project, folder_id: @folder)
|
||||
redirect_back_or_default dmsf_path(id: @project, folder_id: @folder)
|
||||
end
|
||||
|
||||
def thumbnail
|
||||
|
||||
@ -43,7 +43,7 @@ class DmsfFoldersCopyController < ApplicationController
|
||||
redirect_to dmsf_folder_path(id: @target_project, folder_id: new_folder)
|
||||
else
|
||||
flash[:error] = new_folder.errors.full_messages.to_sentence
|
||||
redirect_back fallback_location: dmsf_path(id: @project, folder_id: @folder)
|
||||
redirect_back_or_default dmsf_path(id: @project, folder_id: @folder)
|
||||
end
|
||||
end
|
||||
|
||||
@ -53,7 +53,7 @@ class DmsfFoldersCopyController < ApplicationController
|
||||
redirect_to dmsf_folder_path(id: @target_project, folder_id: @folder)
|
||||
else
|
||||
flash[:error] = @folder.errors.full_messages.to_sentence
|
||||
redirect_back fallback_location: dmsf_path(id: @project, folder_id: @folder)
|
||||
redirect_back_or_default dmsf_path(id: @project, folder_id: @folder)
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
@ -180,14 +180,14 @@ class DmsfLinksController < ApplicationController
|
||||
errors[:base] << e.message
|
||||
return false
|
||||
end
|
||||
redirect_back fallback_location: dmsf_folder_path(id: @project, folder_id: @folder)
|
||||
redirect_back_or_default dmsf_folder_path(id: @project, folder_id: @folder)
|
||||
end
|
||||
|
||||
def restore
|
||||
if @dmsf_link.restore
|
||||
flash[:notice] = l(:notice_dmsf_link_restored)
|
||||
end
|
||||
redirect_back fallback_location: dmsf_path(id: @project, folder_id: @folder)
|
||||
redirect_back_or_default dmsf_path(id: @project, folder_id: @folder)
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
@ -180,7 +180,7 @@ class DmsfWorkflowsController < ApplicationController
|
||||
end
|
||||
end
|
||||
end
|
||||
redirect_back fallback_location: dmsf_path(id: @project, folder_id: @folder)
|
||||
redirect_back_or_default dmsf_path(id: @project, folder_id: @folder)
|
||||
end
|
||||
|
||||
def assign
|
||||
@ -215,7 +215,7 @@ class DmsfWorkflowsController < ApplicationController
|
||||
rescue => e
|
||||
flash[:error] = e.message
|
||||
end
|
||||
redirect_back fallback_location: dmsf_path(id: @project, folder_id: @folder)
|
||||
redirect_back_or_default dmsf_path(id: @project, folder_id: @folder)
|
||||
return
|
||||
# DMS link (attached)
|
||||
elsif params[:dmsf_link_id].present?
|
||||
@ -227,7 +227,7 @@ class DmsfWorkflowsController < ApplicationController
|
||||
@dmsf_workflow_id = params[:dmsf_workflow_id]
|
||||
end
|
||||
else
|
||||
redirect_back fallback_location: dmsf_path(id: @project, folder_id: @folder)
|
||||
redirect_back_or_default dmsf_path(id: @project, folder_id: @folder)
|
||||
return
|
||||
end
|
||||
respond_to do |format|
|
||||
@ -394,7 +394,7 @@ class DmsfWorkflowsController < ApplicationController
|
||||
end
|
||||
end
|
||||
end
|
||||
redirect_back fallback_location: dmsf_path(id: @project, folder_id: @folder)
|
||||
redirect_back_or_default dmsf_path(id: @project, folder_id: @folder)
|
||||
end
|
||||
|
||||
def reorder_steps
|
||||
@ -422,7 +422,7 @@ class DmsfWorkflowsController < ApplicationController
|
||||
flash[:error] = l(:notice_cannot_start_workflow)
|
||||
end
|
||||
end
|
||||
redirect_back fallback_location: dmsf_path(id: @project, folder_id: @folder)
|
||||
redirect_back_or_default dmsf_path(id: @project, folder_id: @folder)
|
||||
end
|
||||
|
||||
def update_step
|
||||
|
||||
@ -216,7 +216,7 @@ class DmsfQuery < Query
|
||||
CAST(0 AS #{ActiveRecord::Base.connection.type_to_sql(:decimal)}) AS deleted,
|
||||
0 AS sort #{cf_columns}}).visible
|
||||
if dmsf_folder_id || deleted
|
||||
scope.where '1=0'
|
||||
scope.none
|
||||
else
|
||||
scope = scope.non_templates if scope.respond_to?(:non_templates)
|
||||
scope.where projects: { parent_id: project&.id }
|
||||
@ -249,7 +249,7 @@ class DmsfQuery < Query
|
||||
dmsf_folders.deleted AS deleted,
|
||||
1 AS sort #{cf_columns}}).
|
||||
joins('LEFT JOIN users ON dmsf_folders.user_id = users.id')
|
||||
return scope.where('1=0') unless project
|
||||
return scope.none unless project
|
||||
if deleted
|
||||
scope = scope.deleted
|
||||
else
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user