diff --git a/app/models/organization.rb b/app/models/organization.rb index 2668b18..5d3e077 100644 --- a/app/models/organization.rb +++ b/app/models/organization.rb @@ -10,6 +10,10 @@ class Organization < Profile OrganizationInfo.create!(:organization_id => org.id) end + def contact_email + self.organization_info ? self.organization_info.contact_email : nil + end + def validation_methodology methodology = self.validation_info ? self.validation_info.validation_methodology : nil methodology || ('' + _('(not informed)') + '') diff --git a/app/models/organization_info.rb b/app/models/organization_info.rb index dcd4d8d..b468892 100644 --- a/app/models/organization_info.rb +++ b/app/models/organization_info.rb @@ -2,4 +2,6 @@ class OrganizationInfo < ActiveRecord::Base belongs_to :organization validates_numericality_of :foundation_year, :only_integer => true, :allow_nil => true + + validates_format_of :contact_email, :with => Noosfero::Constants::EMAIL_FORMAT, :if => (lambda { |info| ! info.contact_email.nil? }) end diff --git a/db/migrate/008_create_organization_infos.rb b/db/migrate/008_create_organization_infos.rb index 20419da..9f87f89 100644 --- a/db/migrate/008_create_organization_infos.rb +++ b/db/migrate/008_create_organization_infos.rb @@ -3,6 +3,7 @@ class CreateOrganizationInfos < ActiveRecord::Migration create_table :organization_infos do |t| t.column :organization_id, :integer t.column :contact_person, :string + t.column :contact_email, :string t.column :acronym, :string t.column :foundation_year, :integer, :limit => 4 t.column :legal_form, :string diff --git a/test/unit/organization_test.rb b/test/unit/organization_test.rb index 7297ced..2bb2896 100644 --- a/test/unit/organization_test.rb +++ b/test/unit/organization_test.rb @@ -53,4 +53,11 @@ class OrganizationTest < Test::Unit::TestCase assert_equal 'something', org.validation_restrictions end + should 'override contact_email to get it from organization_info' do + org = Organization.new + assert_nil org.contact_email + org.organization_info = OrganizationInfo.new(:contact_email => 'test@example.com') + assert_equal 'test@example.com', org.contact_email + end + end -- libgit2 0.21.2