bitbake: toaster: prevent exception when Project.release is null

Project.release can be null. This causes an exception when calling
get_all_compatible_layer_versions(), as the query to fetch
the layer versions references release.branch_name.

Add a guard to the function so that an empty queryset is returned
if the release isn't set for a project.

(Bitbake rev: 6919a2b2e412a9e7b652a6bc191e7c1bed035222)

Signed-off-by: Elliot Smith <elliot.smith@intel.com>
Signed-off-by: Michael Wood <michael.g.wood@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Elliot Smith 2016-04-19 17:28:42 +01:00 committed by Richard Purdie
parent cfc22d3a9e
commit 437b728a9f
1 changed files with 11 additions and 5 deletions

View File

@ -264,11 +264,17 @@ class Project(models.Model):
def get_all_compatible_layer_versions(self):
""" Returns Queryset of all Layer_Versions which are compatible with
this project"""
queryset = Layer_Version.objects.filter(
(Q(up_branch__name=self.release.branch_name) &
Q(build=None) &
Q(project=None)) |
Q(project=self))
queryset = None
# guard on release, as it can be null
if self.release:
queryset = Layer_Version.objects.filter(
(Q(up_branch__name=self.release.branch_name) &
Q(build=None) &
Q(project=None)) |
Q(project=self))
else:
queryset = Layer_Version.objects.none()
return queryset