1 class ScrollPanel < Peta::Leaf
7 validates :scroll_id, :presence => true, :numericality => true, :existence => {:both => false}
8 validates :panel_id, :presence => true, :numericality => true, :existence => {:both => false}
9 validates :author_id, :presence => true, :numericality => true, :existence => {:both => false}
10 validates :t, :presence => true, :numericality => {:greater_than_or_equal_to => 0}
18 def overwrite operators
19 return false unless operators.author
20 self.author_id = operators.author.id
23 def self.public_list_order
24 'scroll_panels.updated_at desc'
27 def self.public_list_where
31 def self.by_author_list_includes
47 :panel_pictures => {:picture => {:artist => {}, :license => {}}},
48 :speech_balloons =>{:balloon => {}, :speech => {}}
53 def self.licensed_pictures scroll_panels
54 Panel.licensed_pictures scroll_panels.select {|sp| sp.panel }.map {|sp| sp.panel }
58 return nil if self.scroll_id == nil or self.panel_id == nil
59 self.scroll.own?(operators) and self.panel.usable?(operators)