aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--app/models/info_request.rb7
-rw-r--r--spec/models/info_request_spec.rb13
2 files changed, 19 insertions, 1 deletions
diff --git a/app/models/info_request.rb b/app/models/info_request.rb
index 0a073dc79..aaed99d81 100644
--- a/app/models/info_request.rb
+++ b/app/models/info_request.rb
@@ -40,7 +40,7 @@ class InfoRequest < ActiveRecord::Base
validate :must_be_internal_or_external
belongs_to :public_body, :counter_cache => true
- validates_presence_of :public_body_id
+ validates_presence_of :public_body_id, :unless => Proc.new { |info_request| info_request.is_batch_request_template? }
has_many :outgoing_messages, :order => 'created_at'
has_many :incoming_messages, :order => 'created_at'
@@ -50,6 +50,7 @@ class InfoRequest < ActiveRecord::Base
has_many :comments, :order => 'created_at'
has_many :censor_rules, :order => 'created_at desc'
has_many :mail_server_logs, :order => 'mail_server_log_done_id'
+ attr_accessor :is_batch_request_template
has_tag_string
@@ -122,6 +123,10 @@ class InfoRequest < ActiveRecord::Base
!InfoRequest.enumerate_states.include? described_state
end
+ def is_batch_request_template?
+ is_batch_request_template == true
+ end
+
# The request must either be internal, in which case it has
# a foreign key reference to a User object and no external_url or external_user_name,
# or else be external in which case it has no user_id but does have an external_url,
diff --git a/spec/models/info_request_spec.rb b/spec/models/info_request_spec.rb
index dcc94e967..be9206ad1 100644
--- a/spec/models/info_request_spec.rb
+++ b/spec/models/info_request_spec.rb
@@ -46,6 +46,19 @@ describe InfoRequest do
info_request.valid?
info_request.errors[:title].should_not be_empty
end
+
+ it 'should require a public body id by default' do
+ info_request = InfoRequest.new
+ info_request.valid?
+ info_request.errors[:public_body_id].should_not be_empty
+ end
+
+ it 'should not require a public body id if it is a batch request template' do
+ info_request = InfoRequest.new
+ info_request.is_batch_request_template = true
+ info_request.valid?
+ info_request.errors[:public_body_id].should be_empty
+ end
end
describe 'when generating a user name slug' do