OSDN Git Service

プラグイン画面の遷移を修正
authorTaro Matsuzawa <tmatsuzawa@kbmj.com>
Wed, 6 Oct 2010 09:38:24 +0000 (18:38 +0900)
committerTaro Matsuzawa <tmatsuzawa@kbmj.com>
Wed, 6 Oct 2010 09:38:24 +0000 (18:38 +0900)
app/controllers/admin/plugins_controller.rb
app/models/normal_payment_plugin.rb
app/models/payment_plugin.rb

index 41293c3..bef987b 100644 (file)
@@ -68,11 +68,12 @@ class Admin::PluginsController < Admin::BaseController
 
   def payment_plugin_data_management
     unless get_plugin_instance(params[:id])
+      flash[:notice] = "このプラグインのインスタンスが取得できません。無効になっているか確認してください。"
       redirect_to(:action => :index)
       return
     end
     unless @payment_plugin_instance.has_data_management?
-      flash[:notice] = "データ管理はありません"
+      flash[:notice] = "ã\81\93ã\81®ã\83\97ã\83©ã\82°ã\82¤ã\83³ã\81«ã\83\87ã\83¼ã\82¿ç®¡ç\90\86ã\81¯ã\81\82ã\82\8aã\81¾ã\81\9bã\82\93"
       redirect_to(:action => :index)
       return
     end
@@ -82,11 +83,12 @@ class Admin::PluginsController < Admin::BaseController
 
   def payment_plugin_config
     unless get_plugin_instance(params[:id])
+      flash.now[:notice] = "このプラグインのインスタンスが取得できません。無効になっているか確認してください。"
       redirect_to(:action => :index)
       return
     end
     unless @payment_plugin_instance.has_config?
-      flash[:notice] = "データ管理はありません"
+      flash.now[:notice] = "このプラグインに設定ページはありません"
       redirect_to(:action => :index)
       return
     end
@@ -95,12 +97,13 @@ class Admin::PluginsController < Admin::BaseController
   end
 
   def payment_plugin_info
-    unless get_plugin_instance(params[:id])
+    unless get_plugin_instance(params[:id], true)
+      flash.now[:notice] = "このプラグインのインスタンスが取得できません。クラスが正しく設定されているか確認してください。"
       redirect_to(:action => :index)
       return
     end
     unless @payment_plugin_instance.has_info?
-      flash[:notice] = "データ管理はありません"
+      flash.now[:notice] = "このプラグインに詳細ページはありません"
       redirect_to(:action => :index)
       return
     end
@@ -109,12 +112,12 @@ class Admin::PluginsController < Admin::BaseController
   end
   private
 
-  def get_plugin_instance(id)
+  def get_plugin_instance(id, disable_flg = false)
     @payment_plugin = PaymentPlugin.find_by_id(id)
     if @payment_plugin.nil?
       return false
     end
-    @payment_plugin_instance = @payment_plugin.get_plugin_instance
+    @payment_plugin_instance = @payment_plugin.get_plugin_instance(disable_flg)
     if @payment_plugin_instance.nil?
       return false
     end
index 9c18840..05ac303 100644 (file)
@@ -15,10 +15,16 @@ class NormalPaymentPlugin < ActiveForm
     false
   end
 
+  def has_info?
+    false
+  end
+
+  def has_data_management?
+    false
+  end
+
   def payment_validate(payment)
-    return false, "は共通の発送は選べません" if payment.common_delivery?
     return true, ""
   end
 
-
 end
index 8d94027..194df63 100644 (file)
@@ -5,8 +5,8 @@ class PaymentPlugin < ActiveRecord::Base
 
   validates_presence_of :name, :model_name, :detail
 
-  def get_plugin_instance
-    return nil unless self.enable
+  def get_plugin_instance(disable = false)
+    return nil unless self.enable || disable
     ret = nil
     class_name = self.model_name.classify
     if Object.const_defined?(class_name)