From: yasushiito Date: Thu, 3 Sep 2015 09:33:00 +0000 (+0900) Subject: fix: heroku X-Git-Url: http://git.osdn.net/view?p=pettanr%2Fpettanr.git;a=commitdiff_plain;h=e633f76da3c7443f7a0b7278e95add0db51f4bf4 fix: heroku --- diff --git a/app/assets/javascripts/views/speech_balloons/new_element.js.coffee b/app/assets/javascripts/views/speech_balloons/new_element.js.coffee index 2e7d4519..0248d433 100644 --- a/app/assets/javascripts/views/speech_balloons/new_element.js.coffee +++ b/app/assets/javascripts/views/speech_balloons/new_element.js.coffee @@ -69,14 +69,16 @@ class Pettanr.Views.SpeechBalloon.NewElement extends Pettanr.View new_item = new @target_model(item.attributes) new_item.unset('id', {silent: true}) new_item.set({panel_id: @editor().item.get('id')}, {silent: true}) - balloon.unset('id', {silent: true}) - balloon.unset('speech_balloon_id', {silent: true}) - speech.unset('id', {silent: true}) - speech.unset('speech_balloon_id', {silent: true}) + new_balloon = balloon.clone() + new_balloon.unset('id', {silent: true}) + new_balloon.unset('speech_balloon_id', {silent: true}) + new_speech = speech.clone() + new_speech.unset('id', {silent: true}) + new_speech.unset('speech_balloon_id', {silent: true}) new_item.boosts 'post' - balloon.boosts 'post' - speech.boosts 'post' - new_item.set({balloon: balloon, speech: speech}, {silent: true}) + new_balloon.boosts 'post' + new_speech.boosts 'post' + new_item.set({balloon: new_balloon, speech: new_speech}, {silent: true}) @trigger('ready', new_item) }) }) diff --git a/lib/manifest/controller/action/list.rb b/lib/manifest/controller/action/list.rb index 873755d7..4bdbce79 100644 --- a/lib/manifest/controller/action/list.rb +++ b/lib/manifest/controller/action/list.rb @@ -28,9 +28,13 @@ module Manifest 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]) - ).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 = {} @@ -58,16 +62,16 @@ module Manifest 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 - 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? diff --git a/lib/manifest/system_resource.rb b/lib/manifest/system_resource.rb index 120902a6..da4fa2e1 100644 --- a/lib/manifest/system_resource.rb +++ b/lib/manifest/system_resource.rb @@ -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) - 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