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 <[email protected]> --- 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. -- _______________________________________________ toaster mailing list [email protected] https://lists.yoctoproject.org/listinfo/toaster
