diff options
Diffstat (limited to 'app')
-rw-r--r-- | app/models/info_request_batch.rb | 7 | ||||
-rw-r--r-- | app/models/public_body.rb | 15 | ||||
-rw-r--r-- | app/models/request_classification.rb | 4 | ||||
-rw-r--r-- | app/models/spam_address.rb | 10 | ||||
-rw-r--r-- | app/models/user.rb | 37 | ||||
-rw-r--r-- | app/views/admin_public_body/import_csv.html.erb | 38 |
6 files changed, 71 insertions, 40 deletions
diff --git a/app/models/info_request_batch.rb b/app/models/info_request_batch.rb index 498ab4951..d7c5eb9af 100644 --- a/app/models/info_request_batch.rb +++ b/app/models/info_request_batch.rb @@ -1,13 +1,14 @@ # == Schema Information -# Schema version: 20131024114346 # # Table name: info_request_batches # # id :integer not null, primary key # title :text not null # user_id :integer not null -# created_at :datetime -# updated_at :datetime +# created_at :datetime not null +# updated_at :datetime not null +# body :text +# sent_at :datetime # class InfoRequestBatch < ActiveRecord::Base diff --git a/app/models/public_body.rb b/app/models/public_body.rb index 7b1ded820..9cb344f14 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 @@ -505,7 +506,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 diff --git a/app/models/request_classification.rb b/app/models/request_classification.rb index 6873d468b..478a543d3 100644 --- a/app/models/request_classification.rb +++ b/app/models/request_classification.rb @@ -5,8 +5,8 @@ # id :integer not null, primary key # user_id :integer # info_request_event_id :integer -# created_at :datetime -# updated_at :datetime +# created_at :datetime not null +# updated_at :datetime not null # class RequestClassification < ActiveRecord::Base diff --git a/app/models/spam_address.rb b/app/models/spam_address.rb index 15c9d1ab8..b3ad329d8 100644 --- a/app/models/spam_address.rb +++ b/app/models/spam_address.rb @@ -1,3 +1,13 @@ +# == Schema Information +# +# Table name: spam_addresses +# +# id :integer not null, primary key +# email :string(255) not null +# created_at :datetime not null +# updated_at :datetime not null +# + class SpamAddress < ActiveRecord::Base attr_accessible :email diff --git a/app/models/user.rb b/app/models/user.rb index e63ce8129..d75622b37 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -1,26 +1,25 @@ # == Schema Information -# Schema version: 20131024114346 # # Table name: users # -# id :integer not null, primary key -# email :string(255) not null -# name :string(255) not null -# hashed_password :string(255) not null -# salt :string(255) not null -# created_at :datetime not null -# updated_at :datetime not null -# email_confirmed :boolean default(FALSE), not null -# url_name :text not null -# last_daily_track_email :datetime default(2000-01-01 00:00:00 UTC) -# admin_level :string(255) default("none"), not null -# ban_text :text default(""), not null -# about_me :text default(""), not null -# locale :string(255) -# email_bounced_at :datetime -# email_bounce_message :text default(""), not null -# no_limit :boolean default(FALSE), not null -# receive_email_alerts :boolean default(TRUE), not null +# id :integer not null, primary key +# email :string(255) not null +# name :string(255) not null +# hashed_password :string(255) not null +# salt :string(255) not null +# created_at :datetime not null +# updated_at :datetime not null +# email_confirmed :boolean default(FALSE), not null +# url_name :text not null +# last_daily_track_email :datetime default(Sat Jan 01 00:00:00 UTC 2000) +# admin_level :string(255) default("none"), not null +# ban_text :text default(""), not null +# about_me :text default(""), not null +# locale :string(255) +# email_bounced_at :datetime +# email_bounce_message :text default(""), not null +# no_limit :boolean default(FALSE), not null +# receive_email_alerts :boolean default(TRUE), not null # can_make_batch_requests :boolean default(FALSE), not null # diff --git a/app/views/admin_public_body/import_csv.html.erb b/app/views/admin_public_body/import_csv.html.erb index 18341ecf1..d15ef1791 100644 --- a/app/views/admin_public_body/import_csv.html.erb +++ b/app/views/admin_public_body/import_csv.html.erb @@ -36,23 +36,35 @@ %> </p> - <p><strong>CSV file format:</strong>The first row should be a list - of fields, starting with '#'. The fields 'name' and - 'request_email' are required; additionally, translated values are + <p><strong>CSV file format:</strong> The first row should be a list + of fields, starting with <code>#</code>. The fields <code>name</code> and + <code>request_email</code> are required; additionally, translated values are supported by adding the locale name to the field name, - e.g. 'name.es', 'name.de'... Example: + e.g. <code>name.es</code>, <code>name.de</code>…<br /> + <strong>Example:</strong> </p> - <blockquote> - <p> - #id,name,request_email,name.es,tag_string<br/> - 1,An Authority,a@example.com,Un organismo,a_tag another_tag<br/> - 2,Another One,another@example.com,Otro organismo,a_tag<br/> - <p> - </blockquote> + <pre> +#name,request_email,name.es,tag_string +An Authority,a@example.com,Un organismo,a_tag another_tag +Another One,another@example.com,Otro organismo,a_tag + </pre> - <p>Supported fields: name (i18n), short_name (i18n), request_email (i18n), notes (i18n), - publication_scheme (i18n), disclosure_log (i18n), home_page, tag_string (tags separated by spaces).</p> + <p><strong>Supported fields:</strong> + <ul> + <li> + <code>name</code> (i18n) + <strong>Existing records cannot be renamed</strong> + </li> + <li><code>short_name</code> (i18n)</li> + <li><code>request_email</code> (i18n)</li> + <li><code>notes</code> (i18n)</li> + <li><code>publication_scheme</code> (i18n)</li> + <li><code>disclosure_log</code> (i18n)</li> + <li><code>home_page</code></li> + <li><code>tag_string</code> (tags separated by spaces)</li> + </ul> + </p> <p><strong>Note:</strong> Choose <strong>dry run</strong> to test, without actually altering the database. Choose <strong>upload</strong> to actually |