[gnome-continuous-yocto/gnomeostree-3.28-rocko: 1302/8267] bitbake: toaster: only show "New custom image" button for builds with image targets
- From: Emmanuele Bassi <ebassi src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-continuous-yocto/gnomeostree-3.28-rocko: 1302/8267] bitbake: toaster: only show "New custom image" button for builds with image targets
- Date: Sat, 16 Dec 2017 21:38:14 +0000 (UTC)
commit 07a58a8944315f87107b29c3d66bc3a7d57c0249
Author: Elliot Smith <elliot smith intel com>
Date: Tue Jul 12 15:54:51 2016 -0700
bitbake: toaster: only show "New custom image" button for builds with image targets
Add a has_image_targets() method to Build, and use that to hide
the "New custom image" button on the build dashboard if a build
has no targets which build images.
[YOCTO #9514]
(Bitbake rev: 3c4b053e44ea512ef2ced67289a7b0161db6ce9b)
Signed-off-by: Elliot Smith <elliot smith intel com>
Signed-off-by: bavery <brian avery intel com>
Signed-off-by: Richard Purdie <richard purdie linuxfoundation org>
bitbake/lib/toaster/orm/models.py | 13 ++++++
.../toastergui/templates/basebuildpage.html | 42 ++++++++++---------
2 files changed, 35 insertions(+), 20 deletions(-)
---
diff --git a/bitbake/lib/toaster/orm/models.py b/bitbake/lib/toaster/orm/models.py
index 0443a45..a111916 100644
--- a/bitbake/lib/toaster/orm/models.py
+++ b/bitbake/lib/toaster/orm/models.py
@@ -449,6 +449,19 @@ class Build(models.Model):
break
return has_images
+ def has_image_targets(self):
+ """
+ Returns True if a build has any targets which were built from
+ image recipes.
+ """
+ targets = Target.objects.filter(build_id=self.id)
+ has_image_targets = False
+ for target in targets:
+ if target.is_image:
+ has_image_targets = True
+ break
+ return has_image_targets
+
def get_image_file_extensions(self):
"""
Get string of file name extensions for images produced by this build;
diff --git a/bitbake/lib/toaster/toastergui/templates/basebuildpage.html
b/bitbake/lib/toaster/toastergui/templates/basebuildpage.html
index e9927eb..8d7c562 100644
--- a/bitbake/lib/toaster/toastergui/templates/basebuildpage.html
+++ b/bitbake/lib/toaster/toastergui/templates/basebuildpage.html
@@ -117,30 +117,32 @@
{% endwith %}
<!-- new custom image from image recipe in this build -->
- <button class="btn btn-default btn-block navbar-btn" data-role="new-custom-image-trigger">New
custom image</button>
- {% include 'newcustomimage_modal.html' %}
- <script>
- // imageRecipes includes both custom image recipes and built-in
- // image recipes, any of which can be used as the basis for a
- // new custom image
- var imageRecipes = {{ build.get_image_recipes | objects_to_dictionaries:"id,name" | json }};
+ {% if build.has_image_targets %}
+ <button class="btn btn-default btn-block navbar-btn" data-role="new-custom-image-trigger">New
custom image</button>
+ {% include 'newcustomimage_modal.html' %}
+ <script>
+ // imageRecipes includes both custom image recipes and built-in
+ // image recipes, any of which can be used as the basis for a
+ // new custom image
+ var imageRecipes = {{ build.get_image_recipes | objects_to_dictionaries:"id,name" | json }};
- $(document).ready(function () {
- var newCustomImageModal = $('#new-custom-image-modal');
- var newCustomImageTrigger = $('[data-role="new-custom-image-trigger"]');
+ $(document).ready(function () {
+ var newCustomImageModal = $('#new-custom-image-modal');
+ var newCustomImageTrigger = $('[data-role="new-custom-image-trigger"]');
- // show create new custom image modal to select an image built
- // during this build as the basis for the custom recipe
- newCustomImageTrigger.click(function () {
- if (!imageRecipes.length) {
- return;
- }
+ // show create new custom image modal to select an image built
+ // during this build as the basis for the custom recipe
+ newCustomImageTrigger.click(function () {
+ if (!imageRecipes.length) {
+ return;
+ }
- newCustomImageModalSetRecipes(imageRecipes);
- newCustomImageModal.modal('show');
+ newCustomImageModalSetRecipes(imageRecipes);
+ newCustomImageModal.modal('show');
+ });
});
- });
- </script>
+ </script>
+ {% endif %}
</ul>
</div>
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]