OSDN Git Service

t#30137:fix authenticate
[pettanr/pettanr.git] / app / models / panel_color.rb
index d9d1713..6683029 100644 (file)
@@ -11,16 +11,14 @@ class PanelColor < ActiveRecord::Base
   def overwrite
   end
   
-  def visible? au
-    if au == nil
-      return false if MagicNumber['run_mode'] == 1
-    elsif au.is_a?(Author)
-    elsif au.is_a?(Admin)
-      return true
+  def visible? roles
+    if MagicNumber['run_mode'] == 0
+      return false unless guest_role_check(roles)
     else
-      return false
+      return false unless reader_role_check(roles)
     end
-    self.panel.publish?
+    return true if self.panel.own?(roles)
+    self.panel.visible? roles
   end
   
   def self.default_page_size
@@ -68,11 +66,11 @@ class PanelColor < ActiveRecord::Base
     PanelColor.find(:all, opt)
   end
   
-  def self.show cid, au
+  def self.show cid, roles
     opt = {}
     opt.merge!(PanelColor.show_opt)
     res = PanelColor.find(cid, opt)
-    raise ActiveRecord::Forbidden unless res.visible?(au)
+    raise ActiveRecord::Forbidden unless res.visible?(roles)
     res
   end