]> git.openstreetmap.org Git - osqa.git/commitdiff
Adds the option to save filters in the node management.
authorhernani <hernani@0cfe37f9-358a-4d5e-be75-b63607b5c754>
Fri, 10 Sep 2010 12:10:15 +0000 (12:10 +0000)
committerhernani <hernani@0cfe37f9-358a-4d5e-be75-b63607b5c754>
Fri, 10 Sep 2010 12:10:15 +0000 (12:10 +0000)
git-svn-id: http://svn.osqa.net/svnroot/osqa/trunk@587 0cfe37f9-358a-4d5e-be75-b63607b5c754

forum/skins/default/templates/osqaadmin/nodeman.html
forum/views/admin.py

index 18d3a470386634cd512cf253b78d3a129dd61815..f96d13baeee69630f8df57588acd3930b0b97ce8 100644 (file)
                 $(this).css('color', 'black');
             });
 
-
-            $('#save-filter-button').click(function() {
-                var name =  $('#filter-name-box').val();
-                $.ajax({type:'POST', url: window.location, data: {filtername: name}, success: function() {
-                    $('#pre-filter-container').append('<li><a href="#">' + name  +'</a></li>');
-                }});
-                return false;
+            $('#filter-name-box').keyup(function() {
+                if ($(this).val().trim().length > 0) {
+                    $('#save-filter-button').removeAttr('disabled');
+                    $('#save-filter-button').css('color', 'black');
+                } else {
+                    $('#save-filter-button').css('color', '#AAA');
+                    $('#save-filter-button').attr('disabled', 'disabled');
+                }
             });
+
         });
     </script>
     <style>
             {% endif %}
             <input type="text" size="20" autocomplete="off" id="tag-selector" />
 
-            {% comment %}<h3>{% trans "Pre defined" %}</h3>
+            <h3>{% trans "Pre defined" %}</h3>
             {% if not settings.NODE_MAN_FILTERS %}
                 <small>{% trans "There are no saved filters. Click bellow to add." %}</small>
             {% endif %}
             <ul id="pre-filter-container">
-                {% for uri, name in settings.NODE_MAN_FILTERS %}
-                <li><a href="{% url admin_tools "nodeman" %}{{ uri }}">{{ name }}</a></li>
+                {% for name, uri in settings.NODE_MAN_FILTERS %}
+                <li class="selected"><a href="{% url admin_tools "nodeman" %}?{{ uri }}">{{ name }}</a></li>
                 {% endfor %}
             </ul>
-            <input type="text" size="20" id="filter-name-box" style="color: #AAA;" value="{% trans "Filter name..." %}" />
-            <button name="add-filter" value="0" title="{% trans "Click to save the current filter" %}" id="save-filter-button" class="button">{% trans "Save" %}</button>
-            {% endcomment %}
+            <form action="" method="POST">
+                <input name="filter_name" type="text" size="20" id="filter-name-box" style="color: #AAA;" value="{% trans "Filter name..." %}" />
+                <button name="save_filter" value="0" style="color: #AAA;" title="{% trans "Click to save the current filter" %}" id="save-filter-button" disabled="disabled" class="button">{% trans "Save" %}</button>
+            </form>
+
             {% comment %}<h3>{% trans "Show" %}</h3>
             <form action="" method="get">
                 <div>{{ show_form.show }}</div>
                         <option value="close_selected">{% trans "Close (questions only)" %}</option>
                     </select>
                 </label>
-                <button value="0" name="index" title="{% trans "Run the selected action" %}" class="button" type="submit">{% trans "Go" %}</button>
+                <button value="0" name="execute" title="{% trans "Run the selected action" %}" class="button" type="submit">{% trans "Go" %}</button>
             </div>
             <table id="result_list" cellspacing="0">
                 <thead>
index 4ed85925ac8e5b8132415a5859d070cfe0541b66..ec770764bb8d99c0de0451708971fe015b83199c 100644 (file)
@@ -420,17 +420,14 @@ class NodeManagementPaginatorContext(pagination.PaginatorContext):
 
 @admin_tools_page(_("nodeman"), _("Node management"))
 def node_management(request):
-    if request.is_ajax():
-        if request.POST and request.POST.get('filtername', None) and request.GET:
-            params = pagination.generate_uri(request.GET, ('page',))
-            current_filters = settings.NODE_MAN_FILTERS.value
-            current_filters.add((request.POST['filtername'], params))
-            settings.NODE_MAN_FILTERS.set_value(current_filters)
-            return HttpResponse('OK')
-
-        return HttpResponse('ERROR')
-
-    if request.POST:
+    if request.POST and "save_filter" in request.POST:
+        filter_name = request.POST.get('filter_name', _('filter'))
+        params = pagination.generate_uri(request.GET, ('page',))
+        current_filters = settings.NODE_MAN_FILTERS.value
+        current_filters.append((filter_name, params))
+        settings.NODE_MAN_FILTERS.set_value(current_filters)
+
+    if request.POST and "execute" in request.POST:
         selected_nodes = request.POST.getlist('_selected_node')
 
         if selected_nodes and request.POST.get('action', None):