aboutsummaryrefslogtreecommitdiffstats
path: root/app/models/public_body.rb
diff options
context:
space:
mode:
authorLouise Crow <louise.crow@gmail.com>2014-05-15 16:09:29 +0100
committerLouise Crow <louise.crow@gmail.com>2014-05-15 16:09:29 +0100
commit26348ce676f7ebbabcc535b2ecf00f99f8fe85c0 (patch)
tree6034dd656a0f9af152f24d6c491b5e61a7190a7d /app/models/public_body.rb
parent851ef575cf3c55a3bb194381497b958c2a3ebf1a (diff)
parentb3fa23047bf96bd6a08273c9491ac1ee3b4a3f80 (diff)
Merge branch 'release/0.18' into wdtk
Diffstat (limited to 'app/models/public_body.rb')
-rw-r--r--app/models/public_body.rb15
1 files changed, 12 insertions, 3 deletions
diff --git a/app/models/public_body.rb b/app/models/public_body.rb
index e83da5593..03ec270ee 100644
--- a/app/models/public_body.rb
+++ b/app/models/public_body.rb
@@ -6,7 +6,7 @@
#
# id :integer not null, primary key
# name :text not null
-# short_name :text not null
+# short_name :text default(""), not null
# request_email :text not null
# version :integer not null
# last_edit_editor :string(255) not null
@@ -37,7 +37,8 @@ class PublicBody < ActiveRecord::Base
validates_presence_of :name, :message => N_("Name can't be blank")
validates_presence_of :url_name, :message => N_("URL name can't be blank")
- validates_uniqueness_of :short_name, :message => N_("Short name is already taken"), :if => Proc.new { |pb| pb.short_name != "" }
+ validates_uniqueness_of :short_name, :message => N_("Short name is already taken"), :allow_blank => true
+ validates_uniqueness_of :url_name, :message => N_("URL name is already taken")
validates_uniqueness_of :name, :message => N_("Name is already taken")
validate :request_email_if_requestable
@@ -533,7 +534,15 @@ class PublicBody < ActiveRecord::Base
public_body.publication_scheme = public_body.publication_scheme || ""
public_body.last_edit_editor = editor
public_body.last_edit_comment = 'Created from spreadsheet'
- public_body.save!
+
+ begin
+ public_body.save!
+ rescue ActiveRecord::RecordInvalid
+ public_body.errors.full_messages.each do |msg|
+ errors.push "error: line #{ line }: #{ msg } for authority '#{ name }'"
+ end
+ next
+ end
end
end
end