WIP: redmine3 support, continue
This commit is contained in:
parent
c791061ad6
commit
0ff35263a2
@ -248,7 +248,8 @@ class DmsfController < ApplicationController
|
||||
|
||||
def create
|
||||
if (Redmine::VERSION::MAJOR >= 3)
|
||||
@folder = DmsfFolder.new(folder_params)
|
||||
@folder = DmsfFolder.new(
|
||||
params.require(:dmsf_folder).permit(:title, :description, :dmsf_folder_id))
|
||||
else
|
||||
@folder = DmsfFolder.new(params[:dmsf_folder])
|
||||
end
|
||||
@ -436,7 +437,7 @@ class DmsfController < ApplicationController
|
||||
if (Redmine::VERSION::MAJOR >= 3)
|
||||
audit = DmsfFileRevisionAccess.new
|
||||
audit.user = User.current
|
||||
audit.revision = @revision
|
||||
audit.revision = f.last_revision
|
||||
audit.action = DmsfFileRevisionAccess::DownloadAction
|
||||
else
|
||||
audit = DmsfFileRevisionAccess.new(:user_id => User.current.id, :dmsf_file_revision_id => f.last_revision.id,
|
||||
@ -591,9 +592,4 @@ class DmsfController < ApplicationController
|
||||
copy
|
||||
end
|
||||
|
||||
private
|
||||
def folder_params
|
||||
params.require(:dmsf_folder).permit(:title, :description, :dmsf_folder_id)
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
@ -114,7 +114,12 @@ class DmsfFilesController < ApplicationController
|
||||
if @file.locked_for_user?
|
||||
flash[:error] = l(:error_file_is_locked)
|
||||
else
|
||||
revision = DmsfFileRevision.new(params[:dmsf_file_revision])
|
||||
if (Redmine::VERSION::MAJOR >= 3)
|
||||
aparams = frev_params
|
||||
else
|
||||
aparams = params
|
||||
end
|
||||
revision = DmsfFileRevision.new(aparams)
|
||||
|
||||
revision.file = @file
|
||||
last_revision = @file.last_revision
|
||||
@ -288,6 +293,11 @@ class DmsfFilesController < ApplicationController
|
||||
|
||||
private
|
||||
|
||||
def frev_params
|
||||
params.require(:dmsf_file_revision).permit(
|
||||
:title, :name, :description, :comment)
|
||||
end
|
||||
|
||||
def log_activity(action)
|
||||
Rails.logger.info "#{Time.now.strftime('%Y-%m-%d %H:%M:%S')} #{User.current.login}@#{request.remote_ip}/#{request.env['HTTP_X_FORWARDED_FOR']}: #{action} dmsf://#{@file.project.identifier}/#{@file.id}/#{@revision.id if @revision}"
|
||||
end
|
||||
|
||||
@ -25,7 +25,11 @@ class DmsfLinksController < ApplicationController
|
||||
before_filter :authorize
|
||||
|
||||
def new
|
||||
@dmsf_link = DmsfLink.new(:project_id => params[:project_id])
|
||||
if (Redmine::VERSION::MAJOR >= 3)
|
||||
@dmsf_link = DmsfLink.new(l_params)
|
||||
else
|
||||
@dmsf_link = DmsfLink.new(:project_id => params[:project_id])
|
||||
end
|
||||
|
||||
if params[:dmsf_link].present?
|
||||
# Reload
|
||||
@ -185,6 +189,10 @@ class DmsfLinksController < ApplicationController
|
||||
|
||||
private
|
||||
|
||||
def l_params
|
||||
params.fetch(:dmsf_link, {}).permit(:project_id)
|
||||
end
|
||||
|
||||
def find_link_project
|
||||
if @dmsf_link
|
||||
@project = @dmsf_link.project
|
||||
@ -195,4 +203,4 @@ class DmsfLinksController < ApplicationController
|
||||
render_404
|
||||
end
|
||||
|
||||
end
|
||||
end
|
||||
|
||||
@ -52,7 +52,11 @@ class DmsfUploadController < ApplicationController
|
||||
|
||||
# async single file upload handling
|
||||
def upload_file
|
||||
@tempfile = params[:file]
|
||||
if (Redmine::VERSION::MAJOR >= 3)
|
||||
@tempfile = params.require(:file)
|
||||
else
|
||||
@tempfile = params[:file]
|
||||
end
|
||||
unless @tempfile.original_filename
|
||||
render_404
|
||||
return
|
||||
@ -82,7 +86,11 @@ class DmsfUploadController < ApplicationController
|
||||
end
|
||||
|
||||
def commit_files
|
||||
commited_files = params[:commited_files]
|
||||
if (Redmine::VERSION::MAJOR >= 3)
|
||||
commited_files = params.require(:commited_files)
|
||||
else
|
||||
commited_files = params[:commited_files]
|
||||
end
|
||||
if commited_files && commited_files.is_a?(Hash)
|
||||
files = []
|
||||
failed_uploads = []
|
||||
@ -220,4 +228,4 @@ class DmsfUploadController < ApplicationController
|
||||
render_403
|
||||
end
|
||||
|
||||
end
|
||||
end
|
||||
|
||||
@ -44,6 +44,7 @@ class DmsfFile < ActiveRecord::Base
|
||||
:class_name => 'DmsfLock', :foreign_key => 'entity_id', :dependent => :destroy
|
||||
has_many :referenced_links, -> { where target_type: DmsfFile.model_name},
|
||||
:class_name => 'DmsfLink', :foreign_key => 'target_id', :dependent => :destroy
|
||||
accepts_nested_attributes_for :revisions, :locks, :referenced_links, :project
|
||||
else
|
||||
has_many :revisions, :class_name => 'DmsfFileRevision', :foreign_key => 'dmsf_file_id',
|
||||
:order => "#{DmsfFileRevision.table_name}.major_version DESC, #{DmsfFileRevision.table_name}.minor_version DESC, #{DmsfFileRevision.table_name}.updated_at DESC",
|
||||
|
||||
@ -27,7 +27,7 @@ class DmsfFileRevision < ActiveRecord::Base
|
||||
has_many :access, :class_name => 'DmsfFileRevisionAccess', :foreign_key => 'dmsf_file_revision_id', :dependent => :destroy
|
||||
has_many :dmsf_workflow_step_assignment, :dependent => :destroy
|
||||
if (Redmine::VERSION::MAJOR >= 3)
|
||||
accepts_nested_attributes_for :access, :dmsf_workflow_step_assignment
|
||||
accepts_nested_attributes_for :access, :dmsf_workflow_step_assignment, :file, :user
|
||||
end
|
||||
|
||||
|
||||
|
||||
@ -20,8 +20,6 @@
|
||||
class DmsfFolder < ActiveRecord::Base
|
||||
unloadable
|
||||
|
||||
attr_accessible :title, :description, :dmsf_folder_id
|
||||
|
||||
include RedmineDmsf::Lockable
|
||||
|
||||
cattr_reader :invalid_characters
|
||||
|
||||
@ -577,8 +577,15 @@ module RedmineDmsf
|
||||
# If there is no range (start of ranged download, or direct download) then we log the
|
||||
# file access, so we can properly keep logged information
|
||||
if @request.env['HTTP_RANGE'].nil?
|
||||
access = DmsfFileRevisionAccess.new(:user_id => User.current.id, :dmsf_file_revision_id => file.last_revision.id,
|
||||
:action => DmsfFileRevisionAccess::DownloadAction)
|
||||
if (Redmine::VERSION::MAJOR >= 3)
|
||||
access = DmsfFileRevisionAccess.new
|
||||
access.user = User.current
|
||||
access.revision = file.revision
|
||||
access.action = DmsfFileRevisionAccess::DownloadAction
|
||||
else
|
||||
access = DmsfFileRevisionAccess.new(:user_id => User.current.id, :dmsf_file_revision_id => file.last_revision.id,
|
||||
:action => DmsfFileRevisionAccess::DownloadAction)
|
||||
end
|
||||
access.save!
|
||||
end
|
||||
Download.new(file.last_revision.disk_file)
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user