summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorElliot Smith <elliot.smith@intel.com>2016-04-19 17:28:42 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2016-04-19 21:10:58 +0100
commit6919a2b2e412a9e7b652a6bc191e7c1bed035222 (patch)
treeef449ed1059340374e0203734660afd095dda524
parent9abbb46e799c06757e03addd54e3f5d3c0fe2886 (diff)
downloadopenembedded-core-contrib-6919a2b2e412a9e7b652a6bc191e7c1bed035222.tar.gz
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. 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>
-rw-r--r--lib/toaster/orm/models.py16
1 files changed, 11 insertions, 5 deletions
diff --git a/lib/toaster/orm/models.py b/lib/toaster/orm/models.py
index 68c3072991..f0a8786640 100644
--- a/lib/toaster/orm/models.py
+++ b/lib/toaster/orm/models.py
@@ -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