diff options
author | Louise Crow <louise.crow@gmail.com> | 2012-09-13 08:44:59 +0100 |
---|---|---|
committer | Louise Crow <louise.crow@gmail.com> | 2012-09-13 08:44:59 +0100 |
commit | d1b272489fbb2d740d7cc88d4fd43d6bc1b7348a (patch) | |
tree | fb009bc4ca3a14d939d9abcd51654882d78c619b /app/models | |
parent | 66d4ede0a6951431b34d2414e6b56f65e9aaaf0b (diff) | |
parent | 1ef24aed444d811b3d33b0840067722248f09c4f (diff) |
Merge branch 'feature/faster-public-body-csv' into develop
Diffstat (limited to 'app/models')
-rw-r--r-- | app/models/info_request.rb | 2 | ||||
-rw-r--r-- | app/models/public_body.rb | 11 |
2 files changed, 8 insertions, 5 deletions
diff --git a/app/models/info_request.rb b/app/models/info_request.rb index f2d8929bc..ed54da840 100644 --- a/app/models/info_request.rb +++ b/app/models/info_request.rb @@ -35,7 +35,7 @@ class InfoRequest < ActiveRecord::Base belongs_to :user validate :must_be_internal_or_external - belongs_to :public_body + belongs_to :public_body, :counter_cache => true validates_presence_of :public_body_id has_many :outgoing_messages, :order => 'created_at' diff --git a/app/models/public_body.rb b/app/models/public_body.rb index fb30da234..77da81d4c 100644 --- a/app/models/public_body.rb +++ b/app/models/public_body.rb @@ -45,6 +45,8 @@ class PublicBody < ActiveRecord::Base has_many :censor_rules, :order => 'created_at desc' has_tag_string + before_save :set_api_key, :set_default_publication_scheme + translates :name, :short_name, :request_email, :url_name, :notes, :first_letter, :publication_scheme @@ -89,13 +91,13 @@ class PublicBody < ActiveRecord::Base end end - def after_initialize + def set_default_publication_scheme # Make sure publication_scheme gets the correct default value. # (This would work automatically, were publication_scheme not a translated attribute) self.publication_scheme = "" if self.publication_scheme.nil? end - def before_save + def set_api_key self.api_key = SecureRandom.base64(33) if self.api_key.nil? end @@ -184,7 +186,7 @@ class PublicBody < ActiveRecord::Base end acts_as_versioned - self.non_versioned_columns << 'created_at' << 'updated_at' << 'first_letter' << 'api_key' + self.non_versioned_columns << 'created_at' << 'updated_at' << 'first_letter' << 'api_key' << 'info_requests_count' class Version attr_accessor :created_at @@ -549,9 +551,10 @@ class PublicBody < ActiveRecord::Base def notes_as_html self.notes end + def notes_without_html # assume notes are reasonably behaved HTML, so just use simple regexp on this - self.notes.nil? ? '' : self.notes.gsub(/<\/?[^>]*>/, "") + @notes_without_html ||= (self.notes.nil? ? '' : self.notes.gsub(/<\/?[^>]*>/, "")) end def json_for_api |