1 class GroundColor < ActiveRecord::Base
5 validates :panel_id, :numericality => {:allow_blank => true}
6 validates :color_id, :numericality => true, :existence => {:both => false}
7 validates :z, :presence => true, :numericality => {:greater_than => 0}
17 return false if MagicNumber['run_mode'] == 1
18 elsif au.is_a?(Author)
27 def self.default_page_size
31 def self.max_page_size
35 def self.page prm = nil
41 def self.page_size prm = self.default_page_size
43 page_size = self.max_page_size if page_size > self.max_page_size
44 page_size = self.default_page_size if page_size < 1
48 def self.list page = 1, page_size = self.default_page_size
50 opt.merge!(GroundColor.list_opt)
51 opt.merge!({:limit => page_size, :offset => (page -1) * page_size}) if page_size > 0
52 opt.merge!({:conditions => 'panels.publish > 0', :order => 'ground_colors.updated_at desc'})
53 GroundColor.find(:all, opt)
57 {:include => {:panel => {:author => {}}, :color => {} }}
60 def self.list_json_opt
61 {:include => {:panel => {:include => {:author => {}}}, :color => {} }}
64 def self.mylist au, page = 1, page_size = Author.default_ground_color_page_size
66 opt.merge!(self.list_opt)
67 opt.merge!({:limit => page_size, :offset => (page -1) * page_size}) if page_size > 0
68 opt.merge!({:conditions => ['panels.author_id = ?', au.id], :order => 'ground_colors.updated_at desc'})
69 GroundColor.find(:all, opt)
74 opt.merge!(GroundColor.show_opt)
75 res = GroundColor.find(cid, opt)
76 raise ActiveRecord::Forbidden unless res.visible?(au)
81 {:include => {:panel => {:author => {}}, :color => {} }}
84 def self.show_json_opt
85 {:include => {:panel => {:include => {:author => {}}}, :color => {} }}