From 1961e80238c1d248aa6959e64866833340a75b18 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Karel=20Pi=C4=8Dman?= Date: Fri, 14 Feb 2020 10:24:30 +0100 Subject: [PATCH] #1080 Uploader --- app/controllers/dmsf_controller.rb | 13 ++++++++++--- app/views/dmsf/_query_list.html.erb | 6 +++++- app/views/dmsf/show.html.erb | 14 ++++++++------ app/views/dmsf_upload/_multi_upload.html.erb | 10 +++++++++- 4 files changed, 32 insertions(+), 11 deletions(-) diff --git a/app/controllers/dmsf_controller.rb b/app/controllers/dmsf_controller.rb index dc703490..4cf21d6a 100644 --- a/app/controllers/dmsf_controller.rb +++ b/app/controllers/dmsf_controller.rb @@ -75,12 +75,19 @@ class DmsfController < ApplicationController def show @rlf = cookies[:dmsf_switch_rlf] == 'true' if @rlf + @system_folder = @folder && @folder.system + @locked_for_user = @folder && @folder.locked_for_user? + #@folder_manipulation_allowed = User.current.allowed_to?(:folder_manipulation, @project) + @file_manipulation_allowed = User.current.allowed_to?(:file_manipulation, @project) + #@file_delete_allowed = User.current.allowed_to?(:file_delete, @project) + #@file_view_allowed = User.current.allowed_to?(:view_dmsf_files, @project) + #@force_file_unlock_allowed = User.current.allowed_to?(:force_file_unlock, @project) + #@workflows_available = DmsfWorkflow.where(['project_id = ? OR project_id IS NULL', @project.id]).exists? + #@file_approval_allowed = User.current.allowed_to?(:file_approval, @project) use_session = !request.format.csv? @query = retrieve_query(DmsfQuery, use_session) @query.dmsf_folder_id = @folder ? @folder.id : nil @query.deleted = false - #@query.project = @project - #@query = DmsfQuery.new(name: 'Dmsf', dmsf_folder: @folder, project: @project) if (@folder && @folder.deleted?) || (params[:folder_title].present? && !@folder) render_404 return @@ -88,7 +95,7 @@ class DmsfController < ApplicationController respond_to do |format| format.html { @dmsf_count = @query.dmsf_count - @dmsf_pages = Paginator.new @issue_count, per_page_option, params['page'] + @dmsf_pages = Paginator.new @dmsf_count, per_page_option, params['page'] @dmsf_nodes = @query.dmsf_nodes(offset: @dmsf_pages.offset, limit: @dmsf_pages.per_page) render layout: !request.xhr? } diff --git a/app/views/dmsf/_query_list.html.erb b/app/views/dmsf/_query_list.html.erb index 3fe93d15..4a4cef55 100644 --- a/app/views/dmsf/_query_list.html.erb +++ b/app/views/dmsf/_query_list.html.erb @@ -44,7 +44,11 @@ <% level = 0 %> <% query.dmsf_nodes.each do |node| %> "> - <%= check_box_tag("ids[]", node.id, false, id: nil) %> + + <% unless node.title =~ /^\./ %> + <%= check_box_tag('ids[]', node.id, false, id: nil) %> + <% end %> + <% query.inline_columns.each do |column| %> <%= content_tag('td', column_content(column, node), class: column.css_classes) %> <% end %> diff --git a/app/views/dmsf/show.html.erb b/app/views/dmsf/show.html.erb index fed8fd64..5cbc477f 100644 --- a/app/views/dmsf/show.html.erb +++ b/app/views/dmsf/show.html.erb @@ -95,6 +95,7 @@ <%= render partial: 'queries/query_form' %> <% end %> <%= render partial: 'query_list', locals: { query: @query } %> + <%= pagination_links_full @dmsf_pages, @dmsf_count %> <% else %>
<%= form_tag(entries_operations_dmsf_path(id: @project, folder_id: @folder), method: :post, @@ -139,8 +140,6 @@ <% end %> <% end %> - <%= context_menu %> - <% content_for :header_tags do %> <%= stylesheet_link_tag 'jquery.dataTables/datatables.min.css', :plugin => :redmine_dmsf %> <%= javascript_include_tag 'jquery.dataTables/datatables.min.js', :plugin => :redmine_dmsf, defer: true %> @@ -233,11 +232,14 @@ }); <% end %> <% end %> - - <% if @file_manipulation_allowed && !@locked_for_user && !@system_folder %> - <%= render(:partial => 'dmsf_upload/multi_upload', local: { rlf: @rlf }) %> - <% end %> <% end %> + +<%= context_menu %> + +<% if @file_manipulation_allowed && !@locked_for_user && !@system_folder %> + <%= render(:partial => 'dmsf_upload/multi_upload', locals: { rlf: @rlf }) %> +<% end %> + <% unless (@folder && @folder.system) %> <% other_formats_links do |f| %> <%= f.link_to 'CSV', onclick: "showModal('dmsf_csv_export_options', '350px'); return false;" %> diff --git a/app/views/dmsf_upload/_multi_upload.html.erb b/app/views/dmsf_upload/_multi_upload.html.erb index 9d6d881c..b5b2f584 100644 --- a/app/views/dmsf_upload/_multi_upload.html.erb +++ b/app/views/dmsf_upload/_multi_upload.html.erb @@ -36,7 +36,10 @@ <% end %> +<% unless rlf %>

<%= l(:label_upload) %>

+<% end %> + <%= form_tag({ controller: 'dmsf_upload', action: 'upload_files', id: @project, folder_id: @folder }, id: 'uploadform', method: :post, multipart: true) do %> @@ -49,7 +52,12 @@ <% end %> -<% unless @rlf %> +<% if rlf %> + <%= late_javascript_tag do %> + $("#dmsf_uploader").show(); + $("#dmsf_uploader_header").show(); + <% end %> +<% else %> <% form_url = url_for({:controller => 'dmsf_upload', :action => 'upload_file', :id => @project}) max_file_size = "#{@ajax_upload_size}mb"