organization.rb
1.63 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
# Represents any organization of the system and has an organization_info object to hold its info
class Organization < Profile
has_one :organization_info
belongs_to :region
has_one :validation_info
has_many :validations, :class_name => 'CreateEnterprise', :foreign_key => :target_id
after_create do |org|
OrganizationInfo.create!(:organization_id => org.id)
end
def contact_email
self.organization_info ? self.organization_info.contact_email : nil
end
def validation_methodology
self.validation_info ? self.validation_info.validation_methodology : nil
end
def validation_restrictions
self.validation_info ? self.validation_info.restrictions : nil
end
def pending_validations
validations.pending
end
def find_pending_validation(code)
validations.pending.find { |pending| pending.code == code }
end
def processed_validations
validations.finished
end
def find_processed_validation(code)
validations.finished.find { |pending| pending.code == code }
end
def is_validation_entity?
!self.validation_info.nil?
end
def info
organization_info
end
# Yes, organizations have members.
#
# Returns <tt>true</tt>.
def has_members?
true
end
hacked_after_create :create_default_set_of_blocks_for_organization
def create_default_set_of_blocks_for_organization
# "main" area
self.boxes[0].blocks << MainBlock.new
# "left" area
self.boxes[1].blocks << ProfileInfoBlock.new
self.boxes[1].blocks << RecentDocumentsBlock.new
# "right" area
self.boxes[2].blocks << MembersBlock.new
self.boxes[2].blocks << TagsBlock.new
end
end