Return-Path: Received: by yocto-www.yoctoproject.org (Postfix, from userid 118) id 7CC66E00D92; Tue, 6 Oct 2015 04:21:35 -0700 (PDT) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on yocto-www.yoctoproject.org X-Spam-Level: X-Spam-Status: No, score=-6.9 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 X-Spam-HAM-Report: * -5.0 RCVD_IN_DNSWL_HI RBL: Sender listed at http://www.dnswl.org/, high * trust * [134.134.136.24 listed in list.dnswl.org] * -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% * [score: 0.0000] Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by yocto-www.yoctoproject.org (Postfix) with ESMTP id 88FF0E00CED for ; Tue, 6 Oct 2015 04:21:34 -0700 (PDT) Received: from orsmga002.jf.intel.com ([10.7.209.21]) by orsmga102.jf.intel.com with ESMTP; 06 Oct 2015 04:21:34 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.17,643,1437462000"; d="scan'208";a="820419315" Received: from blynch-mobl1.ger.corp.intel.com (HELO lp.ger.corp.intel.com) ([10.252.3.31]) by orsmga002.jf.intel.com with ESMTP; 06 Oct 2015 04:21:33 -0700 From: Elliot Smith To: toaster@yoctoproject.org Date: Tue, 6 Oct 2015 12:21:13 +0100 Message-Id: <1444130481-25705-5-git-send-email-elliot.smith@intel.com> X-Mailer: git-send-email 1.9.3 In-Reply-To: <1444130481-25705-1-git-send-email-elliot.smith@intel.com> References: <1444130481-25705-1-git-send-email-elliot.smith@intel.com> Subject: [review-request][PATCH 02/10] toaster: Replace "Run again" button with help text for cli builds X-BeenThere: toaster@yoctoproject.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: Web based interface for BitBake List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 06 Oct 2015 11:21:35 -0000 It's not possible to run a command-line build again, as Toaster doesn't have access to the data used for that build. Replace the "Run again" button with an icon which pops up some help text to that effect. Add test to check that the run again button is hidden and the help icon displayed instead for command-line builds. [YOCTO #8231] Signed-off-by: Elliot Smith --- .../lib/toaster/toastergui/static/css/default.css | 5 +++ .../toaster/toastergui/templates/mrb_section.html | 41 ++++++++++++++-------- bitbake/lib/toaster/toastergui/tests.py | 32 +++++++++++++++++ 3 files changed, 64 insertions(+), 14 deletions(-) diff --git a/bitbake/lib/toaster/toastergui/static/css/default.css b/bitbake/lib/toaster/toastergui/static/css/default.css index cce3e31..336a407 100644 --- a/bitbake/lib/toaster/toastergui/static/css/default.css +++ b/bitbake/lib/toaster/toastergui/static/css/default.css @@ -15,6 +15,8 @@ /* Styles for the help information */ .get-help { color: #CCCCCC; } .get-help:hover, .icon-plus-sign:hover { color: #999999; cursor: pointer; } +.get-help-green { color: #468847; } +.get-help-green:hover { color: #347132; cursor: pointer; } .get-help-blue { color: #3A87AD; } .get-help-blue:hover { color: #005580; cursor: pointer; } .get-help-yellow { color: #C09853; } @@ -161,6 +163,9 @@ table { table-layout: fixed; word-wrap: break-word; } .project-name .label { font-weight: normal; margin-bottom: 5px; margin-left: -15px; padding: 5px; } .project-name .label > a { color: #fff; font-weight: normal; } +/* styles for showing help icons next to command-line builds */ +.build-result .get-help-green, .build-result .get-help-red, .build-result .get-help-blue { margin-right: 35px; margin-top: 8px; font-size: 16px; } + /* Remove bottom margin for forms inside modal dialogs */ #dependencies-modal-form { margin-bottom: 0px; } diff --git a/bitbake/lib/toaster/toastergui/templates/mrb_section.html b/bitbake/lib/toaster/toastergui/templates/mrb_section.html index ad90e82..5e96b39 100644 --- a/bitbake/lib/toaster/toastergui/templates/mrb_section.html +++ b/bitbake/lib/toaster/toastergui/templates/mrb_section.html @@ -18,7 +18,7 @@ {% endif %}
{% for build in mru %} -
@@ -81,24 +81,37 @@
- Build time: {{ build.timespent_seconds|sectohms }} + Build time: {{ build.timespent_seconds|sectohms }} - + Run again + + {% endif %}
{%endif%} {%if build.outcome == build.IN_PROGRESS %} diff --git a/bitbake/lib/toaster/toastergui/tests.py b/bitbake/lib/toaster/toastergui/tests.py index 7b1f9b5..00ae9d4 100644 --- a/bitbake/lib/toaster/toastergui/tests.py +++ b/bitbake/lib/toaster/toastergui/tests.py @@ -38,6 +38,7 @@ import json import re PROJECT_NAME = "test project" +CLI_BUILDS_PROJECT_NAME = 'Command line builds' class ViewTests(TestCase): """Tests to verify view APIs.""" @@ -570,6 +571,12 @@ class AllBuildsPageTests(TestCase): bitbake_version=bbv) self.project1 = Project.objects.create_project(name=PROJECT_NAME, release=release) + self.default_project = Project.objects.create_project( + name=CLI_BUILDS_PROJECT_NAME, + release=release + ) + self.default_project.is_default = True + self.default_project.save() # parameters for builds to associate with the projects now = timezone.now() @@ -581,6 +588,13 @@ class AllBuildsPageTests(TestCase): "outcome": Build.SUCCEEDED } + self.default_project_build_success = { + "project": self.default_project, + "started_on": now, + "completed_on": now, + "outcome": Build.SUCCEEDED + } + def test_show_tasks_in_allbuilds(self): """ Task should be shown as suffix on build name """ build = Build.objects.create(**self.project1_build_success) @@ -589,3 +603,21 @@ class AllBuildsPageTests(TestCase): response = self.client.get(url, follow=True) result = re.findall('bash:clean', response.content, re.MULTILINE) self.assertEqual(len(result), 3) + + def test_no_run_again_for_cli_build(self): + """ "Run again" button should not be shown for command-line builds """ + build = Build.objects.create(**self.default_project_build_success) + url = reverse("all-builds") + response = self.client.get(url, follow=True) + soup = BeautifulSoup(response.content) + + element_id = 'build-result-%d' % build.id + + # shouldn't see a run again button for command-line builds + run_again_button = soup.select('#%s button' % element_id) + self.assertEqual(len(run_again_button), 0) + + # should see a help icon for command-line builds + help_icon = soup.select('#%s i.get-help-green' % element_id) + self.assertEqual(len(help_icon), 1) + -- Elliot Smith Software Engineer Intel OTC --------------------------------------------------------------------- Intel Corporation (UK) Limited Registered No. 1134945 (England) Registered Office: Pipers Way, Swindon SN3 1RJ VAT No: 860 2173 47 This e-mail and any attachments may contain confidential material for the sole use of the intended recipient(s). Any review or distribution by others is strictly prohibited. If you are not the intended recipient, please contact the sender and delete all copies.