Commit 1ee193f2ee9cc511383dcf7d116ca91542cdf036

Authored by AntonioTerceiro
1 parent 89caaf77

ActionItem16: Organization's got a contact_email from their OrganizationInfo



git-svn-id: https://svn.colivre.coop.br/svn/noosfero/trunk@812 3f533792-8f58-4932-b0fe-aaf55b0a4547
app/models/organization.rb
... ... @@ -10,6 +10,10 @@ class Organization < Profile
10 10 OrganizationInfo.create!(:organization_id => org.id)
11 11 end
12 12  
  13 + def contact_email
  14 + self.organization_info ? self.organization_info.contact_email : nil
  15 + end
  16 +
13 17 def validation_methodology
14 18 methodology = self.validation_info ? self.validation_info.validation_methodology : nil
15 19 methodology || ('<em>' + _('(not informed)') + '</em>')
... ...
app/models/organization_info.rb
... ... @@ -2,4 +2,6 @@ class OrganizationInfo &lt; ActiveRecord::Base
2 2 belongs_to :organization
3 3  
4 4 validates_numericality_of :foundation_year, :only_integer => true, :allow_nil => true
  5 +
  6 + validates_format_of :contact_email, :with => Noosfero::Constants::EMAIL_FORMAT, :if => (lambda { |info| ! info.contact_email.nil? })
5 7 end
... ...
db/migrate/008_create_organization_infos.rb
... ... @@ -3,6 +3,7 @@ class CreateOrganizationInfos &lt; ActiveRecord::Migration
3 3 create_table :organization_infos do |t|
4 4 t.column :organization_id, :integer
5 5 t.column :contact_person, :string
  6 + t.column :contact_email, :string
6 7 t.column :acronym, :string
7 8 t.column :foundation_year, :integer, :limit => 4
8 9 t.column :legal_form, :string
... ...
test/unit/organization_test.rb
... ... @@ -53,4 +53,11 @@ class OrganizationTest &lt; Test::Unit::TestCase
53 53 assert_equal 'something', org.validation_restrictions
54 54 end
55 55  
  56 + should 'override contact_email to get it from organization_info' do
  57 + org = Organization.new
  58 + assert_nil org.contact_email
  59 + org.organization_info = OrganizationInfo.new(:contact_email => 'test@example.com')
  60 + assert_equal 'test@example.com', org.contact_email
  61 + end
  62 +
56 63 end
... ...