From b520bd1f540df9838a68aa68bfafd2fcbd1ce75f Mon Sep 17 00:00:00 2001 From: AntonioTerceiro Date: Thu, 8 Nov 2007 19:50:09 +0000 Subject: [PATCH] ActionItem16: requiring a explanation for rejecting an enterprise. --- app/models/create_enterprise.rb | 5 ++++- test/unit/create_enterprise_test.rb | 16 ++++++++++++++++ 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/app/models/create_enterprise.rb b/app/models/create_enterprise.rb index ddc9245..4655cdb 100644 --- a/app/models/create_enterprise.rb +++ b/app/models/create_enterprise.rb @@ -11,7 +11,7 @@ class CreateEnterprise < Task N_('CreateEnterprise|Economic activity') N_('CreateEnterprise|Management information') - DATA_FIELDS = %w[ name identifier address contact_phone contact_person acronym foundation_year legal_form economic_activity management_information region_id ] + DATA_FIELDS = %w[ name identifier address contact_phone contact_person acronym foundation_year legal_form economic_activity management_information region_id reject_explanation ] serialize :data, Hash attr_protected :data @@ -37,6 +37,9 @@ class CreateEnterprise < Task # checks for actual attributes validates_presence_of :requestor_id, :target_id + # check for explanation when rejecting + validates_presence_of :reject_explanation, :if => (lambda { |record| record.status == Task::Status::CANCELLED } ) + def validate if self.region && self.target unless self.region.validators.include?(self.target) diff --git a/test/unit/create_enterprise_test.rb b/test/unit/create_enterprise_test.rb index 9a454fd..b82bd57 100644 --- a/test/unit/create_enterprise_test.rb +++ b/test/unit/create_enterprise_test.rb @@ -69,6 +69,22 @@ class CreateEnterpriseTest < Test::Unit::TestCase task.reject end + should 'require an explanation for rejecting enterprise creation' do + task = CreateEnterprise.new + task.reject_explanation = nil + + task.valid? + assert !task.errors.invalid?(:reject_explanation) + + task.status = Task::Status::CANCELLED + task.valid? + assert task.errors.invalid?(:reject_explanation) + + task.reject_explanation = 'bla bla bla' + task.valid? + assert !task.errors.invalid?(:reject_explanation) + end + should 'finish task when approved' do task = CreateEnterprise.new task.expects(:finish) -- libgit2 0.21.2