Skip to content

Commit fede7c1

Browse files
committed
Fix tracking/untracking docs.
- Legacy-Id: 19626
1 parent 70a306e commit fede7c1

4 files changed

Lines changed: 71 additions & 7 deletions

File tree

ietf/static/js/ietf.js

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,22 @@ if (!process.env.BUILD_DEPLOY) {
2222
require("jquery-migrate")
2323
}
2424

25+
import Cookies from "js-cookie";
26+
27+
// setup CSRF protection using jQuery
28+
function csrfSafeMethod(method) {
29+
// these HTTP methods do not require CSRF protection
30+
return (/^(GET|HEAD|OPTIONS|TRACE)$/.test(method));
31+
}
32+
jQuery.ajaxSetup({
33+
crossDomain: false, // obviates need for sameOrigin test
34+
beforeSend: function (xhr, settings) {
35+
if (!csrfSafeMethod(settings.type)) {
36+
xhr.setRequestHeader("X-CSRFToken", Cookies.get("csrftoken"));
37+
}
38+
}
39+
});
40+
2541
function dropdown_hover() {
2642
var navbar = $(this)
2743
.closest(".navbar");
@@ -155,4 +171,37 @@ $(document)
155171

156172
updateAdvanced();
157173
}
174+
175+
$('.review-wish-add-remove-doc.ajax, .track-untrack-doc')
176+
.on("click", function (e) {
177+
e.preventDefault();
178+
var trigger = $(this);
179+
$.ajax({
180+
url: trigger.attr('href'),
181+
type: 'POST',
182+
cache: false,
183+
dataType: 'json',
184+
success: function (response) {
185+
if (response.success) {
186+
trigger.parent()
187+
.find(".tooltip")
188+
.remove();
189+
trigger.attr("hidden", true);
190+
191+
var target_unhide = null;
192+
if (trigger.hasClass('review-wish-add-remove-doc')) {
193+
target_unhide = '.review-wish-add-remove-doc';
194+
} else if (trigger.hasClass('track-untrack-doc')) {
195+
target_unhide = '.track-untrack-doc';
196+
}
197+
if (target_unhide) {}
198+
trigger.parent()
199+
.find(target_unhide)
200+
.not(trigger)
201+
.removeAttr("hidden");
202+
}
203+
}
204+
});
205+
});
206+
158207
});

ietf/templates/doc/search/search_result_row.html

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,19 +14,19 @@
1414

1515
<td>
1616
{% if user.is_authenticated %}
17-
<a href="{% url "ietf.community.views.untrack_document" username=request.user.username name=doc.name %}" class="track-untrack-doc {% if not doc.tracked_in_personal_community_list %}hide{% endif %}" title="Remove from your personal ID list">
17+
<a href="{% url "ietf.community.views.untrack_document" username=request.user.username name=doc.name %}" class="track-untrack-doc" {% if not doc.tracked_in_personal_community_list %}hidden{% endif %} title="Remove from your personal ID list">
1818
<span class="bi bi-bookmark-check-fill"></span>
1919
</a>
20-
<a href="{% url "ietf.community.views.track_document" username=request.user.username name=doc.name %}" class="track-untrack-doc {% if doc.tracked_in_personal_community_list %}hide{% endif %}" title="Add to your personal ID list">
20+
<a href="{% url "ietf.community.views.track_document" username=request.user.username name=doc.name %}" class="track-untrack-doc" {% if doc.tracked_in_personal_community_list %}hidden{% endif %} title="Add to your personal ID list">
2121
<span class="bi bi-bookmark"></span>
2222
</a>
2323
<br>
2424
{% endif %}
2525
{% if user.review_teams %}
26-
<a class="review-wish-add-remove-doc ajax {% if not doc.has_review_wish %}hide{% endif %}" href="{% url "ietf.doc.views_review.review_wishes_remove" name=doc.name %}?next={{ request.get_full_path|urlencode }}" title="Remove from your review wishes for all teams">
26+
<a class="review-wish-add-remove-doc ajax" {% if not doc.has_review_wish %}hidden{% endif %} href="{% url "ietf.doc.views_review.review_wishes_remove" name=doc.name %}?next={{ request.get_full_path|urlencode }}" title="Remove from your review wishes for all teams">
2727
<span class="bi bi-chats"></span>
2828
</a>
29-
<a class="review-wish-add-remove-doc {% if user.review_teams|length_is:"1" %}ajax {% endif %}{% if doc.has_review_wish %}hide{% endif %}" href="{% url "ietf.doc.views_review.review_wish_add" name=doc.name %}?next={{ request.get_full_path|urlencode }}" title="Add to your review wishes">
29+
<a class="review-wish-add-remove-doc {% if user.review_teams|length_is:"1" %}ajax {% endif %}" {% if doc.has_review_wish %}hidden{% endif %} href="{% url "ietf.doc.views_review.review_wish_add" name=doc.name %}?next={{ request.get_full_path|urlencode }}" title="Add to your review wishes">
3030
<span class="bi bi-chats-o"></span>
3131
</a>
3232
<br>

package-lock.json

Lines changed: 15 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,8 @@
66
"d3": "^3.5.17",
77
"datatables.net": "^1.11.3",
88
"datatables.net-bs5": "^1.11.3",
9-
"jquery": "^3.6.0"
9+
"jquery": "^3.6.0",
10+
"js-cookie": "^3.0.1"
1011
},
1112
"devDependencies": {
1213
"@parcel/transformer-sass": "^2.0.1",
@@ -30,4 +31,4 @@
3031
"distDir": "ietf/static/dist/ietf"
3132
}
3233
}
33-
}
34+
}

0 commit comments

Comments
 (0)