aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorvolpino <fox91@anche.no>2012-11-08 16:22:03 +0100
committervolpino <fox91@anche.no>2012-11-08 16:22:03 +0100
commit9143301875f0c2e53993d1734b869f5eb5ca3fdd (patch)
tree30418a886e61c4fb238f8fa4b312c7e9cbc65c34
parenteuscanwww: Simple link instead of form (diff)
downloadeuscan-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>
-rw-r--r--euscanwww/djeuscan/templates/euscan/package.html33
-rw-r--r--euscanwww/djeuscan/views.py8
-rw-r--r--euscanwww/htdocs/css/style.css4
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;
+}