Merge Request #6
← To merge requests
From
ratings_refactor
into
r4
Commits (1)
Showing
12 changed files
Show diff stats
db/migrate/20150714123613_add_institution_to_comments.rb
db/migrate/20150714123613_add_institution_to_organization_rating.rb
0 → 100644
db/migrate/20150814192230_add_institution_id_to_create_community_rating.rb
lib/ext/community_rating.rb
| ... | ... | @@ -1,19 +0,0 @@ |
| 1 | -require_dependency "community_rating" | |
| 2 | - | |
| 3 | -CommunityRating.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 | -end |
| ... | ... | @@ -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 < Noosfero::Plugin |
| 231 | 231 | end |
| 232 | 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 | 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 | 239 | if logged_in? |
| 240 | 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 | 243 | if is_admin and context.profile.software? |
| 244 | 244 | Proc::new { |
| 245 | - render :file => 'communities_ratings_extra_fields_show_institution', | |
| 245 | + render :file => 'organization_ratings_extra_fields_show_institution', | |
| 246 | 246 | :locals => {:user_rating => user_rating} |
| 247 | 247 | } |
| 248 | 248 | end | ... | ... |
test/unit/community_rating_test.rb
| ... | ... | @@ -1,38 +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 | - community = fast_create(Community) | |
| 9 | - private_institution = build_private_institution "huehue", "hue", "11.222.333/4444-55" | |
| 10 | - | |
| 11 | - community_rating = CommunityRating.new(:value => 3, :community => community, :institution => private_institution) | |
| 12 | - community_rating.valid? | |
| 13 | - | |
| 14 | - assert_equal true, community_rating.errors[:institution].include?("not found") | |
| 15 | - | |
| 16 | - private_institution.save | |
| 17 | - | |
| 18 | - community_rating.institution = private_institution | |
| 19 | - community_rating.valid? | |
| 20 | - | |
| 21 | - assert_equal false, community_rating.errors[:institution].include?("not found") | |
| 22 | - end | |
| 23 | - | |
| 24 | - private | |
| 25 | - | |
| 26 | - def build_private_institution name, corporate_name, cnpj, country="AR" | |
| 27 | - community = Community.new :name => name | |
| 28 | - community.country = country | |
| 29 | - | |
| 30 | - institution = PrivateInstitution.new :name=> name | |
| 31 | - institution.corporate_name = corporate_name | |
| 32 | - institution.cnpj = cnpj | |
| 33 | - institution.community = community | |
| 34 | - | |
| 35 | - institution | |
| 36 | - end | |
| 37 | -end | |
| 38 | - |
| ... | ... | @@ -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 | + | ... | ... |
views/comments_extra_field.html.erb
| ... | ... | @@ -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 "community_rating[institution_id]", "", id: "institution_selected" %> | |
| 10 | -</div> |
views/communities_ratings_extra_fields_show_institution.html.erb
views/organization_ratings_extra_fields_show_institution.html.erb
0 → 100644
| ... | ... | @@ -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> | ... | ... |
-
mentioned in commit a9488e76c6b1a9b0c55671386e25eccf90a779e8