diff --git a/app/controllers/dmsf_controller.rb b/app/controllers/dmsf_controller.rb index 63121919..65e355fe 100644 --- a/app/controllers/dmsf_controller.rb +++ b/app/controllers/dmsf_controller.rb @@ -258,9 +258,17 @@ class DmsfController < ApplicationController end @folder.project = @project @folder.user = User.current + + # Custom fields + if params[:dmsf_folder][:custom_field_values].present? + params[:dmsf_folder][:custom_field_values].each_with_index do |v, i| + @folder.custom_field_values[i].value = v[1] + end + end + if @folder.save - flash[:notice] = l(:notice_folder_created) - redirect_to({:controller => 'dmsf', :action => 'show', :id => @project, :folder_id => @folder}) + flash[:notice] = l(:notice_folder_created) + redirect_to dmsf_folder_path(:id => @project, :folder_id => @folder) else @pathfolder = @parent render :action => 'edit' @@ -273,15 +281,23 @@ class DmsfController < ApplicationController end def save - unless params[:dmsf_folder] - redirect_to :controller => 'dmsf', :action => 'show', :id => @project, :folder_id => @folder + unless params[:dmsf_folder] + redirect_to dmsf_folder_path(:id => @project, :folder_id => @folder) return end @pathfolder = copy_folder(@folder) @folder.attributes = params[:dmsf_folder] + + # Custom fields + if params[:dmsf_folder][:custom_field_values].present? + params[:dmsf_folder][:custom_field_values].each_with_index do |v, i| + @folder.custom_field_values[i].value = v[1] + end + end + if @folder.save - flash[:notice] = l(:notice_folder_details_were_saved) - redirect_to :controller => 'dmsf', :action => 'show', :id => @project, :folder_id => @folder + flash[:notice] = l(:notice_folder_details_were_saved) + redirect_to dmsf_folder_path(:id => @project, :folder_id => @folder) else render :action => 'edit' end diff --git a/app/controllers/dmsf_files_controller.rb b/app/controllers/dmsf_files_controller.rb index 10e85842..591b9cd1 100644 --- a/app/controllers/dmsf_files_controller.rb +++ b/app/controllers/dmsf_files_controller.rb @@ -137,6 +137,13 @@ class DmsfFilesController < ApplicationController revision.disk_filename = revision.new_storage_filename revision.mime_type = Redmine::MimeType.of(file_upload.original_filename) end + + # Custom fields + if params[:dmsf_file_revision][:custom_field_values].present? + params[:dmsf_file_revision][:custom_field_values].each_with_index do |v, i| + revision.custom_field_values[i].value = v[1] + end + end @file.name = revision.name