Commit 82748c1c6f34855c22e09bb10ad96be0b0172d53

Authored by Fabio Teixeira
1 parent ce3811d5

Replace institution_id from community_rating to comment

Signed-off-by: Brenddon Gontijo <brenddongontijo@msn.com>
Signed-off-by: Fabio Teixeira <fabio1079@gmail.com>
Signed-off-by: Gabriela Navarro <navarro1703@gmail.com>
db/migrate/20150714123613_add_institution_to_comments.rb 0 → 100644
@@ -0,0 +1,11 @@ @@ -0,0 +1,11 @@
  1 +class AddInstitutionToComments < ActiveRecord::Migration
  2 + def up
  3 + change_table :comments do |t|
  4 + t.belongs_to :institution
  5 + end
  6 + end
  7 +
  8 + def down
  9 + remove_column :comments, :institution_id
  10 + end
  11 +end
db/migrate/20150714123613_add_institution_to_community_rating.rb
@@ -1,11 +0,0 @@ @@ -1,11 +0,0 @@
1 -class AddInstitutionToCommunityRating < ActiveRecord::Migration  
2 - def up  
3 - change_table :community_ratings do |t|  
4 - t.belongs_to :institution  
5 - end  
6 - end  
7 -  
8 - def down  
9 - remove_column :community_ratings, :institution_id  
10 - end  
11 -end  
lib/ext/comment.rb 0 → 100644
@@ -0,0 +1,18 @@ @@ -0,0 +1,18 @@
  1 +require_dependency "comment"
  2 +
  3 +Comment.class_eval do
  4 + attr_accessible :institution_id
  5 +
  6 + belongs_to :institution
  7 +
  8 + validate :verify_institution
  9 +
  10 + private
  11 +
  12 + def verify_institution
  13 + if self.institution_id != nil
  14 + institution = Institution.find_by_id self.institution_id
  15 + self.errors.add :institution, _("not found") unless institution
  16 + end
  17 + end
  18 +end
lib/ext/community_rating.rb
@@ -1,18 +0,0 @@ @@ -1,18 +0,0 @@
1 -require_dependency "community_rating"  
2 -  
3 -CommunityRating.class_eval do  
4 - attr_accessible :institution_id  
5 -  
6 - belongs_to :institution  
7 -  
8 - validate :verify_institution  
9 -  
10 - private  
11 -  
12 - def verify_institution  
13 - if self.institution_id != nil  
14 - institution = Institution.find_by_id self.institution_id  
15 - self.errors.add :institution, _("not found") unless institution  
16 - end  
17 - end  
18 -end  
lib/institution.rb
1 class Institution < ActiveRecord::Base 1 class Institution < ActiveRecord::Base
2 - has_many :community_ratings  
3 - alias :communities_ratings :community_ratings  
4 - alias :communities_ratings= :community_ratings= 2 + has_many :comments
5 3
6 SEARCH_FILTERS = { 4 SEARCH_FILTERS = {
7 :order => %w[], 5 :order => %w[],
test/unit/comment_test.rb 0 → 100644
@@ -0,0 +1,37 @@ @@ -0,0 +1,37 @@
  1 +require File.dirname(__FILE__) + '/../../../../test/test_helper'
  2 +require File.dirname(__FILE__) + '/../helpers/plugin_test_helper'
  3 +
  4 +class CommentTest < ActiveSupport::TestCase
  5 + include PluginTestHelper
  6 +
  7 + should "validate institution if there an institution_id" do
  8 + private_institution = build_private_institution "huehue", "hue", "11.222.333/4444-55"
  9 +
  10 + assert_equal true, private_institution.save
  11 +
  12 + comment = Comment.new :institution_id => 123456, :body => "simple body"
  13 + comment.valid?
  14 +
  15 + assert_equal true, comment.errors[:institution].include?("not found")
  16 +
  17 + comment.institution = private_institution
  18 + comment.valid?
  19 +
  20 + assert_equal false, comment.errors[:institution].include?("not found")
  21 + end
  22 +
  23 + private
  24 +
  25 + def build_private_institution name, corporate_name, cnpj, country="AR"
  26 + community = Community.new :name => name
  27 + community.country = country
  28 +
  29 + institution = PrivateInstitution.new :name=> name
  30 + institution.corporate_name = corporate_name
  31 + institution.cnpj = cnpj
  32 + institution.community = community
  33 +
  34 + institution
  35 + end
  36 +end
  37 +
test/unit/community_rating_test.rb
@@ -1,37 +0,0 @@ @@ -1,37 +0,0 @@
1 -require File.dirname(__FILE__) + '/../../../../test/test_helper'  
2 -require File.dirname(__FILE__) + '/../helpers/plugin_test_helper'  
3 -  
4 -class CommunityRatingTest < ActiveSupport::TestCase  
5 - include PluginTestHelper  
6 -  
7 - should "validate institution if there an institution_id" do  
8 - private_institution = build_private_institution "huehue", "hue", "11.222.333/4444-55"  
9 -  
10 - assert_equal true, private_institution.save  
11 -  
12 - rating = CommunityRating.new :institution_id => 123456  
13 - rating.valid?  
14 -  
15 - assert_equal true, rating.errors[:institution].include?("not found")  
16 -  
17 - rating.institution = private_institution  
18 - rating.valid?  
19 -  
20 - assert_equal false, rating.errors[:institution].include?("not found")  
21 - end  
22 -  
23 - private  
24 -  
25 - def build_private_institution name, corporate_name, cnpj, country="AR"  
26 - community = Community.new :name => name  
27 - community.country = country  
28 -  
29 - institution = PrivateInstitution.new :name=> name  
30 - institution.corporate_name = corporate_name  
31 - institution.cnpj = cnpj  
32 - institution.community = community  
33 -  
34 - institution  
35 - end  
36 -end  
37 -  
views/comments_extra_field.html.erb
@@ -6,5 +6,5 @@ @@ -6,5 +6,5 @@
6 <%= content_tag(:div, _("No institution found"), 6 <%= content_tag(:div, _("No institution found"),
7 :id=>"institution_empty_ajax_message", 7 :id=>"institution_empty_ajax_message",
8 :class=>"errorExplanation hide-field") %> 8 :class=>"errorExplanation hide-field") %>
9 - <%= hidden_field_tag "community_rating[institution_id]", "", id: "institution_selected" %> 9 + <%= hidden_field_tag "comments[institution_id]", "", id: "institution_selected" %>
10 </div> 10 </div>