OSDN Git Service

t#31056:add diff import
[pettanr/pettanr.git] / app / models / speech_balloon.rb
index ad725f6..825eeb3 100644 (file)
@@ -8,22 +8,20 @@ class SpeechBalloon < ActiveRecord::Base
   accepts_nested_attributes_for :speeches
   
   validates :panel_id, :numericality => {:allow_blank => true}
-  validates :speech_balloon_template_id, :presence => true, :numericality => true, :existence => true
+  validates :speech_balloon_template_id, :presence => true, :numericality => true, :existence => {:both => false}
   validates :classname, :presence => true, :length => {:maximum => 50}
   validates :z, :presence => true, :numericality => {:greater_than => 0}
   validates :t, :presence => true, :numericality => {:greater_than_or_equal_to => 0}
 #  validates :settings, :presence => true
   
-  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