diff --git a/app/assets/javascripts/application/reviews.js b/app/assets/javascripts/application/reviews.js index bec87d6e889ed2341b9292b969fabc68f16f0587..8d246d57c6caa73911137df201e290af3978ac19 100644 --- a/app/assets/javascripts/application/reviews.js +++ b/app/assets/javascripts/application/reviews.js @@ -19,11 +19,11 @@ $(document).ready(function(){ $('.review-button-approve').on('ajax:success', function() { $(this).parent().children('.review-button-desapprove').removeClass('desapproved'); - $(this).addClass('approved'); + $(this).hasClass('approved') ? $(this).removeClass('approved') : $(this).addClass('approved'); }); $('.review-button-desapprove').on('ajax:success', function() { $(this).parent().children('.review-button-approve').removeClass('approved'); - $(this).addClass('desapproved'); + $(this).hasClass('desapproved') ? $(this).removeClass('desapproved') : $(this).addClass('desapproved'); }); -}); \ No newline at end of file +}); diff --git a/app/controllers/reviews_controller.rb b/app/controllers/reviews_controller.rb index 5341190727c642f779c0212e80bae87cf3987d59..75e783ee450532e96a7aaff7e66dabd8a4481321 100644 --- a/app/controllers/reviews_controller.rb +++ b/app/controllers/reviews_controller.rb @@ -63,7 +63,11 @@ class ReviewsController < ApplicationController rate = Rate.where(user: user, review: review).first_or_initialize - rate.update(approves: approves) + if rate.approves == approves + rate.destroy + else + rate.update(approves: approves) + end render json: { approves: approves } if request.xhr? end diff --git a/app/views/reviews/_review.html.erb b/app/views/reviews/_review.html.erb index 761733968ea78c21e499f006af787b6fc12aadbb..a1834b646d5f7946e64154b5aa5d797c7a2b86f4 100644 --- a/app/views/reviews/_review.html.erb +++ b/app/views/reviews/_review.html.erb @@ -15,7 +15,7 @@ <%= render 'reviews/ratingstars', rate_id: "avg", value: review.rating_average.to_i, review_id: review.id, disabled: true%> </div> - <div id="popovercontent_<%=review.id%>" style="display: none"> + <div id="popovercontent_<%=review.id%>" style="display: none"> <% review.rating_values.each do |r| %> <%= render 'reviews/rating', rate: r[:rating], value: r[:value], review_id: review.id %> <% end %> @@ -25,7 +25,7 @@ <div class="col-md-8 review-right-data"> - <div class="row review-title"> + <div class="row review-title"> <div class="col-md-12"> <h3><%= review.name %></h3> </div> @@ -35,7 +35,7 @@ <div class="col-md-12"> <b>Comentário</b><br> <%= review.description %> - </div> + </div> </div> <div class="row"> @@ -51,7 +51,7 @@ </div> </div> - + <div class="row"> <div class="review-footer"> @@ -61,27 +61,28 @@ <% else %> Esta avaliação não possui votos suficientes. <% end %> - </span> - - - <% approves = review.user_approves?(current_user) %> - <% button_approves_class = "btn btn-default btn-xs review-button review-button-approve " %> - <% button_desapproves_class = "btn btn-default btn-xs review-button review-button-desapprove " %> - <% if !approves.nil? %> - <% if approves%> - <%button_approves_class += "approved" %> - <%else%> - <%button_desapproves_class += "desapproved" %> + </span> + + <% unless review.user == current_user %> + <% approves = review.user_approves?(current_user) %> + <% button_approves_class = "btn btn-default btn-xs review-button review-button-approve " %> + <% button_desapproves_class = "btn btn-default btn-xs review-button review-button-desapprove " %> + <% if !approves.nil? %> + <% if approves%> + <%button_approves_class += "approved" %> + <%else%> + <%button_desapproves_class += "desapproved" %> + <%end%> <%end%> - <%end%> - <%= link_to rate_review_path(id: review.id, approves: true), class: button_approves_class, method: :post, remote: true do %> - <i class="fa fa-thumbs-up fa-2x" aria-hidden="true"></i> - <% end %> - - <%= link_to rate_review_path(id: review.id, approves: false), class: button_desapproves_class, method: :post, remote: true do %> - <i class="fa fa-thumbs-down fa-2x" aria-hidden="true"></i> - <% end %> + <%= link_to rate_review_path(id: review.id, approves: true), class: button_approves_class, method: :post, remote: true do %> + <i class="fa fa-thumbs-up fa-2x" aria-hidden="true"></i> + <% end %> + + <%= link_to rate_review_path(id: review.id, approves: false), class: button_desapproves_class, method: :post, remote: true do %> + <i class="fa fa-thumbs-down fa-2x" aria-hidden="true"></i> + <% end %> + <%end %> <%= link_to '#', class: 'btn btn-default btn-xs review-button', style:"display:none", method: :post, remote: true do %> <i class="fa fa-flag fa-2x" aria-hidden="true"></i> @@ -96,5 +97,5 @@ </div> </div> - -</div> \ No newline at end of file + +</div>