瀏覽代碼

HUE-825 [jobbrowser] Initial username filtering not applied

Added default user filter
Added filter trigger by keyup timeout
Changed size of the text and username textboxes
Enrico Berti 13 年之前
父節點
當前提交
a449305d6c
共有 2 個文件被更改,包括 18 次插入7 次删除
  1. 12 5
      apps/jobbrowser/src/jobbrowser/templates/jobs.mako
  2. 6 2
      apps/jobbrowser/src/jobbrowser/views.py

+ 12 - 5
apps/jobbrowser/src/jobbrowser/templates/jobs.mako

@@ -55,15 +55,13 @@ ${commonheader(_('Job Browser'), "jobbrowser")}
 
     <label class="pull-right">
         &nbsp;
-    ${_('Text:')}
-        <input type="text" name="text" title="${_('Text Filter')}" value="${text_filter}" placeholder="${_('Text Filter')}" class="submitter input-medium search-query"/>
+        ${_('Text:')}
+        <input type="text" name="text" title="${_('Text Filter')}" value="${text_filter}" placeholder="${_('Text Filter')}" class="submitter input-large search-query"/>
     </label>
     <label class="pull-right">
         ${_('Username:')}
-        <input type="text" name="user" title="${_('User Name Filter')}" value="${user_filter}" placeholder="${_('User Name Filter')}" class="submitter input-medium search-query" />
+        <input type="text" name="user" title="${_('User Name Filter')}" value="${user_filter}" placeholder="${_('User Name Filter')}" class="submitter input-small search-query" />
     </label>
-
-
 </form>
 
 
@@ -214,6 +212,15 @@ ${commonheader(_('Job Browser'), "jobbrowser")}
             $("#killModal").modal("hide");
         });
 
+        var filterTimeout = -1;
+        $(".search-query").keyup(function(){
+            window.clearTimeout(filterTimeout);
+            var el = $(this);
+            filterTimeout = window.setTimeout(function(){
+                el.closest("form").submit();
+            }, 500);
+        });
+
         $("a[data-row-selector='true']").jHueRowSelector();
     });
 </script>

+ 6 - 2
apps/jobbrowser/src/jobbrowser/views.py

@@ -99,11 +99,15 @@ def jobs(request):
   """
   check_permission = not conf.SHARE_JOBS.get() and not request.user.is_superuser
 
-  jobs = get_matching_jobs(request, check_permission)
+  user = request.GET.get('user', request.user.username)
+  filters = {}
+  if user != '':
+    filters['user'] = user
+
+  jobs = get_matching_jobs(request, check_permission, **filters)
 
   matching_jobs = sort_if_necessary(request, jobs)
   state = request.GET.get('state', 'all')
-  user = request.GET.get('user', request.user.username)
   text = request.GET.get('text', '')
   retired = request.GET.get('retired', '')
   return render("jobs.mako", request, {