X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=app%2Fmodels%2Flicense_group.rb;h=61c617939383d4df9a8bf021801f2497e30d4272;hb=674d4fb2e72c2e1653b13d026af884559fd9eb4e;hp=eda792f226b055559cb7124f124b5afc30c42beb;hpb=92e42b345715a552a4ce833b03ec68aed94792e0;p=pettanr%2Fpettanr.git diff --git a/app/models/license_group.rb b/app/models/license_group.rb index eda792f2..61c61793 100644 --- a/app/models/license_group.rb +++ b/app/models/license_group.rb @@ -1,9 +1,11 @@ #ライセンスグループ -class LicenseGroup < ActiveRecord::Base +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')} @@ -13,37 +15,10 @@ class LicenseGroup < ActiveRecord::Base def overwrite end - def self.list - opt = {} - opt.merge!(self.list_opt) - opt.merge!({:order => 'license_groups.name asc'}) - LicenseGroup.find(:all, opt) - end - - def self.list_opt - {:include => {:licenses => {}}} - end - - def self.list_json_opt - {:include => {:licenses => {}}} - end - - def self.show rid - opt = {} - opt.merge!(self.show_opt) - res = LicenseGroup.find(rid, opt) -# raise ActiveRecord::Forbidden unless res.visible?(au) - res - end - def self.show_opt {:include => {:licenses => {}}} end - def self.show_json_opt - {:include => {:licenses => {}}} - end - def self.store name, attr #ライセンスデータがあるとライセンスグループのデータ生成で邪魔するので移しておく lattr = attr["licenses_attributes"] @@ -58,6 +33,19 @@ class LicenseGroup < ActiveRecord::Base 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