OSDN Git Service

t#29400:update:itr2
[pettanr/pettanr.git] / app / models / color.rb
index d09ae2c..3144ad2 100644 (file)
@@ -5,14 +5,15 @@ class Color < ActiveRecord::Base
   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
@@ -40,22 +41,46 @@ class Color < ActiveRecord::Base
     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