Skip to content
This repository has been archived by the owner on Mar 15, 2018. It is now read-only.

Commit

Permalink
Remove rating replies from mkt (bug 843882)
Browse files Browse the repository at this point in the history
  • Loading branch information
muffinresearch authored and cvan committed Mar 19, 2013
1 parent 5a0b362 commit e4c16fb
Show file tree
Hide file tree
Showing 8 changed files with 24 additions and 261 deletions.
7 changes: 0 additions & 7 deletions media/css/devreg/ratings.styl
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,6 @@ select[name=rating] {
display: none;
}

section.replies .review.reply {
display: block;
}

// Detail page.
#reviews {
position: relative;
Expand Down Expand Up @@ -154,9 +150,6 @@ section.replies .review.reply {

#review-list .review:nth-of-type(2n + 1) {
background-color: darken($bg, 5%);
+ .replies .review {
background-color: darken($bg, 5%);
}
}

#submit-review {
Expand Down
65 changes: 8 additions & 57 deletions media/js/mkt/ratings.js
Original file line number Diff line number Diff line change
@@ -1,9 +1,7 @@
(function() {

// Review/reply template.
// Review template.
var reviewTemplate = getTemplate($('#review-template'));
var reviewWithReply;

var alwaysUseCharCounter = true;

z.page.on('fragmentloaded', function() {
Expand All @@ -20,19 +18,12 @@
if ($('.reviews.add-review').length) {
addOrEditYourReview($('#add-first-review'));
}

if (reviewWithReply && reviewWithReply.length) {
var review = $('#' + reviewWithReply.attr('id'));
review.siblings('.reply').show();
$('html, body').scrollTo(review);
}
});

// Returns the review body text or '' if the supplied element is not found.
function getBody($body) {
var body = $body.clone();
// Get the inner *text* of the review body.
body.find('.view-reply').remove();
body.find('br').replaceWith('\n');
// `.text()` returns the unescaped text content, so re-escape it.
return body.text().trim()
Expand Down Expand Up @@ -85,18 +76,9 @@
$.post(action);
setTimeout(function() {
reviewEl.addClass('deleted');
if (reviewEl.hasClass('reply')) {
var $parent = reviewEl.closest('.replies').prev('.review');
// If this was a reply, remove the "1 reply" link.
$parent.find('.view-reply').remove();
$parent.find('ul.actions li.reply').removeClass('hidden');

reviewEl.parent().remove();
} else {
// Change edit review button to submit review button.
$('#add-edit-review').text(gettext('Write a Review'));
$('#add-review').children().text(gettext('Write a Review'));
}
// Change edit review button to submit review button.
$('#add-edit-review').text(gettext('Write a Review'));
$('#add-review').children().text(gettext('Write a Review'));
$('.notification.box').remove();

// If already existing Django message, replace message.
Expand All @@ -120,16 +102,12 @@
body = getBody(reviewEl.find('.body'));
overlay.html(reviewTemplate({title: gettext('Edit Review'),
action: action, body: body}));
if (reviewEl.hasClass('reply')) {
overlay.find('select[name="rating"]').remove();
if (z.body.hasClass('desktop')) {
overlay.find('select[name="rating"]').ratingwidget('large');
} else {
if (z.body.hasClass('desktop')) {
overlay.find('select[name="rating"]').ratingwidget('large');
} else {
overlay.find('select[name="rating"]').ratingwidget();
}
overlay.find(format('.ratingwidget [value="{0}"]', rating)).click();
overlay.find('select[name="rating"]').ratingwidget();
}
overlay.find(format('.ratingwidget [value="{0}"]', rating)).click();
handleReviewOverlay(overlay);
}

Expand All @@ -153,22 +131,6 @@
handleReviewOverlay(overlay);
}

function replyReview(reviewEl, action, isNewReview) {
var overlay = makeOrGetOverlay('edit-review'),
title = gettext('Reply Review'),
body = '';

if (!isNewReview) {
title = gettext('Edit Reply');
body = getBody(reviewEl.find('.body'));
}

overlay.html(reviewTemplate({title: title, action: action,
body: body}));
overlay.addClass('reply');
handleReviewOverlay(overlay);
}

// Toggle rating breakdown (on listing page only, not detail page).
z.page.on('click', '.average-rating-listing', _pd(function() {
$('.grouped-ratings').toggle();
Expand All @@ -194,17 +156,6 @@
case 'report':
flagReview($review);
break;
case 'reply':
replyReview($review, $this.attr('href'), true);
break;
case 'edit-reply':
replyReview($review, $this.attr('href'));
break;
}
}));

// View reply.
z.page.on('click', '.review .view-reply', _pd(function() {
$(this).closest('.review').next('.replies').find('.reply').toggle();
}));
})();
14 changes: 3 additions & 11 deletions mkt/ratings/templates/ratings/listing.html
Original file line number Diff line number Diff line change
Expand Up @@ -25,30 +25,22 @@
{% endif %}
{% endblock %}

<section class="main{{ ' replies' if reply }} c" id="reviews">
{% if ratings.object_list or reply %}
<section class="main c" id="reviews">
{% if ratings.object_list %}
{{ rating_flag() }}
<ul id="review-list"
data-edit-url="{{ product.get_ratings_url('add') }}">
{% for review in ratings.object_list %}
{% include 'ratings/rating.html' %}
{% endfor %}

{% if reply %}
{% with review=reply.reply_to %}
{% include 'ratings/rating.html' %}
{% endwith %}
{% with review=reply %}
{% include 'ratings/rating.html' %}
{% endwith %}
{% endif %}
{% if ratings.has_other_pages() %}
<li class="loadmore" data-sel="#review-list">
{{ ratings|more_button }}
</li>
{% endif %}
</ul>
{% elif not reply %}
{% else %}
{% if product.can_review(amo_user) %}
<p id="add-first-review"><a href="{{ product.get_ratings_url('add') }}">
{{ _('Be the first to write a review.') }}</a><p>
Expand Down
31 changes: 3 additions & 28 deletions mkt/ratings/templates/ratings/rating.html
Original file line number Diff line number Diff line change
@@ -1,15 +1,12 @@
{% set perms = review_perms or {} %}
{% set is_reply = review.reply_to_id is not none %}
{% set has_reply = review.id in replies %}
{% if flags %}
{% set is_flagged = flags[review.id] %}
{% endif %}

{% if not (is_reply and profile) %}
<li id="review-{{ review.id }}" data-rating="{{ review.rating }}"
data-flag-url="{{ product.get_ratings_url('flag', args=[review.id]) }}"
data-edit-url="{{ product.get_ratings_url('add') }}"
class="review{{ ' reply' if is_reply }}{{ ' flagged' if is_flagged }} c">
class="review{{ ' flagged' if is_flagged }} c">
<div class="review-inner">
{% if profile %}
<h3 class="review-heading-profile">
Expand All @@ -19,9 +16,7 @@ <h3 class="review-heading-profile">
</a>
</h3>
{% endif %}
{% if not is_reply %}
{{ review.rating|stars(large=True) }}
{% endif %}
{{ review.rating|stars(large=True) }}
<span class="byline">
{# TODO: Re-link user profile pages if desktop implements them. #}
{% trans user_url=review.user.get_url_path(),
Expand All @@ -34,15 +29,9 @@ <h3 class="review-heading-profile">
{% if (perms.is_admin or perms.is_editor) and review.ip_address != '0.0.0.0' %}
<span>[{{ review.ip_address }}]</span>
{% endif %}
{% if is_reply %}
<b>{{ _('(Developer)') }}</b>
{% endif %}
</span>
<div class="body">
{{ review.body|nl2br }}
{% if review.id in replies %}
<a href="#" class="view-reply">{{ _('1 reply') }}</a>
{% endif %}
</div>
{% if request.user.is_authenticated() and not details_page %}
<ul class="actions">
Expand All @@ -51,13 +40,8 @@ <h3 class="review-heading-profile">
{% elif review.user_id != request.user.id %}
<li><a class="flag post" data-action="report" href="#">{{ _('Report') }}</a></li>
{% endif %}
{% if not is_reply and (perms.is_author or perms.is_admin) %}
<li class="reply{{ ' hidden' if has_reply }}"><a class="reply post" data-action="reply"
href="{{ product.get_ratings_url('reply', args=[review.id]) }}">{{ _('Reply') }}</a></li>
{% endif %}
{% if review.user_id == request.user.id %}
<li><a class="edit{{ ' post' if is_reply }}" data-action="edit{{ '-reply' if is_reply }}"
href="{{ product.get_ratings_url('reply', args=[review.reply_to_id]) if is_reply else '#' }}">{{ _('Edit') }}</a></li>
<li><a class="edit" data-action="edit" href="#">{{ _('Edit') }}</a></li>
{% endif %}
<li{% if not check_review_delete(review) %} class="hidden"{% endif %}><a
href="{{ product.get_ratings_url('delete', args=[review.id]) }}"
Expand All @@ -69,12 +53,3 @@ <h3 class="review-heading-profile">
{% endif %}
</div>
</li>
{% endif %}

<div class="replies">
{% if review.id in replies %}
{% with review=replies[review.id] %}
{% include 'ratings/rating.html' %}
{% endwith %}
{% endif %}
</div>
Loading

0 comments on commit e4c16fb

Please sign in to comment.