OSDN Git Service

t#31056:add diff import
[pettanr/pettanr.git] / app / controllers / provider_statuses_controller.rb
index 0e865e0..241917c 100644 (file)
@@ -1,6 +1,6 @@
 class ProviderStatusesController < ApplicationController
   layout 'test' if MagicNumber['test_layout']
-  before_filter :authenticate_admin!, :only => [:index, :show, :edit, :update, :destroy, :licenses_import, :artists_import, :original_pictures_import]
+  before_filter :authenticate_admin!, :only => [:index, :show, :edit, :update, :destroy, :licenses_import, :artists_import, :original_pictures_import, :import]
   
   private
   
@@ -24,6 +24,12 @@ class ProviderStatusesController < ApplicationController
     ProviderOriginalPicture.import @provider_status.provider.id, original_pictures, pictures
   end
   
+  def port
+    exports = export_by('export', @provider_status, params[:date])
+    return nil unless exports
+    ProviderStatus.import @provider_status.provider.id, exports
+  end
+  
   public
   
   def index
@@ -120,4 +126,15 @@ class ProviderStatusesController < ApplicationController
     end
   end
   
+  def import
+    @provider_status = ProviderStatus.show(params[:id], @admin)
+    raise ActiveRecord::Forbidden if @provider_status.status == 0
+    @failures = port
+    p @failures
+    respond_to do |format|
+      format.html # show.html.erb
+      format.json { render :json => @failures.to_json() }
+    end
+  end
+  
 end