Documents' preview
This commit is contained in:
parent
9ce4fc481c
commit
2a2ef8ba60
@ -1,19 +1,21 @@
|
||||
Changelog for Redmine DMSF
|
||||
==========================
|
||||
|
||||
3.0.13 ????-??-??
|
||||
3.0.13 *????-??-??*
|
||||
------------------
|
||||
|
||||
An option to disable the original module Documents in the plugin's settings
|
||||
Documents preview available if the binary is available but not explicitly defined in the plugin's settings
|
||||
Rubocop tests of the plugin's source codes
|
||||
|
||||
3.0.12 2023-03-15
|
||||
3.0.12 *2023-03-15*
|
||||
------------------
|
||||
|
||||
Bug fixing
|
||||
|
||||
* Bug: #1436 - Cannot upload new content
|
||||
|
||||
3.0.11 2023-03-14
|
||||
3.0.11 *2023-03-14*
|
||||
------------------
|
||||
|
||||
Bug fixing
|
||||
|
||||
@ -37,6 +37,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)
|
||||
@preview = RedmineDmsf::Preview.office_available? && Setting.plugin_redmine_dmsf['office_bin'].blank?
|
||||
elsif @dmsf_folder
|
||||
@locked = @dmsf_folder.locked?
|
||||
@project = @dmsf_folder.project
|
||||
|
||||
@ -77,7 +77,7 @@ class DmsfFilesController < ApplicationController
|
||||
expires_in 0.years, 'must-revalidate' => true
|
||||
pdf_preview = (params[:disposition] != 'attachment') && params[:filename].blank? && @file.pdf_preview
|
||||
filename = filename_for_content_disposition(@revision.formatted_name(member))
|
||||
if pdf_preview.present?
|
||||
if pdf_preview.present? && (Setting.plugin_redmine_dmsf['office_bin'].present? || params[:preview].present?)
|
||||
basename = File.basename(filename, '.*')
|
||||
send_file pdf_preview, filename: "#{basename}.pdf", type: 'application/pdf', disposition: 'inline'
|
||||
else
|
||||
|
||||
@ -87,6 +87,12 @@
|
||||
<li>
|
||||
<%= render partial: 'dmsf_context_menus/watch', locals: { object: dmsf_file } %>
|
||||
</li>
|
||||
<% if @preview %>
|
||||
<li>
|
||||
<%= context_menu_link l(:label_preview), view_dmsf_file_path(dmsf_file, preview: true),
|
||||
class: 'icon icon-magnifier', disabled: false %>
|
||||
</li>
|
||||
<% end %>
|
||||
<li>
|
||||
<%= context_menu_link l(:button_delete),
|
||||
dmsf_link ? dmsf_link_path(id: dmsf_link, folder_id: folder, back_url: back_url) : dmsf_file_path(id: dmsf_file,
|
||||
|
||||
@ -23,7 +23,7 @@
|
||||
<%= 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,
|
||||
notifications: @notifications, back_url: @back_url } %>
|
||||
notifications: @notifications, preview: @preview, 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,
|
||||
|
||||
@ -27,7 +27,7 @@ module RedmineDmsf
|
||||
extend Redmine::Utils::Shell
|
||||
include Redmine::I18n
|
||||
|
||||
OFFICE_BIN = (Setting.plugin_redmine_dmsf['office_bin'] || 'libreoffice').freeze
|
||||
OFFICE_BIN = (Setting.plugin_redmine_dmsf['office_bin'].presence || 'libreoffice').freeze
|
||||
|
||||
def self.office_available?
|
||||
return @office_available if defined?(@office_available)
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user