From bd32f803f429d7e9ea89d8f002039f3d32409bf6 Mon Sep 17 00:00:00 2001 From: Tallys Martins Date: Wed, 18 Nov 2015 10:02:33 -0200 Subject: [PATCH] Display rejected rating comments only to env admins --- plugins/organization_ratings/db/migrate/20151117232133_add_display_comment_to_organization_rating.rb | 5 +++++ plugins/organization_ratings/lib/create_organization_rating_comment.rb | 9 +++++++-- plugins/organization_ratings/lib/organization_rating.rb | 5 ++++- plugins/organization_ratings/views/shared/_user_rating_container.html.erb | 3 ++- 4 files changed, 18 insertions(+), 4 deletions(-) create mode 100644 plugins/organization_ratings/db/migrate/20151117232133_add_display_comment_to_organization_rating.rb diff --git a/plugins/organization_ratings/db/migrate/20151117232133_add_display_comment_to_organization_rating.rb b/plugins/organization_ratings/db/migrate/20151117232133_add_display_comment_to_organization_rating.rb new file mode 100644 index 0000000..248ebb2 --- /dev/null +++ b/plugins/organization_ratings/db/migrate/20151117232133_add_display_comment_to_organization_rating.rb @@ -0,0 +1,5 @@ +class AddDisplayCommentToOrganizationRating < ActiveRecord::Migration + def change + add_column :organization_ratings, :comment_rejected, :boolean, :default => false + end +end diff --git a/plugins/organization_ratings/lib/create_organization_rating_comment.rb b/plugins/organization_ratings/lib/create_organization_rating_comment.rb index 1ce9fb0..85d2a59 100644 --- a/plugins/organization_ratings/lib/create_organization_rating_comment.rb +++ b/plugins/organization_ratings/lib/create_organization_rating_comment.rb @@ -9,19 +9,24 @@ class CreateOrganizationRatingComment < Task attr_accessible :organization_rating_id, :body, :requestor attr_accessible :reject_explanation, :target - before_save :update_comment_body + before_save :update_comment_body, :check_display_comment DATA_FIELDS = ['body'] DATA_FIELDS.each do |field| settings_items field.to_sym end + def check_display_comment + @rating = OrganizationRating.find_by_id(self.organization_rating_id) + @rating.comment_rejected = true if self.status == Status::CANCELLED + end + def update_comment_body if self.organization_rating_comment_id.nil? create_comment else comment = Comment.find_by_id(self.organization_rating_comment_id) - comment.body = get_comment_message + comment.body = self.body comment.save end end diff --git a/plugins/organization_ratings/lib/organization_rating.rb b/plugins/organization_ratings/lib/organization_rating.rb index 3bdeba1..dd16e07 100644 --- a/plugins/organization_ratings/lib/organization_rating.rb +++ b/plugins/organization_ratings/lib/organization_rating.rb @@ -3,7 +3,7 @@ class OrganizationRating < ActiveRecord::Base belongs_to :organization belongs_to :comment - attr_accessible :value, :person, :organization, :comment + attr_accessible :value, :person, :organization, :comment, :comment_rejected validates :value, :presence => true, :inclusion => { @@ -13,6 +13,9 @@ class OrganizationRating < ActiveRecord::Base validates :organization_id, :person_id, :presence => true + def comment_rejected? + return comment_rejected + end def self.average_rating organization_id average = OrganizationRating.where(organization_id: organization_id).average(:value) diff --git a/plugins/organization_ratings/views/shared/_user_rating_container.html.erb b/plugins/organization_ratings/views/shared/_user_rating_container.html.erb index 0123818..b821292 100644 --- a/plugins/organization_ratings/views/shared/_user_rating_container.html.erb +++ b/plugins/organization_ratings/views/shared/_user_rating_container.html.erb @@ -25,7 +25,8 @@
- <%= user_rate.comment.nil? ? _("No comment") : user_rate.comment.body %> + + <%= user_rate.comment.nil? ? _("No comment") : (user_rate.comment_rejected? ? "" : user_rate.comment.body) %>
<%= @plugins.dispatch(:organization_ratings_plugin_extra_fields_show_data, user_rate).collect { |content| instance_exec(&content) }.join("") %> -- libgit2 0.21.2