Commit b19bc1e35d3d97feaecf79c8c10f728abdb52e96

Authored by Thiago Ribeiro
2 parents 4b1bc16f b0dcf7bd

Merge branch 'r4' into 'master'

R4

See merge request !7
db/migrate/20150714123613_add_institution_to_comments.rb
@@ -1,11 +0,0 @@ @@ -1,11 +0,0 @@
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/20150814192230_add_institution_id_to_create_community_rating_comment.rb
@@ -1,11 +0,0 @@ @@ -1,11 +0,0 @@
1 -class AddInstitutionIdToCreateCommunityRatingComment < ActiveRecord::Migration  
2 - def up  
3 - change_table :tasks do |t|  
4 - t.belongs_to :institution  
5 - end  
6 - end  
7 -  
8 - def down  
9 - remove_column :tasks, :institution_id  
10 - end  
11 -end  
db/migrate/20150910135510_add_siorg_code_to_institution.rb 0 → 100644
@@ -0,0 +1,9 @@ @@ -0,0 +1,9 @@
  1 +class AddSiorgCodeToInstitution < ActiveRecord::Migration
  2 + def up
  3 + add_column :institutions, :siorg_code, :integer
  4 + end
  5 +
  6 + def down
  7 + remove_column :institutions, :siorg_code
  8 + end
  9 +end
db/migrate/20150910203559_add_institution_to_organization_rating.rb 0 → 100644
@@ -0,0 +1,11 @@ @@ -0,0 +1,11 @@
  1 +class AddInstitutionToOrganizationRating < ActiveRecord::Migration
  2 + def up
  3 + change_table :organization_ratings do |t|
  4 + t.belongs_to :institution
  5 + end
  6 + end
  7 +
  8 + def down
  9 + remove_column :organization_ratings, :institution_id
  10 + end
  11 +end
0 \ No newline at end of file 12 \ No newline at end of file
lib/ext/comment.rb
@@ -1,18 +0,0 @@ @@ -1,18 +0,0 @@
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/organization_rating.rb 0 → 100644
@@ -0,0 +1,20 @@ @@ -0,0 +1,20 @@
  1 +require_dependency "organization_rating"
  2 +
  3 +OrganizationRating.class_eval do
  4 +
  5 + belongs_to :institution
  6 +
  7 + attr_accessible :institution, :institution_id
  8 +
  9 + validate :verify_institution
  10 +
  11 + private
  12 +
  13 + def verify_institution
  14 + if self.institution != nil
  15 + institution = Institution.find_by_id self.institution.id
  16 + self.errors.add :institution, _("not found") unless institution
  17 + end
  18 + end
  19 +
  20 +end
lib/gov_user_plugin.rb
@@ -231,18 +231,18 @@ class GovUserPlugin &lt; Noosfero::Plugin @@ -231,18 +231,18 @@ class GovUserPlugin &lt; Noosfero::Plugin
231 end 231 end
232 end 232 end
233 233
234 - def communities_ratings_plugin_comments_extra_fields  
235 - Proc::new do render :file => 'comments_extra_field' end 234 + def organization_ratings_plugin_comments_extra_fields
  235 + Proc::new do render :file => 'ratings_extra_field' end
236 end 236 end
237 237
238 - def communities_ratings_plugin_extra_fields_show_data user_rating 238 + def organization_ratings_plugin_extra_fields_show_data user_rating
239 if logged_in? 239 if logged_in?
240 is_admin = environment.admins.include?(current_user.person) 240 is_admin = environment.admins.include?(current_user.person)
241 - is_admin ||= user_rating.community.admins.include?(current_user.person) 241 + is_admin ||= user_rating.organization.admins.include?(current_user.person)
242 242
243 if is_admin and context.profile.software? 243 if is_admin and context.profile.software?
244 Proc::new { 244 Proc::new {
245 - render :file => 'communities_ratings_extra_fields_show_institution', 245 + render :file => 'organization_ratings_extra_fields_show_institution',
246 :locals => {:user_rating => user_rating} 246 :locals => {:user_rating => user_rating}
247 } 247 }
248 end 248 end
lib/institution.rb
@@ -20,10 +20,9 @@ class Institution &lt; ActiveRecord::Base @@ -20,10 +20,9 @@ class Institution &lt; ActiveRecord::Base
20 :sub_juridical_nature, :normalization_level, 20 :sub_juridical_nature, :normalization_level,
21 :version, :cnpj, :type, :governmental_power, 21 :version, :cnpj, :type, :governmental_power,
22 :governmental_sphere, :sisp, :juridical_nature, 22 :governmental_sphere, :sisp, :juridical_nature,
23 - :corporate_name 23 + :corporate_name, :siorg_code, :community
24 24
25 validates :name, :presence=>true, :uniqueness=>true 25 validates :name, :presence=>true, :uniqueness=>true
26 - validates :cnpj, :uniqueness=>true  
27 26
28 before_save :verify_institution_type 27 before_save :verify_institution_type
29 28
lib/private_institution.rb
1 class PrivateInstitution < Institution 1 class PrivateInstitution < Institution
2 - validates :cnpj, :uniqueness=>true, :allow_nil=>true, :allow_blank=>true  
3 end 2 end
lib/public_institution.rb
@@ -5,8 +5,6 @@ class PublicInstitution &lt; Institution @@ -5,8 +5,6 @@ class PublicInstitution &lt; Institution
5 validates :acronym, :allow_blank => true, :allow_nil => true, 5 validates :acronym, :allow_blank => true, :allow_nil => true,
6 :uniqueness=>true 6 :uniqueness=>true
7 7
8 - validates :cnpj, :uniqueness=>true  
9 -  
10 validates_format_of( 8 validates_format_of(
11 :cnpj, 9 :cnpj,
12 :with => /^\d{2}\.\d{3}\.\d{3}\/\d{4}\-\d{2}$/, 10 :with => /^\d{2}\.\d{3}\.\d{3}\/\d{4}\-\d{2}$/,
test/unit/comment_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 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/organization_rating_test.rb 0 → 100644
@@ -0,0 +1,44 @@ @@ -0,0 +1,44 @@
  1 +require File.expand_path(File.dirname(__FILE__)) + '/../../../../test/test_helper'
  2 +require File.expand_path(File.dirname(__FILE__)) + '/../helpers/plugin_test_helper'
  3 +
  4 +class OrganizationRatingTest < ActiveSupport::TestCase
  5 + include PluginTestHelper
  6 +
  7 + def setup
  8 + @environment = Environment.default
  9 + @environment.enabled_plugins = ['SoftwareCommunitiesPlugin']
  10 + @environment.save
  11 + end
  12 +
  13 + should "validate institution if there is an institution_id" do
  14 + person = fast_create(Person)
  15 + community = fast_create(Community)
  16 + private_institution = build_private_institution "huehue", "hue", "11.222.333/4444-55"
  17 +
  18 + community_rating = OrganizationRating.new(:person => person, :value => 3, :organization => community, :institution => private_institution)
  19 + assert_equal false, community_rating.valid?
  20 +
  21 + assert_equal true, community_rating.errors[:institution].include?("not found")
  22 +
  23 + private_institution.save
  24 + community_rating.institution = private_institution
  25 +
  26 + assert_equal true, community_rating.valid?
  27 + assert_equal false, community_rating.errors[:institution].include?("not found")
  28 + end
  29 +
  30 + private
  31 +
  32 + def build_private_institution name, corporate_name, cnpj, country="AR"
  33 + community = Community.new :name => name
  34 + community.country = country
  35 +
  36 + institution = PrivateInstitution.new :name=> name
  37 + institution.corporate_name = corporate_name
  38 + institution.cnpj = cnpj
  39 + institution.community = community
  40 +
  41 + institution
  42 + end
  43 +end
  44 +
test/unit/private_institution_test.rb
@@ -25,21 +25,6 @@ class PrivateInstitutionTest &lt; ActiveSupport::TestCase @@ -25,21 +25,6 @@ class PrivateInstitutionTest &lt; ActiveSupport::TestCase
25 assert @institution.save 25 assert @institution.save
26 end 26 end
27 27
28 - should "not save with a repeated cnpj" do  
29 - msg = "Cnpj has already been taken"  
30 - assert @institution.save  
31 - sec_institution = create_private_institution(  
32 - "Another Private Institution",  
33 - "API",  
34 - "BR",  
35 - "DF",  
36 - "Gama",  
37 - "00.000.000/0001-00"  
38 - )  
39 -  
40 - assert sec_institution.errors.full_messages.include? msg  
41 - end  
42 -  
43 should "save without fantasy name" do 28 should "save without fantasy name" do
44 @institution.acronym = nil 29 @institution.acronym = nil
45 @institution.community.save 30 @institution.community.save
views/comments_extra_field.html.erb
@@ -1,10 +0,0 @@ @@ -1,10 +0,0 @@
1 -<div id="input_institution_comments">  
2 - <%= label_tag "input_institution", _("Organization name or Enterprise name")%>  
3 - <span class="star-tooltip" title="Órgão ou Empresa que você representa e utiliza o software"></span>  
4 - <input type="text" id="input_institution">  
5 -  
6 - <%= content_tag(:div, _("No institution found"),  
7 - :id=>"institution_empty_ajax_message",  
8 - :class=>"errorExplanation hide-field") %>  
9 - <%= hidden_field_tag "comments[institution_id]", "", id: "institution_selected" %>  
10 -</div>  
views/communities_ratings_extra_fields_show_institution.html.erb
@@ -1,8 +0,0 @@ @@ -1,8 +0,0 @@
1 -<% if user_rating.comment and user_rating.comment.institution %>  
2 -<div class="aditional-informations">  
3 - <div class="comments-user-institution">  
4 - <span>Institution :<span> <%= user_rating.comment.institution.name unless user_rating.comment.nil? %>  
5 - </div>  
6 -</div>  
7 -<% end %>  
8 -  
views/organization_ratings_extra_fields_show_institution.html.erb 0 → 100644
@@ -0,0 +1,8 @@ @@ -0,0 +1,8 @@
  1 +<% if user_rating.institution %>
  2 +<div class="aditional-informations">
  3 + <div class="comments-user-institution">
  4 + <span>Institution :<span> <%= user_rating.institution.name unless user_rating.institution.nil? %>
  5 + </div>
  6 +</div>
  7 +<% end %>
  8 +
views/ratings_extra_field.html.erb 0 → 100644
@@ -0,0 +1,10 @@ @@ -0,0 +1,10 @@
  1 +<div id="input_institution_comments">
  2 + <%= label_tag "input_institution", _("Organization name or Enterprise name")%>
  3 + <span class="star-tooltip" title="Órgão ou Empresa que você representa e utiliza o software"></span>
  4 + <input type="text" id="input_institution">
  5 +
  6 + <%= content_tag(:div, _("No institution found"),
  7 + :id=>"institution_empty_ajax_message",
  8 + :class=>"errorExplanation hide-field") %>
  9 + <%= hidden_field_tag "organization_rating[institution_id]", "", id: "institution_selected" %>
  10 +</div>