]> git.openstreetmap.org Git - osqa.git/commitdiff
adding download update messages functionality, AJAX button
authorjordan <jordan@0cfe37f9-358a-4d5e-be75-b63607b5c754>
Sat, 23 Apr 2011 16:29:40 +0000 (16:29 +0000)
committerjordan <jordan@0cfe37f9-358a-4d5e-be75-b63607b5c754>
Sat, 23 Apr 2011 16:29:40 +0000 (16:29 +0000)
git-svn-id: http://svn.osqa.net/svnroot/osqa/trunk@998 0cfe37f9-358a-4d5e-be75-b63607b5c754

forum_modules/updater/templates/index.html
forum_modules/updater/views.py

index 04f20af4922bcdcb3bca7851d5723ebfd1aeff4a..aed0d016d6fff035804f76e581084442a5fcb644 100644 (file)
@@ -1,14 +1,34 @@
 {% extends basetemplate %}
 
-{% load i18n %}
+{% load i18n extra_tags %}
 
 {% block adminjs %}
 {{ block.super }}
+
+<style type="text/css">
+#update_check_status {
+    margin-top: 5px;
+    padding: 5px 0;
+    display: none;
+}
+</style>
+
 <script type="text/javascript">
 $(function() {
 
     $('#check_for_updates').live('click', function() {
-        alert("Ok")
+        var update_check_url = $(this).attr('href')
+        var update_check_status = $('#update_check_status')
+        update_check_status.html('{% trans "Checking for updates" %}')
+        update_check_status.show('slow')
+
+        $.get(update_check_url, function(data) {
+            update_check_status.hide('slow', function() {
+                update_check_status.html(data)
+                update_check_status.show('slow');
+            })
+        })
+        return false;
     })
 });
 </script>
@@ -23,6 +43,7 @@ $(function() {
 
 {% block admincontent %}
 
-<a href="javascript:void(0);" id="check_for_updates" class="button">{% trans "Check for Updates" %}</a>
+<a href="{% url updater_check %}" id="check_for_updates" class="button">{% trans "Check for Updates" %}</a>
+<div id="update_check_status"></div>
 
 {% endblock %}
index 3066074f2558571cdd608dc793370eddf5d98e47..5d68e57f530fce0c373e91c48178d378ccf00ac6 100644 (file)
@@ -4,6 +4,8 @@ import bz2
 import urllib2, urllib
 import binascii
 
+from xml.dom.minidom import parse, parseString
+
 from django import VERSION as DJANGO_VERSION
 from django.http import HttpResponse
 from django.utils.translation import ugettext as _
@@ -75,5 +77,13 @@ def updater_check(request):
     except urllib2.HTTPError, error:
         content = error.read()
 
-    json = simplejson.dumps({})
-    return HttpResponse(content, mimetype='text/html')
\ No newline at end of file
+    # Read the messages from the Update Server
+    messages_xml_url = '%s%s' % (UPDATE_SERVER_URL, '/messages/xml/')
+    messages_request = urllib2.Request(messages_xml_url, headers=headers)
+    messages_response = urllib2.urlopen(messages_request)
+    messages_xml = messages_response.read()
+
+    messages_dom = parseString(messages_xml)
+    messages_count = len(messages_dom.getElementsByTagName('message'))
+
+    return HttpResponse(_('%d update messages have been downloaded') % messages_count, mimetype='text/html')
\ No newline at end of file