Small refectoring
authorMagnus Hagander <magnus@hagander.net>
Fri, 26 Jan 2018 10:12:04 +0000 (11:12 +0100)
committerMagnus Hagander <magnus@hagander.net>
Fri, 26 Jan 2018 10:12:04 +0000 (11:12 +0100)
Makes the code easier to use in future feed support

pgweb/security/views.py

index 0dfb8f0d253ae324ee66ca68a51fa34252abc022..5d1d29256472b3ad12d68a39897fdc642149b6f4 100644 (file)
@@ -5,8 +5,11 @@ from pgweb.util.contexts import NavContext
 from pgweb.core.models import Version
 from models import SecurityPatch
 
+def GetPatchesList(filt):
+       return SecurityPatch.objects.raw("SELECT p.*, array_agg(CASE WHEN v.tree >= 10 THEN v.tree::int ELSE v.tree END ORDER BY v.tree) AS affected, array_agg(CASE WHEN v.tree >= 10 THEN v.tree::int ELSE v.tree END || '.' || fixed_minor ORDER BY v.tree) AS fixed FROM security_securitypatch p INNER JOIN security_securitypatchversion sv ON p.id=sv.patch_id INNER JOIN core_version v ON v.id=sv.version_id WHERE p.public AND {0} GROUP BY p.id".format(filt))
+
 def _list_patches(request, filt):
-       patches = SecurityPatch.objects.raw("SELECT p.*, array_agg(CASE WHEN v.tree >= 10 THEN v.tree::int ELSE v.tree END ORDER BY v.tree) AS affected, array_agg(CASE WHEN v.tree >= 10 THEN v.tree::int ELSE v.tree END || '.' || fixed_minor ORDER BY v.tree) AS fixed FROM security_securitypatch p INNER JOIN security_securitypatchversion sv ON p.id=sv.patch_id INNER JOIN core_version v ON v.id=sv.version_id WHERE p.public AND {0} GROUP BY p.id".format(filt))
+       patches = GetPatchesList(filt)
 
        return render_to_response('security/security.html', {
                'patches': patches,