#ライセンスグループ
-class LicenseGroup < Peta::SystemResource
+class LicenseGroup < Peta::Template
load_manifest
+ has_many :resource_pictures
has_many :licenses
validates :name, :presence => true, :length => {:maximum => 50}, :uniqueness => true
- validates :classname, :presence => true, :length => {:maximum => 50}
+ validates :module_name, :presence => true, :length => {:maximum => 50}
validates :caption, :presence => true, :length => {:maximum => 30}
validates :url, :presence => true, :length => {:maximum => 200}, :url => {:message => I18n.t('errors.messages.url')}
- def supply_default
- end
-
- def overwrite
- end
-
- def self.list_where
- ''
- end
-
- def self.list_order
- 'license_groups.name asc'
+ scope :find_index, -> do
+ self.all
end
- def self.list_opt
- {:include => {:licenses => {}}}
+ def supply_default
end
- def self.list_json_opt
- {:include => {:licenses => {}}}
+ def overwrite
end
def self.show_opt
{:include => {:licenses => {}}}
end
- def self.show_json_opt
- {:include => {:licenses => {}}}
- end
-
- def my_engine_resource
- Manifest.manifest.system_resources.engine_resources['system_resources']
- end
-
- def engine_name
- self.my_engine_resource.resource_items[self.classname]
- end
-
- def enable?
- self.my_engine_resource.resource_items.include? self.classname
- end
-
- def engine_module_name
- self.engine_name.camelize
- end
-
- def engine
- Object.const_get self.engine_module_name
- end
def self.store name, attr
#ライセンスデータがあるとライセンスグループのデータ生成で邪魔するので移しておく
lattr = attr["licenses_attributes"]
r
end
+ # destroy with licenses
+ def destroy
+ res = false
+ self.class.transaction do
+ self.licenses.each do |license|
+ raise ActiveRecord::Rollback unless license.destroy
+ end
+ res = super
+ raise ActiveRecord::Rollback unless res
+ end
+ res
+ end
+
def self.import filename
LicenseGroup.import_file(filename) {|name, attr| LicenseGroup.store(name, attr)}
end