OSDN Git Service

fix Manifest
[pettanr/pettanr.git] / app / models / writing_format.rb
index afa4198..390c5c6 100644 (file)
@@ -1,4 +1,4 @@
-class WritingFormat < ActiveRecord::Base
+class WritingFormat < Pettanr::Item
   has_many :speeches
   belongs_to :system_picture
   
@@ -9,13 +9,8 @@ class WritingFormat < ActiveRecord::Base
   validates :system_picture_id, :presence => true, :numericality => true, :existence => {:both => false}
   validates :settings, :presence => true
   
-  before_validation :valid_encode
-  
-  def valid_encode
-    ['name', 'classname', 'caption', 'settings'].each do |a|
-      next if attributes[a] == nil
-      raise Pettanr::BadRequest unless attributes[a].valid_encoding?
-    end
+  def self.valid_encode_columns
+    super + ['name', 'classname', 'caption', 'settings']
   end
   
   def supply_default
@@ -25,15 +20,22 @@ class WritingFormat < ActiveRecord::Base
     self.t = WritingFormat.count.to_i if self.new_record?
   end
   
-  def visible? author
-    true
+  def self.list_where
+    nil
   end
   
-  def self.list
-    opt = {}
-    opt.merge!(self.list_opt)
-    opt.merge!({:order => 'writing_formats.t asc'})
-    WritingFormat.find(:all, opt)
+  def self.list_order
+    'writing_formats.t asc'
+  end
+  
+#engine vw
+def self.list
+  self.enable_list
+end
+  def self.enable_list
+    WritingFormat.find(:all).delete_if {|wf|
+      wf.enable? == false
+    }
   end
   
   def self.list_opt
@@ -44,14 +46,6 @@ class WritingFormat < ActiveRecord::Base
     {}
   end
   
-  def self.show rid, au
-    opt = {}
-    opt.merge!(self.show_opt)
-    res = WritingFormat.find(rid, opt)
-    raise ActiveRecord::Forbidden unless res.visible?(au)
-    res
-  end
-  
   def self.show_opt
     {}
   end
@@ -74,7 +68,11 @@ class WritingFormat < ActiveRecord::Base
   end
   
   def engine_name
-    Pettanr::Application.writing_formats[self.classname]
+    Manifest.manifest.system_resources.writing_formats[self.classname]
+  end
+  
+  def enable?
+    Manifest.manifest.system_resources.writing_formats.include? self.classname
   end
   
   def engine_module_name