Procházet zdrojové kódy

HUE-313. jobsub's list somewhat broken when searching with an owner name

Fix contributed by Bruce Mitchener.
bc Wong před 15 roky
rodič
revize
82518730d3
2 změnil soubory, kde provedl 9 přidání a 12 odebrání
  1. 6 0
      apps/jobsub/src/jobsub/tests.py
  2. 3 12
      apps/jobsub/src/jobsub/views.py

+ 6 - 0
apps/jobsub/src/jobsub/tests.py

@@ -161,6 +161,12 @@ def test_job_design_cycle():
   assert_true('test2' in [ job_design.name for job_design in response.context['jobdesigns'] ])
   assert_true('test2' in [ job_design.name for job_design in response.context['jobdesigns'] ])
   assert_false('newjob1' in [job_design.name for job_design in response.context['jobdesigns'] ])
   assert_false('newjob1' in [job_design.name for job_design in response.context['jobdesigns'] ])
 
 
+  # Combined filters
+  response = c.get('/jobsub/', dict(owner="est2", name="tes"))
+  assert_false('test1' in [ job_design.name for job_design in response.context['jobdesigns'] ])
+  assert_true('test2' in [ job_design.name for job_design in response.context['jobdesigns'] ])
+  assert_false('newjob1' in [job_design.name for job_design in response.context['jobdesigns'] ])
+
   response = c.get('/jobsub/', dict(name='doesnotexist'))
   response = c.get('/jobsub/', dict(name='doesnotexist'))
   assert_equal(0, len(response.context['jobdesigns']))
   assert_equal(0, len(response.context['jobdesigns']))
 
 

+ 3 - 12
apps/jobsub/src/jobsub/views.py

@@ -137,21 +137,12 @@ def list_designs(request, saved=None):
   """
   """
   show_install_examples = request.user.is_superuser and not jobsub_setup.Command().has_been_setup()
   show_install_examples = request.user.is_superuser and not jobsub_setup.Command().has_been_setup()
   data = JobDesign.objects.order_by('-last_modified')
   data = JobDesign.objects.order_by('-last_modified')
-  owner = request.GET.get("owner")
-  name = request.GET.get('name')
+  owner = request.GET.get("owner", "")
+  name = request.GET.get('name', "")
   if owner:
   if owner:
-    try:
-      user = User.objects.get(username=owner)
-      data = data.filter(owner=user)
-    except User.DoesNotExist:
-      data = []
-  else:
-    owner = ""
-
+    data = data.filter(owner__username__icontains=owner)
   if name:
   if name:
     data = data.filter(name__icontains=name)
     data = data.filter(name__icontains=name)
-  else:
-    name = ''
 
 
   newlinks = [ (type, urlresolvers.reverse("jobsub.new", kwargs=dict(type=type))) for type in interface.registry ]
   newlinks = [ (type, urlresolvers.reverse("jobsub.new", kwargs=dict(type=type))) for type in interface.registry ]