aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--app/models/info_request.rb2
-rw-r--r--app/models/public_body.rb2
-rw-r--r--db/migrate/20120912170035_add_info_requests_count_to_public_bodies.rb17
3 files changed, 19 insertions, 2 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 e5ef26047..77da81d4c 100644
--- a/app/models/public_body.rb
+++ b/app/models/public_body.rb
@@ -186,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
diff --git a/db/migrate/20120912170035_add_info_requests_count_to_public_bodies.rb b/db/migrate/20120912170035_add_info_requests_count_to_public_bodies.rb
new file mode 100644
index 000000000..d77dbaa64
--- /dev/null
+++ b/db/migrate/20120912170035_add_info_requests_count_to_public_bodies.rb
@@ -0,0 +1,17 @@
+class AddInfoRequestsCountToPublicBodies < ActiveRecord::Migration
+ def self.up
+ add_column :public_bodies, :info_requests_count, :integer, :null => false, :default => 0
+
+ PublicBody.reset_column_information
+
+ PublicBody.find_each do |public_body|
+ public_body.update_attribute :info_requests_count, public_body.info_requests.length
+ end
+
+ end
+
+ def self.down
+ remove_column :public_bodies, :info_requests_count
+ end
+
+end