OSDN Git Service

fix: heroku
authoryasushiito <yas@pen-chan.jp>
Thu, 3 Sep 2015 09:33:00 +0000 (18:33 +0900)
committeryasushiito <yas@pen-chan.jp>
Thu, 3 Sep 2015 09:33:00 +0000 (18:33 +0900)
app/assets/javascripts/views/speech_balloons/new_element.js.coffee
lib/manifest/controller/action/list.rb
lib/manifest/system_resource.rb

index 2e7d451..0248d43 100644 (file)
@@ -69,14 +69,16 @@ class Pettanr.Views.SpeechBalloon.NewElement extends Pettanr.View
               new_item = new @target_model(item.attributes)\r
               new_item.unset('id', {silent: true})\r
               new_item.set({panel_id: @editor().item.get('id')}, {silent: true})\r
               new_item = new @target_model(item.attributes)\r
               new_item.unset('id', {silent: true})\r
               new_item.set({panel_id: @editor().item.get('id')}, {silent: true})\r
-              balloon.unset('id', {silent: true})\r
-              balloon.unset('speech_balloon_id', {silent: true})\r
-              speech.unset('id', {silent: true})\r
-              speech.unset('speech_balloon_id', {silent: true})\r
+              new_balloon = balloon.clone()\r
+              new_balloon.unset('id', {silent: true})\r
+              new_balloon.unset('speech_balloon_id', {silent: true})\r
+              new_speech = speech.clone()\r
+              new_speech.unset('id', {silent: true})\r
+              new_speech.unset('speech_balloon_id', {silent: true})\r
               new_item.boosts 'post'\r
               new_item.boosts 'post'\r
-              balloon.boosts 'post'\r
-              speech.boosts 'post'\r
-              new_item.set({balloon: balloon, speech: speech}, {silent: true})\r
+              new_balloon.boosts 'post'\r
+              new_speech.boosts 'post'\r
+              new_item.set({balloon: new_balloon, speech: new_speech}, {silent: true})\r
               @trigger('ready', new_item)\r
           })\r
       })\r
               @trigger('ready', new_item)\r
           })\r
       })\r
index 873755d..4bdbce7 100644 (file)
@@ -28,9 +28,13 @@ module Manifest
           if has_alias_action
             return self.alias_action.find options
           end
           if has_alias_action
             return self.alias_action.find options
           end
-          self.finder(options).order(
+          arel = self.finder(options).order(
             self.order_sql(options[:order], options[:direction])
             self.order_sql(options[:order], options[:direction])
-          ).page(options[:page]).per(options[:page_size])
+          )
+          if (ps = self.page_size(options[:page_size])) or options[:page]
+            arel = arel.page(self.page(options[:page])).per(ps)
+          end
+          arel
         end
         
         def finder options = {}
         end
         
         def finder options = {}
@@ -58,16 +62,16 @@ module Manifest
         end
         
         def page page
         end
         
         def page page
-          page.to_i
-          page = 1 if page < 1
-          page
+          pg = page.to_i
+          pg = 1 if pg < 1
+          pg
         end
         
         def page_size page_size
         end
         
         def page_size page_size
-          page_size ||= self.default_page_size
-          page_size = -1 if page_size < 0
-          page_size = self.max_page_size if page_size > self.max_page_size
-          page_size
+          ps = (page_size || self.default_page_size).to_i
+          return nil if ps < 0
+          ps = self.max_page_size if ps > self.max_page_size
+          ps
         end
         
         def limited?
         end
         
         def limited?
index 120902a..da4fa2e 100644 (file)
@@ -39,18 +39,11 @@ module Manifest
           resource_action_name = source_manifest.resource_action_name
           caption = source_manifest.caption_name
           resource_controller_name = ::Manifest.manifest.pluralize(resource_item_name)
           resource_action_name = source_manifest.resource_action_name
           caption = source_manifest.caption_name
           resource_controller_name = ::Manifest.manifest.pluralize(resource_item_name)
-          begin
-            list = Locmare::ListGroup.list(
-              resource_controller_name, 
-              resource_action_name, 
-              nil, 
-              {:page_size => -1}  # set no limit options
-            )
-            @select_items[source_manifest.select_item_name] = 
-              list.items.map {|item| [item.attributes[caption], item.id]}
-          rescue
-            puts 'skip store select_items:' + resource_item_name + '.' + resource_action_name
-          end
+          my_controller = Manifest.manifest.controllers[resource_controller_name]
+          my_action = my_controller.actions[resource_action_name]
+          list = my_action.find page_size: -1
+          @select_items[source_manifest.select_item_name] = 
+            list.map {|item| [item.attributes[caption], item.id]}
         }
       }
     end
         }
       }
     end