OSDN Git Service

t#29400:update:itr2
[pettanr/pettanr.git] / app / models / license.rb
1 #
2 class License < ActiveRecord::Base
3   belongs_to :license_group
4   belongs_to :system_picture
5   
6   validates :license_group_id, :presence => true, :numericality => true, :existence => true
7   validates :name, :presence => true, :length => {:maximum => 50}
8   validates :caption, :presence => true, :length => {:maximum => 30}
9   validates :url, :presence => true, :length => {:maximum => 200}, :uniqueness => true, :url => true #{:allow_blank => true}
10   validates :system_picture_id, :presence => true, :numericality => true, :existence => true
11   
12   def supply_default
13   end
14   
15   def overwrite
16   end
17   
18   def self.list
19     opt = {}
20     opt.merge!(License.list_opt)
21     opt.merge!({:order => 'name'})
22     License.find(:all, opt)
23   end
24   
25   def self.list_opt
26     {:include => {:license_group => {}}}
27   end
28   
29   def self.list_json_opt
30     {:include => {:license_group => {}}}
31   end
32   
33   def self.show rid
34     opt = {}
35     opt.merge!(License.show_opt)
36     res = License.find(rid, opt)
37 #    raise ActiveRecord::Forbidden unless res.visible?(au)
38     res
39   end
40   
41   def self.show_opt
42     {:include => {:license_group => {}}}
43   end
44   
45   def self.show_json_opt
46     {:include => {:license_group => {}}}
47   end
48   
49   def self.store name, attr
50     r = License.replace_system_picture attr
51     l = License.modify_object name, attr
52     if r == false
53       l.errors.add :base, 'system picture can not create'
54     else
55       l.save
56     end
57     l
58   end
59   
60   def self.stores attrs, lg_id
61     res = 0
62     return 0 unless attrs.is_a?(Hash)
63     attrs.each do |name, attr|
64       attr["license_group_id"] = lg_id
65       l = License.store name, attr
66       res += 1 unless l.valid?
67     end
68     res
69   end
70   
71 end