current view changed after adding new revision #1282
This commit is contained in:
parent
e47f23da25
commit
42f89a55c0
@ -35,6 +35,7 @@ class DmsfContextMenusController < ApplicationController
|
||||
@unlockable = @allowed && @dmsf_file.unlockable? && (!@dmsf_file.locked_for_user? ||
|
||||
User.current.allowed_to?(:force_file_unlock, @project))
|
||||
@email_allowed = User.current.allowed_to?(:email_documents, @project)
|
||||
@back_url = dmsf_folder_path(id: @project, folder_id: @dmsf_file.dmsf_folder)
|
||||
elsif @dmsf_folder
|
||||
@locked = @dmsf_folder.locked?
|
||||
@project = @dmsf_folder.project
|
||||
@ -42,12 +43,14 @@ class DmsfContextMenusController < ApplicationController
|
||||
@unlockable = @allowed && @dmsf_folder.unlockable? && (!@dmsf_folder.locked_for_user? ||
|
||||
User.current.allowed_to?(:force_file_unlock, @project))
|
||||
@email_allowed = User.current.allowed_to?(:email_documents, @project)
|
||||
@back_url = dmsf_folder_path(id: @project, folder_id: @dmsf_folder.dmsf_folder)
|
||||
elsif @dmsf_link # url link
|
||||
@locked = false
|
||||
@unlockable = false
|
||||
@project = @dmsf_link.project
|
||||
@allowed = User.current.allowed_to? :file_manipulation, @project
|
||||
@email_allowed = false
|
||||
@back_url = dmsf_folder_path(id: @project, folder_id: @dmsf_link.dmsf_folder)
|
||||
else # multiple selection
|
||||
@project = get_project
|
||||
@locked = false
|
||||
@ -55,6 +58,7 @@ class DmsfContextMenusController < ApplicationController
|
||||
@allowed = User.current.allowed_to?(:file_manipulation, @project) &&
|
||||
User.current.allowed_to?(:folder_manipulation, @project)
|
||||
@email_allowed = User.current.allowed_to?(:email_documents, @project)
|
||||
@back_url = dmsf_folder_path(id: @project, folder_id: @dmsf_folder)
|
||||
end
|
||||
render layout: false
|
||||
rescue ActiveRecord::RecordNotFound
|
||||
|
||||
@ -45,6 +45,7 @@ class DmsfController < ApplicationController
|
||||
include QueriesHelper
|
||||
helper :dmsf_queries
|
||||
include DmsfQueriesHelper
|
||||
helper :context_menus
|
||||
|
||||
def permissions
|
||||
if !DmsfFolder.permissions?(@folder, false)
|
||||
@ -160,7 +161,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_or_default dmsf_folder_path(id: @project.id, folder_id: @folder)
|
||||
redirect_back_or_default dmsf_folder_path(id: @project, folder_id: @folder)
|
||||
return
|
||||
end
|
||||
|
||||
@ -179,13 +180,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_or_default dmsf_folder_path(id: @project.id, folder_id: @folder)
|
||||
redirect_back_or_default dmsf_folder_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_or_default dmsf_folder_path(id: @project.id, folder_id: @folder)
|
||||
redirect_back_or_default dmsf_folder_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_or_default dmsf_folder_path(id: @project.id, folder_id: @folder)
|
||||
redirect_back_or_default dmsf_folder_path(id: @project, folder_id: @folder)
|
||||
else
|
||||
download_entries(selected_folders, selected_files)
|
||||
end
|
||||
@ -207,7 +208,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_or_default dmsf_folder_path(id: @project.id, folder_id: @folder)
|
||||
redirect_back_or_default dmsf_folder_path(id: @project, folder_id: @folder)
|
||||
end
|
||||
|
||||
def entries_email
|
||||
@ -302,7 +303,7 @@ class DmsfController < ApplicationController
|
||||
respond_to do |format|
|
||||
format.html do
|
||||
if commit
|
||||
redirect_back_or_default dmsf_folder_path(id: @project.id, folder_id: @folder)
|
||||
redirect_to trash_dmsf_path(@project)
|
||||
else
|
||||
redirect_to dmsf_folder_path(id: @project, folder_id: @parent)
|
||||
end
|
||||
@ -317,7 +318,7 @@ class DmsfController < ApplicationController
|
||||
else
|
||||
flash[:error] = @folder.errors.full_messages.to_sentence
|
||||
end
|
||||
redirect_back_or_default trash_dmsf_path(@project)
|
||||
redirect_to trash_dmsf_path(@project)
|
||||
end
|
||||
|
||||
def save_root
|
||||
@ -344,7 +345,7 @@ class DmsfController < ApplicationController
|
||||
end
|
||||
flash[:notice] = l(:notice_folder_notifications_activated)
|
||||
end
|
||||
redirect_back_or_default dmsf_folder_path(id: @project.id, folder_id: @folder)
|
||||
redirect_back_or_default dmsf_folder_path(id: @project, folder_id: @folder)
|
||||
end
|
||||
|
||||
def notify_deactivate
|
||||
@ -359,7 +360,7 @@ class DmsfController < ApplicationController
|
||||
end
|
||||
flash[:notice] = l(:notice_folder_notifications_deactivated)
|
||||
end
|
||||
redirect_back_or_default dmsf_folder_path(id: @project.id, folder_id: @folder)
|
||||
redirect_back_or_default dmsf_folder_path(id: @project, folder_id: @folder)
|
||||
end
|
||||
|
||||
def lock
|
||||
@ -371,7 +372,7 @@ class DmsfController < ApplicationController
|
||||
@folder.lock!
|
||||
flash[:notice] = l(:notice_folder_locked)
|
||||
end
|
||||
redirect_back_or_default dmsf_folder_path(id: @project.id, folder_id: @folder)
|
||||
redirect_back_or_default dmsf_folder_path(id: @project, folder_id: @folder)
|
||||
end
|
||||
|
||||
def unlock
|
||||
@ -387,7 +388,7 @@ class DmsfController < ApplicationController
|
||||
flash[:error] = l(:error_only_user_that_locked_folder_can_unlock_it)
|
||||
end
|
||||
end
|
||||
redirect_back_or_default dmsf_folder_path(id: @project.id, folder_id: @folder)
|
||||
redirect_back_or_default dmsf_folder_path(id: @project, folder_id: @folder)
|
||||
end
|
||||
|
||||
def add_email
|
||||
@ -477,7 +478,7 @@ class DmsfController < ApplicationController
|
||||
link&.delete true
|
||||
end
|
||||
end
|
||||
redirect_back_or_default trash_dmsf_path(id: @project.id)
|
||||
redirect_back_or_default trash_dmsf_path(id: @project)
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
@ -195,7 +195,7 @@ class DmsfFilesController < ApplicationController
|
||||
flash[:error] = @file.errors.full_messages.to_sentence if @file.errors.any?
|
||||
flash[:error] = revision.errors.full_messages.to_sentence if revision.errors.any?
|
||||
flash[:notice] = (flash[:notice].nil? ? '' : flash[:notice]) + l(:notice_file_revision_created) if ok
|
||||
redirect_back_or_default dmsf_folder_path(id: @project.id, folder_id: @folder)
|
||||
redirect_back_or_default dmsf_folder_path(id: @project, folder_id: @folder)
|
||||
end
|
||||
format.api
|
||||
end
|
||||
@ -229,7 +229,7 @@ class DmsfFilesController < ApplicationController
|
||||
end
|
||||
respond_to do |format|
|
||||
format.html do
|
||||
redirect_to dmsf_folder_path(id: @project, folder_id: @folder)
|
||||
redirect_back_or_default dmsf_folder_path(id: @project, folder_id: @folder)
|
||||
end
|
||||
format.api { result ? render_api_ok : render_validation_errors(@file) }
|
||||
end
|
||||
@ -272,7 +272,7 @@ class DmsfFilesController < ApplicationController
|
||||
flash[:error] = e.message
|
||||
end
|
||||
end
|
||||
redirect_back_or_default dmsf_folder_path(id: @project.id, folder_id: @folder)
|
||||
redirect_back_or_default dmsf_folder_path(id: @project, folder_id: @folder)
|
||||
end
|
||||
|
||||
def unlock
|
||||
@ -290,7 +290,7 @@ class DmsfFilesController < ApplicationController
|
||||
flash[:error] = l(:error_only_user_that_locked_file_can_unlock_it)
|
||||
end
|
||||
end
|
||||
redirect_back_or_default dmsf_folder_path(id: @project.id, folder_id: @folder)
|
||||
redirect_back_or_default dmsf_folder_path(id: @project, folder_id: @folder)
|
||||
end
|
||||
|
||||
def notify_activate
|
||||
@ -300,7 +300,7 @@ class DmsfFilesController < ApplicationController
|
||||
@file.notify_activate
|
||||
flash[:notice] = l(:notice_file_notifications_activated)
|
||||
end
|
||||
redirect_back_or_default dmsf_folder_path(id: @project.id, folder_id: @folder)
|
||||
redirect_back_or_default dmsf_folder_path(id: @project, folder_id: @folder)
|
||||
end
|
||||
|
||||
def notify_deactivate
|
||||
@ -310,7 +310,7 @@ class DmsfFilesController < ApplicationController
|
||||
@file.notify_deactivate
|
||||
flash[:notice] = l(:notice_file_notifications_deactivated)
|
||||
end
|
||||
redirect_back_or_default dmsf_folder_path(id: @project.id, folder_id: @folder)
|
||||
redirect_back_or_default dmsf_folder_path(id: @project, folder_id: @folder)
|
||||
end
|
||||
|
||||
def restore
|
||||
@ -319,7 +319,7 @@ class DmsfFilesController < ApplicationController
|
||||
else
|
||||
flash[:error] = @file.errors.full_messages.to_sentence
|
||||
end
|
||||
redirect_back_or_default dmsf_folder_path(id: @project.id, folder_id: @folder)
|
||||
redirect_to trash_dmsf_path(@project)
|
||||
end
|
||||
|
||||
def thumbnail
|
||||
|
||||
@ -33,6 +33,7 @@ class DmsfFilesCopyController < ApplicationController
|
||||
@projects = DmsfFile.allowed_target_projects_on_copy
|
||||
@folders = DmsfFolder.directory_tree(@target_project, @folder)
|
||||
@target_folder = DmsfFolder.visible.find(params[:target_folder_id]) unless params[:target_folder_id].blank?
|
||||
@back_url = params[:back_url]
|
||||
render layout: !request.xhr?
|
||||
end
|
||||
|
||||
@ -40,21 +41,19 @@ class DmsfFilesCopyController < ApplicationController
|
||||
new_file = @file.copy_to(@target_project, @target_folder)
|
||||
if new_file.nil? || new_file.errors.present?
|
||||
flash[:error] = new_file ? new_file.errors.full_messages.to_sentence : @file.errors.full_messages.to_sentence
|
||||
redirect_to action: 'new', id: @file, target_project_id: @target_project, target_folder_id: @target_folder
|
||||
return
|
||||
else
|
||||
flash[:notice] = l(:notice_successful_update)
|
||||
end
|
||||
flash[:notice] = l(:notice_successful_update)
|
||||
redirect_to dmsf_file_path(new_file)
|
||||
redirect_back_or_default dmsf_folder_path(id: @file.project, folder_id: @file.dmsf_folder)
|
||||
end
|
||||
|
||||
def move
|
||||
unless @file.move_to(@target_project, @target_folder)
|
||||
if @file.move_to(@target_project, @target_folder)
|
||||
flash[:notice] = l(:notice_successful_update)
|
||||
else
|
||||
flash[:error] = @file.errors.full_messages.to_sentence
|
||||
redirect_to action: 'new', id: @file, target_project_id: @target_project, target_folder_id: @target_folder
|
||||
return
|
||||
end
|
||||
flash[:notice] = l(:notice_successful_update)
|
||||
redirect_to dmsf_file_path(@file)
|
||||
redirect_back_or_default dmsf_folder_path(id: @file.project, folder_id: @file.dmsf_folder)
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
@ -33,6 +33,7 @@ class DmsfFoldersCopyController < ApplicationController
|
||||
@projects = DmsfFolder.allowed_target_projects_on_copy
|
||||
@folders = DmsfFolder.directory_tree(@target_project, @folder)
|
||||
@target_folder = DmsfFolder.visible.find(params[:target_folder_id]) unless params[:target_folder_id].blank?
|
||||
@back_url = params[:back_url]
|
||||
render layout: !request.xhr?
|
||||
end
|
||||
|
||||
@ -40,21 +41,19 @@ class DmsfFoldersCopyController < ApplicationController
|
||||
new_folder = @folder.copy_to(@target_project, @target_folder)
|
||||
if new_folder.errors.empty?
|
||||
flash[:notice] = l(:notice_successful_update)
|
||||
redirect_to dmsf_folder_path(id: @target_project, folder_id: new_folder)
|
||||
else
|
||||
flash[:error] = new_folder.errors.full_messages.to_sentence
|
||||
redirect_back_or_default dmsf_folder_path(id: @project.id, folder_id: @folder)
|
||||
end
|
||||
redirect_back_or_default dmsf_folder_path(id: @project, folder_id: @folder.dmsf_folder)
|
||||
end
|
||||
|
||||
def move
|
||||
if @folder.move_to(@target_project, @target_folder)
|
||||
flash[:notice] = l(:notice_successful_update)
|
||||
redirect_to dmsf_folder_path(id: @target_project, folder_id: @folder)
|
||||
else
|
||||
flash[:error] = @folder.errors.full_messages.to_sentence
|
||||
redirect_back_or_default dmsf_folder_path(id: @project.id, folder_id: @folder)
|
||||
end
|
||||
redirect_back_or_default dmsf_folder_path(id: @project, folder_id: @folder.dmsf_folder)
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
@ -55,7 +55,9 @@ class DmsfLinksController < ApplicationController
|
||||
@dmsf_file_id = params[:dmsf_file_id]
|
||||
@type = params[:type]
|
||||
@dmsf_link.target_project_id = params[:project_id]
|
||||
@target_folder_id = params[:dmsf_folder_id].to_i if params[:dmsf_folder_id].present?
|
||||
#@target_folder_id = params[:dmsf_folder_id].to_i if params[:dmsf_folder_id].present?
|
||||
@target_folder_id = nil
|
||||
@back_url = params[:back_url]
|
||||
if @type == 'link_to'
|
||||
if @dmsf_file_id
|
||||
names = DmsfFile.where(id: @dmsf_file_id).pluck(:name)
|
||||
@ -151,13 +153,13 @@ class DmsfLinksController < ApplicationController
|
||||
respond_to do |format|
|
||||
format.html {
|
||||
if params[:dmsf_link][:type] == 'link_from'
|
||||
redirect_to dmsf_folder_path(id: @project, folder_id: @dmsf_link.dmsf_folder_id)
|
||||
redirect_back_or_default dmsf_folder_path(id: @project, folder_id: @dmsf_link.dmsf_folder_id)
|
||||
else
|
||||
if params[:dmsf_link][:dmsf_file_id].present?
|
||||
redirect_to dmsf_file_path(@dmsf_link.target_file)
|
||||
else
|
||||
folder = @dmsf_link.target_folder.dmsf_folder if @dmsf_link.target_folder
|
||||
redirect_to dmsf_folder_path(id: @project, folder_id: folder)
|
||||
redirect_back_or_default dmsf_folder_path(id: @project, folder_id: folder)
|
||||
end
|
||||
end
|
||||
}
|
||||
@ -186,8 +188,10 @@ class DmsfLinksController < ApplicationController
|
||||
def restore
|
||||
if @dmsf_link.restore
|
||||
flash[:notice] = l(:notice_dmsf_link_restored)
|
||||
else
|
||||
flash[:error] = @dmsf_link.errors.full_messages.to_sentence
|
||||
end
|
||||
redirect_back_or_default dmsf_folder_path(id: @project.id, folder_id: @folder)
|
||||
redirect_to trash_dmsf_path(@project)
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
@ -180,7 +180,7 @@ class DmsfWorkflowsController < ApplicationController
|
||||
end
|
||||
end
|
||||
end
|
||||
redirect_back_or_default dmsf_folder_path(id: @project.id, folder_id: @folder)
|
||||
redirect_back_or_default dmsf_folder_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_or_default dmsf_folder_path(id: @project.id, folder_id: @folder)
|
||||
redirect_back_or_default dmsf_folder_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_or_default dmsf_folder_path(id: @project.id, folder_id: @folder)
|
||||
redirect_back_or_default dmsf_folder_path(id: @project, folder_id: @folder)
|
||||
return
|
||||
end
|
||||
respond_to do |format|
|
||||
@ -422,7 +422,7 @@ class DmsfWorkflowsController < ApplicationController
|
||||
flash[:error] = l(:notice_cannot_start_workflow)
|
||||
end
|
||||
end
|
||||
redirect_back_or_default dmsf_folder_path(id: @project.id, folder_id: @folder)
|
||||
redirect_back_or_default dmsf_folder_path(id: @project, folder_id: @folder)
|
||||
end
|
||||
|
||||
def update_step
|
||||
|
||||
@ -42,7 +42,7 @@ module DmsfLinksHelper
|
||||
|
||||
def files_for_select(project_id, folder_id)
|
||||
files = []
|
||||
if folder_id && (folder_id != '0')
|
||||
if folder_id && DmsfLinksHelper::is_a_number?(folder_id)
|
||||
folder = DmsfFolder.find_by(id: folder_id)
|
||||
files = folder.dmsf_files.visible.to_a if folder
|
||||
elsif project_id
|
||||
|
||||
@ -22,7 +22,7 @@
|
||||
|
||||
<h3 class="title"><%= l(:label_email_address_add) %></h3>
|
||||
|
||||
<%= form_tag(append_email_dmsf_path(id: @project.id), remote: true, method: :post, id: 'new-user-form') do %>
|
||||
<%= form_tag(append_email_dmsf_path(id: @project), remote: true, method: :post, id: 'new-user-form') do %>
|
||||
<%= hidden_field_tag :project_id, @project.id %>
|
||||
<p><%= label_tag 'user_search', l(:label_user_search) %><%= text_field_tag 'user_search', nil %></p>
|
||||
<%= late_javascript_tag "observeSearchfield('user_search', 'users_for_users', '#{ escape_javascript url_for(
|
||||
|
||||
@ -28,30 +28,42 @@
|
||||
<% if !@folder.new_record? && User.current.allowed_to?(:folder_manipulation, @project) && !@folder.system %>
|
||||
<% if @folder.locked? %>
|
||||
<%= link_to_if @folder.unlockable? && (!@folder.locked_for_user? || @force_file_unlock_allowed), l(:button_unlock),
|
||||
unlock_dmsf_path(id: @project, folder_id: @folder),
|
||||
unlock_dmsf_path(id: @project, folder_id: @folder, back_url: edit_dmsf_url(id: @project, folder_id: @folder)),
|
||||
title: l(:title_unlock_file), class: 'icon icon-unlock' %>
|
||||
<% else %>
|
||||
<%= link_to l(:button_lock), lock_dmsf_path(id: @project, folder_id: @folder),
|
||||
<%= link_to l(:button_lock), lock_dmsf_path(id: @project, folder_id: @folder,
|
||||
back_url: edit_dmsf_url(id: @project, folder_id: @folder)),
|
||||
title: l(:title_lock_file), class: 'icon icon-lock' %>
|
||||
<% end %>
|
||||
<% unless @folder.locked? %>
|
||||
<% if @folder.notification %>
|
||||
<%= link_to l(:label_notifications_off),
|
||||
notify_deactivate_dmsf_path(id: @project, folder_id: @folder),
|
||||
title: l(:title_notifications_active_deactivate),
|
||||
class: 'icon icon-email' %>
|
||||
<% else %>
|
||||
<%= link_to l(:label_notifications_on),
|
||||
notify_activate_dmsf_path(id: @project, folder_id: @folder),
|
||||
title: l(:title_notifications_not_active_activate),
|
||||
class: 'icon icon-email-add' %>
|
||||
<% if defined?(EasyExtensions) %>
|
||||
<%= render partial: 'dmsf_context_menus/folder',
|
||||
locals: { dmsf_folder: @folder,
|
||||
locked: @folder.locked?,
|
||||
allowed: true,
|
||||
dmsf_link: nil,
|
||||
project: @project,
|
||||
folder: @folder.dmsf_folder,
|
||||
edit: true,
|
||||
unlockable: @folder.unlockable? && (!@folder.locked_for_user? || User.current.allowed_to?(:force_file_unlock, @project)),
|
||||
email_allowed: User.current.allowed_to?(:email_documents, @project),
|
||||
back_url: edit_dmsf_url(id: @project, folder_id: @folder)
|
||||
} %>
|
||||
<% else %>
|
||||
<%= actions_dropdown do %>
|
||||
<%= render partial: 'dmsf_context_menus/folder',
|
||||
locals: { dmsf_folder: @folder,
|
||||
locked: @folder.locked?,
|
||||
allowed: true,
|
||||
dmsf_link: nil,
|
||||
project: @project,
|
||||
folder: @folder.dmsf_folder,
|
||||
edit: true,
|
||||
unlockable: @folder.unlockable? && (!@folder.locked_for_user? || User.current.allowed_to?(:force_file_unlock, @project)),
|
||||
email_allowed: User.current.allowed_to?(:email_documents, @project),
|
||||
back_url: edit_dmsf_url(id: @project, folder_id: @folder)
|
||||
} %>
|
||||
<% end %>
|
||||
<% end %>
|
||||
<% unless @folder.locked? %>
|
||||
<%= link_to l(:button_delete), delete_dmsf_path(id: @project, folder_id: @folder),
|
||||
data: { confirm: "#{l(:text_are_you_sure)}\n#{l(:text_not_empty) unless @folder.empty?}" },
|
||||
title: l(:button_delete), class: 'icon icon-del', method: :delete %>
|
||||
<% end %>
|
||||
<% end %>
|
||||
</div>
|
||||
|
||||
|
||||
@ -27,15 +27,15 @@
|
||||
<div class="contextual">
|
||||
<% if User.current.allowed_to?(:folder_manipulation, @project) %>
|
||||
<% if @project.dmsf_notification %>
|
||||
<%= link_to(l(:label_notifications_off),
|
||||
notify_deactivate_dmsf_path(id: @project),
|
||||
<%= link_to l(:label_notifications_off),
|
||||
notify_deactivate_dmsf_path(id: @project, back_url: edit_root_dmsf_path(id: @project)),
|
||||
title: l(:title_notifications_active_deactivate),
|
||||
class: 'icon icon-email') %>
|
||||
class: 'icon icon-email' %>
|
||||
<% else %>
|
||||
<%= link_to(l(:label_notifications_on),
|
||||
notify_activate_dmsf_path(id: @project),
|
||||
<%= link_to l(:label_notifications_on),
|
||||
notify_activate_dmsf_path(id: @project, back_url: edit_root_dmsf_path(id: @project)),
|
||||
title: l(:title_notifications_active_deactivate),
|
||||
class: 'icon icon-email-add') %>
|
||||
class: 'icon icon-email-add' %>
|
||||
<% end %>
|
||||
<% end %>
|
||||
</div>
|
||||
|
||||
@ -20,54 +20,62 @@
|
||||
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
%>
|
||||
|
||||
<li>
|
||||
<%= context_menu_link l(:button_edit), edit_dmsf_path(id: dmsf_folder.project, folder_id: dmsf_folder),
|
||||
class: 'icon icon-edit', disabled: !allowed || locked %>
|
||||
</li>
|
||||
<% unless edit %>
|
||||
<li>
|
||||
<%= context_menu_link l(:button_edit), edit_dmsf_path(id: dmsf_folder.project, folder_id: dmsf_folder,
|
||||
back_url: back_url), class: 'icon icon-edit', disabled: !allowed || locked %>
|
||||
</li>
|
||||
<% end %>
|
||||
<% unless dmsf_link %>
|
||||
<li>
|
||||
<%= context_menu_link "#{l(:button_copy)}/#{l(:button_move)}", copy_folder_path(id: dmsf_folder),
|
||||
<%= context_menu_link "#{l(:button_copy)}/#{l(:button_move)}", copy_folder_path(id: dmsf_folder, back_url: back_url),
|
||||
class: 'icon icon-copy', disabled: !allowed || locked %>
|
||||
</li>
|
||||
<li>
|
||||
<%= context_menu_link l(:label_link_to),
|
||||
new_dmsf_link_path(project_id: dmsf_folder.id, dmsf_folder_id: dmsf_folder.id, type: 'link_to'),
|
||||
class: 'icon dmsf-icon-link' %>
|
||||
new_dmsf_link_path(project_id: project.id, dmsf_folder_id: dmsf_folder.id, type: 'link_to',
|
||||
back_url: back_url), class: 'icon dmsf-icon-link' %>
|
||||
</li>
|
||||
<% end %>
|
||||
<% unless edit %>
|
||||
<li>
|
||||
<% if locked %>
|
||||
<%= context_menu_link l(:button_unlock), unlock_dmsf_path(id: dmsf_folder.project, folder_id: dmsf_folder,
|
||||
back_url: back_url), title: l(:title_locked_by_user, user: dmsf_folder.locked_by),
|
||||
class: 'icon icon-unlock', disabled: !allowed || !unlockable %>
|
||||
<% else %>
|
||||
<%= context_menu_link l(:button_lock), lock_dmsf_path(id: dmsf_folder.project, folder_id: dmsf_folder,
|
||||
back_url: back_url), class: 'icon icon-lock', disabled: !allowed %>
|
||||
<% end %>
|
||||
</li>
|
||||
<% end %>
|
||||
<li>
|
||||
<% if locked %>
|
||||
<%= context_menu_link l(:button_unlock), unlock_dmsf_path(id: dmsf_folder.project, folder_id: dmsf_folder),
|
||||
title: l(:title_locked_by_user, user: dmsf_folder.locked_by),
|
||||
class: 'icon icon-unlock', disabled: !allowed || !unlockable %>
|
||||
<% else %>
|
||||
<%= context_menu_link l(:button_lock), lock_dmsf_path(id: dmsf_folder.project, folder_id: dmsf_folder),
|
||||
class: 'icon icon-lock', disabled: !allowed %>
|
||||
<% end %>
|
||||
</li>
|
||||
<li>
|
||||
<% if dmsf_folder.notification %>
|
||||
<%= context_menu_link l(:label_notifications_off), notify_deactivate_dmsf_path(id: dmsf_folder.project, folder_id: dmsf_folder),
|
||||
class: 'icon icon-email', disabled: !allowed || locked || !dmsf_folder.notification? %>
|
||||
<%= context_menu_link l(:label_notifications_off), notify_deactivate_dmsf_path(id: dmsf_folder.project,
|
||||
folder_id: dmsf_folder, back_url: back_url), class: 'icon icon-email',
|
||||
disabled: !allowed || locked || !dmsf_folder.notification? %>
|
||||
<% else %>
|
||||
<%= context_menu_link l(:label_notifications_on), notify_activate_dmsf_path(id: dmsf_folder.project, folder_id: dmsf_folder),
|
||||
class: 'icon icon-email-add', disabled: !allowed || locked || dmsf_folder.notification? %>
|
||||
<%= context_menu_link l(:label_notifications_on), notify_activate_dmsf_path(id: dmsf_folder.project,
|
||||
folder_id: dmsf_folder, back_url: back_url), class: 'icon icon-email-add',
|
||||
disabled: !allowed || locked || dmsf_folder.notification? %>
|
||||
<% end %>
|
||||
</li>
|
||||
<li>
|
||||
<%= context_menu_link l(:button_download), entries_operations_dmsf_path(id: project, folder_id: folder,
|
||||
ids: params[:ids], download_entries: true), method: :post, class: 'icon icon-download',
|
||||
id: 'dmsf-cm-download', disabled: false %>
|
||||
</li>
|
||||
<li>
|
||||
<%= context_menu_link l(:field_mail), entries_operations_dmsf_path(id: dmsf_folder.project, folder_id: folder,
|
||||
ids: params[:ids], email_entries: true), method: :post, class: 'icon icon-email',
|
||||
disabled: !email_allowed %>
|
||||
</li>
|
||||
<% unless edit %>
|
||||
<li>
|
||||
<%= context_menu_link l(:button_download), entries_operations_dmsf_path(id: project, folder_id: folder,
|
||||
ids: params[:ids], download_entries: true, back_url: back_url), method: :post, class: 'icon icon-download',
|
||||
id: 'dmsf-cm-download', disabled: false %>
|
||||
</li>
|
||||
<li>
|
||||
<%= context_menu_link l(:field_mail), entries_operations_dmsf_path(id: dmsf_folder.project, folder_id: folder,
|
||||
ids: params[:ids], email_entries: true, back_url: back_url), method: :post, class: 'icon icon-email',
|
||||
disabled: !email_allowed %>
|
||||
</li>
|
||||
<% end %>
|
||||
<li>
|
||||
<%= context_menu_link l(:button_delete),
|
||||
dmsf_link ? dmsf_link_path(id: dmsf_link, folder_id: folder) :
|
||||
delete_dmsf_path(id: dmsf_folder.project, folder_id: dmsf_folder, parent_id: folder),
|
||||
dmsf_link ? dmsf_link_path(id: dmsf_link, folder_id: folder, back_url: back_url) :
|
||||
delete_dmsf_path(id: dmsf_folder.project, folder_id: dmsf_folder, parent_id: folder, back_url: back_url),
|
||||
data: { confirm: "#{l(:text_are_you_sure)}\n#{l(:text_not_empty) unless dmsf_folder.empty?}" }, method: :delete,
|
||||
class: 'icon icon-del', id: 'dmsf-cm-delete', disabled: !allowed || (locked && !dmsf_link) %>
|
||||
</li>
|
||||
|
||||
@ -22,19 +22,21 @@
|
||||
|
||||
<% if file.notification %>
|
||||
<%= link_to l(:label_notifications_off),
|
||||
notify_deactivate_dmsf_files_path(id: file),
|
||||
notify_deactivate_dmsf_files_path(id: file, back_url: back_url),
|
||||
title: l(:title_notifications_active_deactivate),
|
||||
class: 'icon icon-email' %>
|
||||
<% else %>
|
||||
<%= link_to l(:label_notifications_on),
|
||||
notify_activate_dmsf_files_path(id: file),
|
||||
notify_activate_dmsf_files_path(id: file, back_url: back_url),
|
||||
title: l(:title_notifications_not_active_activate),
|
||||
class: 'icon icon-email-add' %>
|
||||
<% end %>
|
||||
<%= link_to l(:label_link_to),
|
||||
new_dmsf_link_path(project_id: project.id, dmsf_folder_id: file.dmsf_folder ? file.dmsf_folder.id : nil, dmsf_file_id: file.id, type: 'link_to'),
|
||||
new_dmsf_link_path(project_id: project.id, dmsf_folder_id: file.dmsf_folder ? file.dmsf_folder.id : nil,
|
||||
dmsf_file_id: file.id, type: 'link_to', back_url: back_url),
|
||||
title: l(:title_create_link),
|
||||
class: 'icon dmsf-icon-link' %>
|
||||
<%= link_to "#{l(:button_copy)}/#{l(:button_move)}", copy_file_path(id: file),
|
||||
<%= link_to "#{l(:button_copy)}/#{l(:button_move)}", copy_file_path(id: file, back_url: back_url),
|
||||
title: l(:title_copy), class: 'icon icon-copy' %>
|
||||
<%= delete_link(dmsf_file_path(id: file, details: true)) if file_delete_allowed %>
|
||||
<%= delete_link(dmsf_file_path(id: file, details: true),
|
||||
back_url: dmsf_folder_path(id: file.project, folder_id: file.dmsf_folder)) if file_delete_allowed %>
|
||||
|
||||
@ -24,16 +24,17 @@
|
||||
<% if @dmsf_file %>
|
||||
<%= render partial: 'file', locals: { project: @project, folder: @folder, dmsf_file: @dmsf_file,
|
||||
dmsf_link: @dmsf_link, locked: @locked, unlockable: @unlockable,
|
||||
allowed: @allowed, email_allowed: @email_allowed } %>
|
||||
allowed: @allowed, email_allowed: @email_allowed, back_url: @back_url } %>
|
||||
<% elsif @dmsf_folder %>
|
||||
<%= render partial: 'folder', locals: { project: @project, folder: @folder, dmsf_folder: @dmsf_folder,
|
||||
dmsf_link: @dmsf_link, locked: @locked, unlockable: @unlockable,
|
||||
allowed: @allowed, email_allowed: @email_allowed } %>
|
||||
allowed: @allowed, email_allowed: @email_allowed, edit: false,
|
||||
back_url: @back_url } %>
|
||||
<% elsif @dmsf_link %>
|
||||
<%= render partial: 'url', locals: { dmsf_link: @dmsf_link, allowed: @allowed } %>
|
||||
<%= render partial: 'url', locals: { dmsf_link: @dmsf_link, allowed: @allowed, back_url: @back_url } %>
|
||||
<% else %>
|
||||
<%= render partial: 'multiple', locals: { project: @project, folder: @folder, allowed: @allowed,
|
||||
email_allowed: @email_allowed } %>
|
||||
email_allowed: @email_allowed, back_url: @back_url } %>
|
||||
<% end %>
|
||||
</ul>
|
||||
|
||||
|
||||
@ -28,24 +28,28 @@
|
||||
<% if @file_manipulation_allowed %>
|
||||
<% if @file.locked_for_user? %>
|
||||
<% if User.current.allowed_to?(:force_file_unlock, @project) %>
|
||||
<%= link_to_if @file.unlockable?, l(:button_unlock), unlock_dmsf_files_path(id: @file),
|
||||
<%= link_to_if @file.unlockable?, l(:button_unlock), unlock_dmsf_files_path(id: @file,
|
||||
back_url: dmsf_file_path(id: @file)),
|
||||
title: l(:title_unlock_file), class: 'icon icon-unlock' %>
|
||||
<% end %>
|
||||
<% else %>
|
||||
<% if @file.locked? %>
|
||||
<%= link_to_if @file.unlockable?, l(:button_unlock), unlock_dmsf_files_path(id: @file),
|
||||
<%= link_to_if @file.unlockable?, l(:button_unlock), unlock_dmsf_files_path(id: @file,
|
||||
back_url: dmsf_file_path(id: @file)),
|
||||
title: l(:title_unlock_file), class: 'icon icon-unlock' %>
|
||||
<% else %>
|
||||
<%= link_to l(:button_lock), lock_dmsf_files_path(id: @file),
|
||||
<%= link_to l(:button_lock), lock_dmsf_files_path(id: @file, back_url: dmsf_file_path(id: @file)),
|
||||
title: l(:title_lock_file), class: 'icon icon-lock' %>
|
||||
<% end %>
|
||||
<% if defined?(EasyExtensions) %>
|
||||
<%= render partial: 'dmsf_context_menus/revisions',
|
||||
locals: { project: @project, file: @file, file_delete_allowed: @file_delete_allowed } %>
|
||||
locals: { project: @project, file: @file, file_delete_allowed: @file_delete_allowed,
|
||||
back_url: dmsf_file_path(id: @file)} %>
|
||||
<% else %>
|
||||
<%= actions_dropdown do %>
|
||||
<%= render partial: 'dmsf_context_menus/revisions',
|
||||
locals: { project: @project, file: @file, file_delete_allowed: @file_delete_allowed } %>
|
||||
locals: { project: @project, file: @file, file_delete_allowed: @file_delete_allowed,
|
||||
back_url: dmsf_file_path(id: @file) } %>
|
||||
<% end %>
|
||||
<% end %>
|
||||
<% end %>
|
||||
|
||||
@ -32,4 +32,5 @@
|
||||
folders: @folders,
|
||||
file_or_folder: @file,
|
||||
target_folder: @target_folder,
|
||||
permission: :file_manipulation } %>
|
||||
permission: :file_manipulation,
|
||||
back_url: @back_url } %>
|
||||
|
||||
@ -22,6 +22,7 @@
|
||||
|
||||
<% if projects.present? %>
|
||||
<%= form_tag({ action: 'copy', id: file_or_folder}, id: 'copyForm') do %>
|
||||
<%= hidden_field_tag 'back_url', back_url %>
|
||||
<div class="box tabular">
|
||||
<p>
|
||||
<%= label_tag 'target_project_id', l(:field_target_project) %>
|
||||
|
||||
@ -31,4 +31,5 @@
|
||||
folders: @folders,
|
||||
file_or_folder: @folder,
|
||||
target_folder: @target_folder,
|
||||
permission: :folder_manipulation } %>
|
||||
permission: :folder_manipulation,
|
||||
back_url: @back_url} %>
|
||||
|
||||
@ -29,6 +29,7 @@
|
||||
<%= f.hidden_field :type, value: @type %>
|
||||
<%= f.hidden_field :dmsf_file_id, value: @dmsf_file_id %>
|
||||
<%= f.hidden_field(:container, value: @container) if @container %>
|
||||
<%= hidden_field_tag 'back_url', @back_url %>
|
||||
<div class="box tabular">
|
||||
<% if (@type == 'link_from') && !@container %>
|
||||
<p>
|
||||
|
||||
@ -105,7 +105,7 @@ class DmsfControllerTest < RedmineDmsf::Test::TestCase
|
||||
assert_equal 0, DmsfFolder.deleted.where(project_id: @project1.id).all.size
|
||||
assert_equal 0, DmsfFile.deleted.where(project_id: @project1.id).all.size
|
||||
assert_equal 0, DmsfLink.deleted.where(project_id: @project1.id).all.size
|
||||
assert_redirected_to trash_dmsf_path(id: @project1.id)
|
||||
assert_redirected_to trash_dmsf_path(id: @project1)
|
||||
end
|
||||
|
||||
def test_empty_trash_forbidden
|
||||
@ -124,7 +124,7 @@ class DmsfControllerTest < RedmineDmsf::Test::TestCase
|
||||
|
||||
def test_delete_locked
|
||||
# Permissions OK but the folder is locked
|
||||
@request.env['HTTP_REFERER'] = dmsf_folder_path(id: @project1.id, folder_id: @folder2.id)
|
||||
@request.env['HTTP_REFERER'] = dmsf_folder_path(id: @project1, folder_id: @folder2.id)
|
||||
get :delete, params: { id: @project1, folder_id: @folder2.id, commit: false}
|
||||
assert_response :redirect
|
||||
assert_include l(:error_folder_is_locked), flash[:error]
|
||||
@ -154,7 +154,7 @@ class DmsfControllerTest < RedmineDmsf::Test::TestCase
|
||||
|
||||
def test_restore_ok
|
||||
# Permissions OK
|
||||
@request.env['HTTP_REFERER'] = trash_dmsf_path(id: @project1.id)
|
||||
@request.env['HTTP_REFERER'] = trash_dmsf_path(id: @project1)
|
||||
@folder1.deleted = 1
|
||||
@folder1.save
|
||||
get :restore, params: { id: @project1, folder_id: @folder1.id }
|
||||
@ -171,7 +171,7 @@ class DmsfControllerTest < RedmineDmsf::Test::TestCase
|
||||
|
||||
def test_delete_entries_ok
|
||||
# Permissions OK
|
||||
@request.env['HTTP_REFERER'] = dmsf_folder_path(id: @project1.id)
|
||||
@request.env['HTTP_REFERER'] = dmsf_folder_path(id: @project1)
|
||||
flash[:error] = nil
|
||||
get :entries_operation, params: { id: @project1, delete_entries: 'Delete',
|
||||
ids: ["folder-#{@folder7.id}", "file-#{@file1.id}", "file-link-#{@link2.id}"]}
|
||||
@ -181,7 +181,7 @@ class DmsfControllerTest < RedmineDmsf::Test::TestCase
|
||||
|
||||
def test_restore_entries
|
||||
# Restore
|
||||
@request.env['HTTP_REFERER'] = trash_dmsf_path(id: @project1.id)
|
||||
@request.env['HTTP_REFERER'] = trash_dmsf_path(id: @project1)
|
||||
flash[:error] = nil
|
||||
get :entries_operation, params: { id: @project1, restore_entries: 'Restore',
|
||||
ids: ["file-#{@file1.id}", "file-link-#{@link2.id}"]}
|
||||
|
||||
@ -263,7 +263,7 @@ class DmsfWorkflowsControllerTest < RedmineDmsf::Test::TestCase
|
||||
step_action: DmsfWorkflowStepAction::ACTION_APPROVE,
|
||||
user_id: nil,
|
||||
note: ''})
|
||||
assert_redirected_to dmsf_folder_path(id: @project1.id)
|
||||
assert_redirected_to dmsf_folder_path(id: @project1)
|
||||
assert DmsfWorkflowStepAction.where(
|
||||
dmsf_workflow_step_assignment_id: @wfsa2.id,
|
||||
action: DmsfWorkflowStepAction::ACTION_APPROVE).first
|
||||
@ -306,7 +306,7 @@ class DmsfWorkflowsControllerTest < RedmineDmsf::Test::TestCase
|
||||
dmsf_file_revision_id: @revision2.id,
|
||||
step_action: @admin.id * 10,
|
||||
note: 'Delegated because...'})
|
||||
assert_redirected_to dmsf_folder_path(id: @project1.id)
|
||||
assert_redirected_to dmsf_folder_path(id: @project1)
|
||||
assert DmsfWorkflowStepAction.where(
|
||||
dmsf_workflow_step_assignment_id: @wfsa2.id,
|
||||
action: DmsfWorkflowStepAction::ACTION_DELEGATE).first
|
||||
@ -329,7 +329,7 @@ class DmsfWorkflowsControllerTest < RedmineDmsf::Test::TestCase
|
||||
def test_start
|
||||
@revision2.dmsf_workflow_id = @wf1.id
|
||||
get :start, params: { id: @revision2.dmsf_workflow_id, dmsf_file_revision_id: @revision2.id }
|
||||
assert_redirected_to dmsf_folder_path(id: @project1.id)
|
||||
assert_redirected_to dmsf_folder_path(id: @project1)
|
||||
end
|
||||
|
||||
def test_assignment
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user