validates :code, :presence => true, :numericality => {:greater_than_or_equal_to => 0, :less_than => 0x1000000}
validates :t, :presence => true, :numericality => {:greater_than_or_equal_to => 0}
- def self.import filename
- Color.import_file(filename) {|name, attr| Color.store(name, attr)}
+ def supply_default
+ self.name = 'no name' if self.name.blank?
end
- def self.store name, attr
- r = Color.modify_object name, attr
- r.save
- r
+ def overwrite
+ end
+
+ def visible? author
+ true
end
def self.default_page_size
page_size
end
- def self.list opt = {}, page = 1, page_size = self.default_page_size
- opt.merge!({:order => 'colors.t', :limit => page_size, :offset => (page -1) * page_size})
+ def self.list page = 1, page_size = self.default_page_size
+ opt = {}
+ opt.merge!(Color.list_opt)
+ opt.merge!({:limit => page_size, :offset => (page -1) * page_size}) if page_size > 0
+ opt.merge!({:order => 'colors.t'})
Color.find(:all, opt)
end
def self.list_opt
- {:include => {:ground_color => {:panel => {:author => {}}} }}
+ {}
end
def self.list_json_opt
- {:include => {:ground_color => {:panel => {:author => {}}} }}
+ {}
+ end
+
+ def self.show cid, au
+ opt = {}
+ opt.merge!(Color.show_opt)
+ res = Color.find(cid, opt)
+ raise ActiveRecord::Forbidden unless res.visible?(au)
+ res
+ end
+
+ def self.show_opt
+ {}
+ end
+
+ def self.show_json_opt
+ {}
end
- def self.show cid
- c = Color.find(cid)
- c
+ def self.import filename
+ Color.import_file(filename) {|name, attr| Color.store(name, attr)}
+ end
+
+ def self.store name, attr
+ r = Color.modify_object name, attr
+ r.save
+ r
end
end