فهرست منبع

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 14 سال پیش
والد
کامیت
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, {