euscanwww: Added watch/unwatch button to scan world
Signed-off-by: volpino <fox91@anche.no>
This commit is contained in:
parent
58d6ecc490
commit
f04f28aacc
@ -54,6 +54,7 @@
|
||||
</p>
|
||||
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function () {
|
||||
$(".favourite-button").click(function() {
|
||||
$.post($(this).data("url"), function() {
|
||||
$(".unfavourite-button").removeClass("hide");
|
||||
@ -67,6 +68,7 @@
|
||||
$(".unfavourite-button").addClass("hide");
|
||||
});
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
{% endblock %}
|
||||
|
@ -52,6 +52,7 @@
|
||||
</p>
|
||||
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function () {
|
||||
$(".favourite-button").click(function() {
|
||||
$.post($(this).data("url"), function() {
|
||||
$(".unfavourite-button").removeClass("hide");
|
||||
@ -65,6 +66,7 @@
|
||||
$(".unfavourite-button").addClass("hide");
|
||||
});
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
{% endblock %}
|
||||
|
@ -53,6 +53,7 @@
|
||||
</p>
|
||||
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function () {
|
||||
$(".favourite-button").click(function() {
|
||||
$.post($(this).data("url"), function() {
|
||||
$(".unfavourite-button").removeClass("hide");
|
||||
@ -66,6 +67,7 @@
|
||||
$(".unfavourite-button").addClass("hide");
|
||||
});
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
{% endblock %}
|
||||
|
@ -26,6 +26,7 @@
|
||||
{% packages packages %}
|
||||
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function () {
|
||||
$(".favourite-button").click(function() {
|
||||
$.post($(this).data("url"), function() {
|
||||
$(".unfavourite-button").removeClass("hide");
|
||||
@ -39,6 +40,7 @@
|
||||
$(".unfavourite-button").addClass("hide");
|
||||
});
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
{% endblock %}
|
||||
|
@ -1,5 +1,6 @@
|
||||
{% extends "euscan/_datatable.html" %}
|
||||
|
||||
{% load url from future %}
|
||||
{% load djeuscan_helpers %}
|
||||
|
||||
{% block title %}
|
||||
@ -7,6 +8,40 @@
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<h2>World scan:</h2>
|
||||
<h2>
|
||||
World scan:
|
||||
{% if user.is_authenticated %}
|
||||
<span class="pull-right">
|
||||
<button class="btn favourite-button {% if favourited %}hide{% endif %}" data-url="{% url "favourite_world" %}">
|
||||
<img src="{{ STATIC_URL}}/img/watch-icon.png" alt="Watch" >
|
||||
</button>
|
||||
<button class="btn unfavourite-button {% if not favourited %}hide{% endif %}" data-url="{% url "unfavourite_world" %}">
|
||||
<img src="{{ STATIC_URL}}/img/unwatch-icon.png" alt="Unwatch" >
|
||||
</button>
|
||||
</span>
|
||||
{% endif %}
|
||||
</h2>
|
||||
|
||||
{% packages packages %}
|
||||
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function () {
|
||||
var packages = [{{packages_ids|join:","}}];
|
||||
|
||||
$(".favourite-button").click(function() {
|
||||
$.post($(this).data("url"), {packages: packages}, function() {
|
||||
$(".unfavourite-button").removeClass("hide");
|
||||
$(".favourite-button").addClass("hide");
|
||||
});
|
||||
});
|
||||
|
||||
$(".unfavourite-button").click(function() {
|
||||
$.post($(this).data("url"), {packages: packages}, function() {
|
||||
$(".favourite-button").removeClass("hide");
|
||||
$(".unfavourite-button").addClass("hide");
|
||||
});
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
{% endblock %}
|
||||
|
@ -115,6 +115,9 @@ urlpatterns = patterns('djeuscan.views',
|
||||
url(r'^statistics/charts/(?P<chart>[\w\-]+).png$', 'chart', name="chart"),
|
||||
url(r'^world/$', 'world', name="world"),
|
||||
url(r'^world/scan/$', 'world_scan', name="world_scan"),
|
||||
url(r'^world/favourite/$', 'favourite_world', name="favourite_world"),
|
||||
url(r'^world/unfavourite/$', 'unfavourite_world',
|
||||
name="unfavourite_world"),
|
||||
|
||||
# Real data
|
||||
url(r'^categories/', include(categories_patterns)),
|
||||
|
@ -271,7 +271,6 @@ def world(request):
|
||||
|
||||
@render_to('euscan/world_scan.html')
|
||||
def world_scan(request):
|
||||
|
||||
if 'world' in request.FILES:
|
||||
data = request.FILES['world'].read()
|
||||
elif 'packages' in request.POST:
|
||||
@ -280,8 +279,19 @@ def world_scan(request):
|
||||
data = ""
|
||||
|
||||
packages = packages_from_names(data)
|
||||
packages_ids = [p.pk for p in packages]
|
||||
|
||||
return {'packages': packages}
|
||||
favourited = False
|
||||
if request.user.is_authenticated():
|
||||
profile = get_profile(request.user)
|
||||
if len(packages) == len(profile.packages.filter(id__in=packages_ids)):
|
||||
favourited = True
|
||||
|
||||
return {
|
||||
'packages': packages,
|
||||
'packages_ids': packages_ids,
|
||||
'favourited': favourited
|
||||
}
|
||||
|
||||
|
||||
@render_to("euscan/about.html")
|
||||
@ -328,7 +338,7 @@ def chart(request, **kwargs):
|
||||
elif chart == 'versions':
|
||||
path = charts.versions(**kwargs)
|
||||
else:
|
||||
raise Http404()
|
||||
raise Http404
|
||||
|
||||
return serve(request, path, document_root=charts.CHARTS_ROOT)
|
||||
|
||||
@ -568,3 +578,27 @@ def unfavourite_overlay(request, overlay):
|
||||
obj = Overlay.objects.get(name=overlay)
|
||||
get_profile(request.user).overlays.remove(obj)
|
||||
return {"success": True}
|
||||
|
||||
|
||||
@login_required
|
||||
@require_POST
|
||||
@ajax_request
|
||||
def favourite_world(request):
|
||||
if not "packages[]" in request.POST:
|
||||
return {"success": False}
|
||||
packages = request.POST.getlist("packages[]")
|
||||
objs = Package.objects.filter(id__in=packages)
|
||||
get_profile(request.user).packages.add(*objs)
|
||||
return {"success": True}
|
||||
|
||||
|
||||
@login_required
|
||||
@require_POST
|
||||
@ajax_request
|
||||
def unfavourite_world(request):
|
||||
if not "packages[]" in request.POST:
|
||||
return {"success": False}
|
||||
packages = request.POST.getlist("packages[]")
|
||||
objs = Package.objects.filter(id__in=packages)
|
||||
get_profile(request.user).packages.remove(*objs)
|
||||
return {"success": True}
|
||||
|
Loading…
Reference in New Issue
Block a user