From: yasushiito Date: Tue, 1 Apr 2014 02:51:47 +0000 (+0900) Subject: fix read permission for element X-Git-Url: http://git.osdn.net/view?p=pettanr%2Fpettanr.git;a=commitdiff_plain;h=ee63ea673d609c24eeda4b6f8b973cb55729768f fix read permission for element --- diff --git a/app/models/ground_color.rb b/app/models/ground_color.rb index e750723b..a73571a9 100644 --- a/app/models/ground_color.rb +++ b/app/models/ground_color.rb @@ -54,11 +54,6 @@ class GroundColor < Peta::Element self.panel_id = pid end - def visible? operators - return false unless super - self.owner_model.visible? operators - end - def div_offset xy ? xy : 0 end diff --git a/app/models/ground_picture.rb b/app/models/ground_picture.rb index bed742ad..aaa68404 100644 --- a/app/models/ground_picture.rb +++ b/app/models/ground_picture.rb @@ -61,11 +61,6 @@ class GroundPicture < Peta::Element self.panel_id = pid end - def visible? operators - return false unless super - self.owner_model.visible? operators - end - def style spot = nil, opacity = 20 r = { 'position' => 'absolute', 'top' => '0px', 'left' => '0px', 'z-index' => self.z, diff --git a/app/models/panel_picture.rb b/app/models/panel_picture.rb index e8062177..54ddf445 100644 --- a/app/models/panel_picture.rb +++ b/app/models/panel_picture.rb @@ -47,11 +47,6 @@ class PanelPicture < Peta::Element true end - def visible? operators - return false unless super - self.owner_model.visible? operators - end - def supply_default self.x = 0 self.y = 0 diff --git a/app/models/scroll_panel.rb b/app/models/scroll_panel.rb index 3b8b76c2..8dab5bb2 100644 --- a/app/models/scroll_panel.rb +++ b/app/models/scroll_panel.rb @@ -20,11 +20,6 @@ class ScrollPanel < Peta::Leaf self.author_id = operators.author.id end - def visible? operators - return false unless super - self.owner_model.visible? operators - end - def self.list_order 'scroll_panels.updated_at desc' end diff --git a/app/models/sheet_panel.rb b/app/models/sheet_panel.rb index 15612349..60d3346b 100644 --- a/app/models/sheet_panel.rb +++ b/app/models/sheet_panel.rb @@ -32,11 +32,6 @@ class SheetPanel < Peta::Element self.author_id = operators.author.id end - def visible? operators - return false unless super - self.owner_model.visible? operators - end - def self.list_where 'sheets.visible > 0' end diff --git a/app/models/story.rb b/app/models/story.rb index efb6666b..b93cb78d 100644 --- a/app/models/story.rb +++ b/app/models/story.rb @@ -20,7 +20,7 @@ class Story < Peta::Binder def visible? operators return false unless super - self.owner_model.visible? operators + self.visible > 0 end def disp_t diff --git a/app/models/story_sheet.rb b/app/models/story_sheet.rb index e0f98edf..9056a7a5 100644 --- a/app/models/story_sheet.rb +++ b/app/models/story_sheet.rb @@ -20,11 +20,6 @@ class StorySheet < Peta::Leaf self.author_id = operators.author.id end - def visible? operators - return false unless super - self.owner_model.visible? operators - end - def self.list_where 'stories.visible > 0' end diff --git a/lib/peta/element.rb b/lib/peta/element.rb index 5f9f9e52..6a692293 100644 --- a/lib/peta/element.rb +++ b/lib/peta/element.rb @@ -19,8 +19,12 @@ module Peta end def self.root_model - if self.parent_model and self.parent_model.element? - self.parent_model.root_model + if self.parent_model + if self.parent_model.element? + self.parent_model.root_model + else + self.parent_model + end else self end @@ -28,9 +32,13 @@ module Peta # Instance Methods + def root + self.__send__ self.class.root_model.item_name + end + def visible? operators return false unless super - true + self.root.visible? operators end def self.list_opt_for_panel diff --git a/lib/peta/leaf.rb b/lib/peta/leaf.rb index a877c5ac..5b35555e 100644 --- a/lib/peta/leaf.rb +++ b/lib/peta/leaf.rb @@ -22,9 +22,13 @@ module Peta self.parent_model end + def root + self.__send__ self.class.root_model.item_name + end + def visible? operators return false unless super - self.class.root_model.visible? operators + self.root.visible? operators end def self.play_list_where cid