diff --git a/app/controllers/dmsf_controller.rb b/app/controllers/dmsf_controller.rb index 106118ab..ce6ed50e 100644 --- a/app/controllers/dmsf_controller.rb +++ b/app/controllers/dmsf_controller.rb @@ -29,7 +29,7 @@ class DmsfController < ApplicationController before_filter :find_parent, :only => [:new, :create] before_filter :tree_view, :only => [:delete, :show] - accept_api_auth :show, :create + accept_api_auth :show, :create, :save helper :all @@ -180,6 +180,8 @@ class DmsfController < ApplicationController saved = @folder.save + + respond_to do |format| format.js format.api { @@ -223,11 +225,21 @@ class DmsfController < ApplicationController end end - if @folder.save - flash[:notice] = l(:notice_folder_details_were_saved) - redirect_to dmsf_folder_path(:id => @project, :folder_id => @folder) - else - render :action => 'edit' + saved = @folder.save + respond_to do |format| + format.api { + unless saved + render_validation_errors(@folder) + end + } + format.html { + if saved + flash[:notice] = l(:notice_folder_details_were_saved) + redirect_to dmsf_folder_path(:id => @project, :folder_id => @folder) + else + render :action => 'edit' + end + } end end @@ -667,3 +679,4 @@ class DmsfController < ApplicationController end end + diff --git a/app/views/dmsf/save.api.rsb b/app/views/dmsf/save.api.rsb new file mode 100644 index 00000000..7af62e91 --- /dev/null +++ b/app/views/dmsf/save.api.rsb @@ -0,0 +1,5 @@ +api.dmsf_folder do + api.id @folder.id + api.title @folder.title + api.description @folder.description +end