diff options
author | volpino <fox91@anche.no> | 2012-11-08 16:22:03 +0100 |
---|---|---|
committer | volpino <fox91@anche.no> | 2012-11-08 16:22:03 +0100 |
commit | 9143301875f0c2e53993d1734b869f5eb5ca3fdd (patch) | |
tree | 30418a886e61c4fb238f8fa4b312c7e9cbc65c34 /euscanwww | |
parent | euscanwww: Simple link instead of form (diff) | |
download | euscan-9143301875f0c2e53993d1734b869f5eb5ca3fdd.tar.gz euscan-9143301875f0c2e53993d1734b869f5eb5ca3fdd.tar.bz2 euscan-9143301875f0c2e53993d1734b869f5eb5ca3fdd.zip |
euscanwww: Refresh package button works even without JS
Signed-off-by: volpino <fox91@anche.no>
Diffstat (limited to 'euscanwww')
-rw-r--r-- | euscanwww/djeuscan/templates/euscan/package.html | 33 | ||||
-rw-r--r-- | euscanwww/djeuscan/views.py | 8 | ||||
-rw-r--r-- | euscanwww/htdocs/css/style.css | 4 |
3 files changed, 31 insertions, 14 deletions
diff --git a/euscanwww/djeuscan/templates/euscan/package.html b/euscanwww/djeuscan/templates/euscan/package.html index ba6ee70..bd2e6e8 100644 --- a/euscanwww/djeuscan/templates/euscan/package.html +++ b/euscanwww/djeuscan/templates/euscan/package.html @@ -35,9 +35,14 @@ {% if user.is_authenticated %} <span class="pull-right"> - <button class="btn refresh-button {% if refresh_requested %}hide{% endif %}" data-category="{{ package.category }}" data-package="{{ package.name }}"> - <img src="{{ STATIC_URL}}/img/refresh-active.png" alt="Refresh" /> - </button> + <form class="refresh-form inline" + method="POST" + action="{% url "refresh_package" package.category package.name %}"> + <button class="btn refresh-button {% if refresh_requested %}hide{% endif %}" type="submit"> + <img src="{{ STATIC_URL}}/img/refresh-active.png" alt="Refresh" /> + </button> + <input type="hidden" name="nojs" value="true" /> + </form> <button class="btn refresh-button-disabled disabled {% if not refresh_requested %}hide{% endif %}"> <img src="{{ STATIC_URL}}/img/refresh-inactive.png" alt="Refresh" /> </button> @@ -65,15 +70,19 @@ <script type="text/javascript"> $(document).ready(function () { - $(".refresh-button").click(function() { - var url = "{% url "refresh_package" "XXX" "YYY" %}"; - $.post(url.replace("XXX", $(this).data("category")).replace("YYY", $(this).data("package")), - function(data) { - $(".refresh-button").addClass("hide"); - $(".refresh-button-disabled").removeClass("hide"); - $("#refresh-pos").text(data.position); - $(".refresh-alert").show("slow"); - }); + $(".refresh-form").submit(function(e) { + var url = $(this).attr("action"); + + e.preventDefault(); + e.stopPropagation(); + + $.post(url, function(data) { + $(".refresh-button").addClass("hide"); + $(".refresh-button-disabled").removeClass("hide"); + $("#refresh-pos").text(data.position); + $(".refresh-alert").show("slow"); + }); + return false; }); $(".favourite-button").click(function() { diff --git a/euscanwww/djeuscan/views.py b/euscanwww/djeuscan/views.py index 0247781..5f453a7 100644 --- a/euscanwww/djeuscan/views.py +++ b/euscanwww/djeuscan/views.py @@ -4,7 +4,8 @@ import inspect from annoying.decorators import render_to, ajax_request from django.http import HttpResponse, HttpResponseNotFound -from django.shortcuts import get_object_or_404 +from django.core.urlresolvers import reverse +from django.shortcuts import get_object_or_404, redirect from django.contrib.auth.decorators import login_required from django.views.decorators.http import require_POST @@ -450,4 +451,7 @@ def refresh_package(request, category, package): if created: from djeuscan.tasks import consume_refresh_queue consume_refresh_queue.delay() - return {"result": "success", "position": obj.position} + if "nojs" in request.POST: + return redirect(reverse("package", args=(category, package))) + else: + return {"result": "success", "position": obj.position} diff --git a/euscanwww/htdocs/css/style.css b/euscanwww/htdocs/css/style.css index bc3cdcb..3d8c428 100644 --- a/euscanwww/htdocs/css/style.css +++ b/euscanwww/htdocs/css/style.css @@ -234,3 +234,7 @@ textarea { .errorlist + input { border: 1px solid red; } + +.inline { + display: inline; +} |