OSDN Git Service

fix Manifest lst
[pettanr/pettanr.git] / lib / manifest / model / list / filter.rb
index c8eee97..daf0ea2 100644 (file)
@@ -1,52 +1,54 @@
 module Manifest
-  module ListModule
-    class FilterList < BaseList
-      
-      def set_default
-        super
-      end
-      
-      def init
-        super
-        return
-      end
-      
-      def where filter_item
-        w = @model.list_where
-        w += ' and ' unless w.blank?
-        [w + @table_name + '.' + @filter_key + ' = ?', filter_item.id] 
-      end
-      
-      def includes
-        return @includes if @includes
-        w = @owner_model ? {@owner_model.item_name => {}} : {}
-        w.merge({@from => {} }) 
-      end
-      
-      def items filter_item
-        @model.where(self.where(filter_item)).includes(self.includes).order(self.order).offset(@offset).limit(@page_size)
-      end
-      
-      def paginate filter_item
-        Kaminari.paginate_array(Array.new(@model.where(self.where(filter_item)).includes(self.includes).count, nil)).page(@offset).per(@page_size)
-      end
-      
-      def self._add_action item_name, action_name, list_name, list_conf
-        return
-        model = item_name.classify.constantize
-        controller_name = model.plural + 'Controller'
-        controller = controller_name.constantize
-        list_list_conf = Pettanr::Application::manifest.list(item_name).lists[list_name] || {}
-        from = list_list_conf['from']
-        filter_model = from.classify.constantize
-        filter_key = list_list_conf['filter_key']
-        return if controller.method_defined?(action_name)
-        controller.define_method(action_name) do 
-          filter_list filter_model, params
+  module ModelModule
+    module ListModule
+      class FilterList < Base
+        
+        def set_default
+          super
+        end
+        
+        def init
+          super
+          return
+        end
+        
+        def where filter_item
+          w = @model.list_where
+          w += ' and ' unless w.blank?
+          [w + @table_name + '.' + @filter_key + ' = ?', filter_item.id] 
+        end
+        
+        def includes
+          return @includes if @includes
+          w = @owner_model ? {@owner_model.item_name => {}} : {}
+          w.merge({@from => {} }) 
+        end
+        
+        def items filter_item
+          @model.where(self.where(filter_item)).includes(self.includes).order(self.order).offset(@offset).limit(@page_size)
+        end
+        
+        def paginate filter_item
+          Kaminari.paginate_array(Array.new(@model.where(self.where(filter_item)).includes(self.includes).count, nil)).page(@offset).per(@page_size)
+        end
+        
+        def self._add_action item_name, action_name, list_name, list_conf
+          return
+          model = item_name.classify.constantize
+          controller_name = model.plural + 'Controller'
+          controller = controller_name.constantize
+          list_list_conf = Pettanr::Application::manifest.list(item_name).lists[list_name] || {}
+          from = list_list_conf['from']
+          filter_model = from.classify.constantize
+          filter_key = list_list_conf['filter_key']
+          return if controller.method_defined?(action_name)
+          controller.define_method(action_name) do 
+            filter_list filter_model, params
+          end
         end
+        
       end
       
     end
-    
   end
 end