[Toaster] [review-request][PATCH 6/6] toaster: Remove all navigation when not in build mode
Elliot Smith
elliot.smith at intel.com
Fri Oct 16 07:32:57 PDT 2015
The user is redirected to the all builds page or all projects
page from the landing page, regardless of mode.
In build mode, this makes sense; but in analysis mode, we are
restricting the view to just the cli builds project. This means
that "all projects" and "all builds" only contains items relating
to this one project.
Modify the landing page so it redirects to the project builds page
for the cli builds project when not in build mode. Also remove
navigation elements which are irrelevant when not in build mode.
[YOCTO #8514]
Signed-off-by: Elliot Smith <elliot.smith at intel.com>
---
bitbake/lib/toaster/toastergui/templates/base.html | 4 ++--
bitbake/lib/toaster/toastergui/views.py | 14 ++++++++++++--
2 files changed, 14 insertions(+), 4 deletions(-)
diff --git a/bitbake/lib/toaster/toastergui/templates/base.html b/bitbake/lib/toaster/toastergui/templates/base.html
index 073c342..dfa6bba 100644
--- a/bitbake/lib/toaster/toastergui/templates/base.html
+++ b/bitbake/lib/toaster/toastergui/templates/base.html
@@ -91,9 +91,9 @@
<i class="icon-info-sign" title="<strong>Toaster version information</strong>" data-content="<dl><dt>Branch</dt><dd>{{TOASTER_BRANCH}}</dd><dt>Revision</dt><dd>{{TOASTER_REVISION}}</dd></dl>"></i>
{% endif %}
</span>
- {% if request.resolver_match.url_name != 'landing' and request.resolver_match.url_name != 'newproject' %}
+ {% if BUILD_MODE and request.resolver_match.url_name != 'landing' and request.resolver_match.url_name != 'newproject' %}
<ul class="nav">
- <li {% if request.resolver_match.url_name == 'all-builds' %}
+ <li {% if request.resolver_match.url_name == 'all-builds' %}
class="active"
{% endif %}>
<a href="{% url 'all-builds' %}">
diff --git a/bitbake/lib/toaster/toastergui/views.py b/bitbake/lib/toaster/toastergui/views.py
index d675f4f..6ebb6a9 100755
--- a/bitbake/lib/toaster/toastergui/views.py
+++ b/bitbake/lib/toaster/toastergui/views.py
@@ -71,14 +71,24 @@ class MimeTypeFinder(object):
# all new sessions should come through the landing page;
# determine in which mode we are running in, and redirect appropriately
def landing(request):
+ # in build mode, we redirect to the command-line builds page
+ # if there are any builds for the default (cli builds) project
+ default_project = Project.objects.get_default_project()
+ default_project_builds = Build.objects.filter(project = default_project)
+
+ if (not toastermain.settings.BUILD_MODE) and default_project_builds.count() > 0:
+ args = (default_project.id,)
+ return redirect(reverse('projectbuilds', args = args), permanent = False)
+
# we only redirect to projects page if there is a user-generated project
+ num_builds = Build.objects.all().count()
user_projects = Project.objects.filter(is_default = False)
has_user_project = user_projects.count() > 0
- if Build.objects.count() == 0 and has_user_project:
+ if num_builds == 0 and has_user_project:
return redirect(reverse('all-projects'), permanent = False)
- if Build.objects.all().count() > 0:
+ if num_builds > 0:
return redirect(reverse('all-builds'), permanent = False)
context = {'lvs_nos' : Layer_Version.objects.all().count()}
--
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.
More information about the toaster
mailing list