From cd3ce9ea644e824e1e4b3d9043bc3f6f480d759a Mon Sep 17 00:00:00 2001 From: Tallys Martins Date: Thu, 19 Nov 2015 00:48:28 -0200 Subject: [PATCH] Added improvements on hotspots interfaces --- plugins/organization_ratings/lib/create_organization_rating_comment.rb | 1 + plugins/organization_ratings/lib/organization_rating.rb | 10 +++++++++- plugins/organization_ratings/lib/organization_ratings_plugin.rb | 6 +++++- plugins/organization_ratings/test/test_helper.rb | 4 ++++ plugins/organization_ratings/test/unit/organization_rating_test.rb | 5 +++++ plugins/organization_ratings/views/shared/_user_rating_container.html.erb | 8 ++++---- plugins/organization_ratings/views/tasks/_create_organization_rating_comment_accept_details.html.erb | 5 ++--- 7 files changed, 30 insertions(+), 9 deletions(-) create mode 100644 plugins/organization_ratings/test/test_helper.rb diff --git a/plugins/organization_ratings/lib/create_organization_rating_comment.rb b/plugins/organization_ratings/lib/create_organization_rating_comment.rb index 85d2a59..f376961 100644 --- a/plugins/organization_ratings/lib/create_organization_rating_comment.rb +++ b/plugins/organization_ratings/lib/create_organization_rating_comment.rb @@ -19,6 +19,7 @@ class CreateOrganizationRatingComment < Task def check_display_comment @rating = OrganizationRating.find_by_id(self.organization_rating_id) @rating.comment_rejected = true if self.status == Status::CANCELLED + @rating.save end def update_comment_body diff --git a/plugins/organization_ratings/lib/organization_rating.rb b/plugins/organization_ratings/lib/organization_rating.rb index dd16e07..c2ee2b6 100644 --- a/plugins/organization_ratings/lib/organization_rating.rb +++ b/plugins/organization_ratings/lib/organization_rating.rb @@ -14,7 +14,15 @@ class OrganizationRating < ActiveRecord::Base :presence => true def comment_rejected? - return comment_rejected + comment_rejected + end + + def display_comment_to? person + if person.present? + person.is_admin? || !comment_rejected? + else + !comment_rejected? + end end def self.average_rating organization_id diff --git a/plugins/organization_ratings/lib/organization_ratings_plugin.rb b/plugins/organization_ratings/lib/organization_ratings_plugin.rb index 4420131..a6701bf 100644 --- a/plugins/organization_ratings/lib/organization_ratings_plugin.rb +++ b/plugins/organization_ratings/lib/organization_ratings_plugin.rb @@ -22,7 +22,11 @@ class OrganizationRatingsPlugin < Noosfero::Plugin nil end - def organization_ratings_plugin_extra_fields_show_data user_rating + def organization_ratings_plugin_task_extra_fields user_rating + nil + end + + def organization_ratings_plugin_container_extra_fields user_rating nil end diff --git a/plugins/organization_ratings/test/test_helper.rb b/plugins/organization_ratings/test/test_helper.rb new file mode 100644 index 0000000..27c75e5 --- /dev/null +++ b/plugins/organization_ratings/test/test_helper.rb @@ -0,0 +1,4 @@ +class TestOrganizationRating + + +end diff --git a/plugins/organization_ratings/test/unit/organization_rating_test.rb b/plugins/organization_ratings/test/unit/organization_rating_test.rb index 89f4fe8..050b867 100644 --- a/plugins/organization_ratings/test/unit/organization_rating_test.rb +++ b/plugins/organization_ratings/test/unit/organization_rating_test.rb @@ -21,6 +21,11 @@ class OrganizationRatingTest < ActiveSupport::TestCase assert_equal false, organization_rating2.errors[:value].include?("must be between 1 and 5") end + test "display rating comment to env admin" do + p = fast_create(OrganizationRating) + + end + test "Create task for create a rating comment" do person = create_user('molly').person person.email = "person@email.com" 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 b821292..87cc3db 100644 --- a/plugins/organization_ratings/views/shared/_user_rating_container.html.erb +++ b/plugins/organization_ratings/views/shared/_user_rating_container.html.erb @@ -25,10 +25,10 @@
- - <%= user_rate.comment.nil? ? _("No comment") : (user_rate.comment_rejected? ? "" : user_rate.comment.body) %> +

<%= _("No comment") if user_rate.comment.nil? %>

+

<%= _("Comment rejected") if user_rate.comment_rejected? %>

+

<%= user_rate.comment.body if user_rate.display_comment_to?(user) %>

- - <%= @plugins.dispatch(:organization_ratings_plugin_extra_fields_show_data, user_rate).collect { |content| instance_exec(&content) }.join("") %> + <%= @plugins.dispatch(:organization_ratings_plugin_container_extra_fields, user_rate).collect { |content| instance_exec(&content) }.join("") %> diff --git a/plugins/organization_ratings/views/tasks/_create_organization_rating_comment_accept_details.html.erb b/plugins/organization_ratings/views/tasks/_create_organization_rating_comment_accept_details.html.erb index e2d821c..e8d6182 100644 --- a/plugins/organization_ratings/views/tasks/_create_organization_rating_comment_accept_details.html.erb +++ b/plugins/organization_ratings/views/tasks/_create_organization_rating_comment_accept_details.html.erb @@ -1,12 +1,11 @@
+ <% rating = OrganizationRating.find(task.organization_rating_id) %> + <%= @plugins.dispatch(:organization_ratings_plugin_task_extra_fields, rating).collect{ |content| instance_exec(&content) }.join("") %>
<%= _("Comment:")%> <%= "\"#{task.body}\""%>\
- <% rating = OrganizationRating.find(task.organization_rating_id) %> - <%= @plugins.dispatch(:organization_ratings_plugin_extra_fields_show_data, rating).collect{ |content| instance_exec(&content) }.join("") %> - <%="* "+_("The rating score is not moderated")%>
<% (1..5).each do |star_number| %> -- libgit2 0.21.2