summaryrefslogtreecommitdiffstats
path: root/yocto-poky/bitbake/lib/toaster/toastergui/templates
diff options
context:
space:
mode:
authorPatrick Williams <patrick@stwcx.xyz>2016-03-30 15:21:19 -0500
committerPatrick Williams <patrick@stwcx.xyz>2016-03-30 15:21:19 -0500
commitb4a027550acf2c1051c34f997b8e7e845017af4b (patch)
tree9e38d3c17b42cb1e6765620a87e908973a93c821 /yocto-poky/bitbake/lib/toaster/toastergui/templates
parent2fe86d90044af218ced8f42fdded6b136f1046d2 (diff)
parentf1e5d6968976c2341c6d554bfcc8895f1b33c26b (diff)
downloadblackbird-openbmc-b4a027550acf2c1051c34f997b8e7e845017af4b.tar.gz
blackbird-openbmc-b4a027550acf2c1051c34f997b8e7e845017af4b.zip
Merge commit 'f1e5d6968976c2341c6d554bfcc8895f1b33c26b' from yocto-2.0.1
Diffstat (limited to 'yocto-poky/bitbake/lib/toaster/toastergui/templates')
-rw-r--r--yocto-poky/bitbake/lib/toaster/toastergui/templates/base.html118
-rw-r--r--yocto-poky/bitbake/lib/toaster/toastergui/templates/baseprojectpage.html10
-rw-r--r--yocto-poky/bitbake/lib/toaster/toastergui/templates/bpackage.html1
-rw-r--r--yocto-poky/bitbake/lib/toaster/toastergui/templates/builddashboard.html52
-rw-r--r--yocto-poky/bitbake/lib/toaster/toastergui/templates/builds.html32
-rw-r--r--yocto-poky/bitbake/lib/toaster/toastergui/templates/configuration.html1
-rw-r--r--yocto-poky/bitbake/lib/toaster/toastergui/templates/configvars.html1
-rw-r--r--yocto-poky/bitbake/lib/toaster/toastergui/templates/customise_btn.html9
-rw-r--r--yocto-poky/bitbake/lib/toaster/toastergui/templates/customrecipe.html142
-rw-r--r--yocto-poky/bitbake/lib/toaster/toastergui/templates/dirinfo.html19
-rw-r--r--yocto-poky/bitbake/lib/toaster/toastergui/templates/importlayer.html1
-rw-r--r--yocto-poky/bitbake/lib/toaster/toastergui/templates/js-unit-tests.html16
-rw-r--r--yocto-poky/bitbake/lib/toaster/toastergui/templates/landing.html104
-rw-r--r--yocto-poky/bitbake/lib/toaster/toastergui/templates/landing_not_managed.html2
-rw-r--r--yocto-poky/bitbake/lib/toaster/toastergui/templates/layer_btn.html12
-rw-r--r--yocto-poky/bitbake/lib/toaster/toastergui/templates/layerdetails.html1
-rw-r--r--yocto-poky/bitbake/lib/toaster/toastergui/templates/mrb_section.html105
-rw-r--r--yocto-poky/bitbake/lib/toaster/toastergui/templates/newcustomimage.html54
-rw-r--r--yocto-poky/bitbake/lib/toaster/toastergui/templates/newproject.html3
-rw-r--r--yocto-poky/bitbake/lib/toaster/toastergui/templates/package_detail_base.html11
-rw-r--r--yocto-poky/bitbake/lib/toaster/toastergui/templates/package_included_dependencies.html4
-rw-r--r--yocto-poky/bitbake/lib/toaster/toastergui/templates/package_included_detail.html4
-rw-r--r--yocto-poky/bitbake/lib/toaster/toastergui/templates/package_included_reverse_dependencies.html4
-rw-r--r--yocto-poky/bitbake/lib/toaster/toastergui/templates/pkg_add_rm_btn.html16
-rw-r--r--yocto-poky/bitbake/lib/toaster/toastergui/templates/project.html3
-rw-r--r--yocto-poky/bitbake/lib/toaster/toastergui/templates/projectbuilds.html24
-rw-r--r--yocto-poky/bitbake/lib/toaster/toastergui/templates/projectconf.html23
-rw-r--r--yocto-poky/bitbake/lib/toaster/toastergui/templates/projects.html25
-rw-r--r--yocto-poky/bitbake/lib/toaster/toastergui/templates/projecttopbar.html75
-rw-r--r--yocto-poky/bitbake/lib/toaster/toastergui/templates/recipe.html1
-rw-r--r--yocto-poky/bitbake/lib/toaster/toastergui/templates/recipe_btn.html12
-rw-r--r--yocto-poky/bitbake/lib/toaster/toastergui/templates/recipes.html1
-rw-r--r--yocto-poky/bitbake/lib/toaster/toastergui/templates/target.html1
-rw-r--r--yocto-poky/bitbake/lib/toaster/toastergui/templates/task.html1
-rw-r--r--yocto-poky/bitbake/lib/toaster/toastergui/templates/tasks.html15
-rw-r--r--yocto-poky/bitbake/lib/toaster/toastergui/templates/toastertable.html1
-rw-r--r--yocto-poky/bitbake/lib/toaster/toastergui/templates/unavailable_artifact.html2
37 files changed, 647 insertions, 259 deletions
diff --git a/yocto-poky/bitbake/lib/toaster/toastergui/templates/base.html b/yocto-poky/bitbake/lib/toaster/toastergui/templates/base.html
index 640bc47bc..11ac2a035 100644
--- a/yocto-poky/bitbake/lib/toaster/toastergui/templates/base.html
+++ b/yocto-poky/bitbake/lib/toaster/toastergui/templates/base.html
@@ -1,9 +1,12 @@
<!DOCTYPE html>
{% load static %}
{% load projecttags %}
+{% load project_url_tag %}
<html lang="en">
<head>
- <title>{% if objectname %} {{objectname|title}} - {% endif %}Toaster</title>
+ <title>
+ {% block title %} Toaster {% endblock %}
+ </title>
<link rel="stylesheet" href="{% static 'css/bootstrap.min.css' %}" type="text/css"/>
<link rel="stylesheet" href="{% static 'css/bootstrap-responsive.min.css' %}" type='text/css'/>
<link rel="stylesheet" href="{% static 'css/font-awesome.min.css' %}" type='text/css'/>
@@ -35,8 +38,9 @@
projectsTypeAheadUrl: {% url 'xhr_projectstypeahead' as prjurl%}{{prjurl|json}},
{% if project.id %}
projectId : {{project.id}},
- projectPageUrl : {% url 'project' project.id as purl%}{{purl|json}},
+ projectPageUrl : {% url 'project' project.id as purl %}{{purl|json}},
projectName : {{project.name|json}},
+ projectIsDefault: {% if project.is_default %}true{% else %}false{% endif %},
recipesTypeAheadUrl: {% url 'xhr_recipestypeahead' project.id as paturl%}{{paturl|json}},
layersTypeAheadUrl: {% url 'xhr_layerstypeahead' project.id as paturl%}{{paturl|json}},
machinesTypeAheadUrl: {% url 'xhr_machinestypeahead' project.id as paturl%}{{paturl|json}},
@@ -47,7 +51,7 @@
projectId : undefined,
projectPageUrl : undefined,
projectName : undefined,
- projectId : undefined,
+ projectIsDefault: false,
{% endif %}
};
</script>
@@ -89,9 +93,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' %}">
@@ -118,55 +122,65 @@
</li>
</ul>
<span class="pull-right divider-vertical"></span>
- <div class="btn-group pull-right">
- <a class="btn" id="new-project-button" href="{% url 'newproject' %}">New project</a>
- </div>
- <!-- New build popover -->
- <div class="btn-group pull-right" id="new-build-button" style="display:none">
- <button class="btn dropdown-toggle" data-toggle="dropdown">
- New build
- <i class="icon-caret-down"></i>
- </button>
- <ul class="dropdown-menu new-build multi-select">
- <li>
- <h3>New build</h3>
- <h6>Project:</h6>
- <span id="project">
- {% if project.id %}
- <a class="lead" href="{% url 'project' project.id %}">{{project.name}}</a>
- {% else %}
- <a class="lead" href="#"></a>
- {% endif %}
- <i class="icon-pencil"></i>
- </span>
- <form id="change-project-form" style="display:none;">
- <div class="input-append">
- <input type="text" class="input-medium" id="project-name-input" placeholder="Type a project name" autocomplete="off" data-minLength="1" data-autocomplete="off" data-provide="typeahead"/>
- <button id="save-project-button" class="btn" type="button">Save</button>
- <a href="#" id="cancel-change-project" class="btn btn-link" style="display: none">Cancel</a>
- </div>
- <p><a id="view-all-projects" href="{% url 'all-projects' %}">View all projects</a></p>
- </form>
- </li>
- <li>
- <div class="alert" style="display:none;">
- <p>This project configuration is incomplete, so you cannot run builds.</p>
- <p><a href="{% if project.id %}{% url 'project' project.id %}{% endif %}">View project configuration</a></p>
- </div>
- </li>
- <li id="targets-form">
- <h6>Recipe(s):</h6>
- <form>
- <input type="text" class="input-xlarge build-target-input" placeholder="Type a recipe name" autocomplete="off" data-minLength="1" data-autocomplete="off" data-provide="typeahead" disabled/>
- <div class="row-fluid">
- <button class="btn btn-primary build-button" disabled>Build</button>
- </div>
- </form>
- </li>
- </ul>
- </div>
+ <!-- new project button; only show in build mode -->
+ {% if BUILD_MODE %}
+ <div class="btn-group pull-right">
+ <a class="btn" id="new-project-button" href="{% url 'newproject' %}">New project</a>
+ </div>
+ {% endif %}
+ <!--
+ New build popover; only shown if there is at least one user-created project
+ and we're in build mode
+ -->
+ {% if BUILD_MODE and non_cli_projects.count > 0 %}
+ <div class="btn-group pull-right" id="new-build-button" style="display:none">
+ <button class="btn dropdown-toggle" data-toggle="dropdown">
+ New build
+ <i class="icon-caret-down"></i>
+ </button>
+ <ul class="dropdown-menu new-build multi-select">
+ <li>
+ <h3>New build</h3>
+ <h6>
+ Project:
+ <span id="project">
+ {% if project.id and not project.is_default %}
+ <a class="lead" href="{% project_url project %}">{{project.name}}</a>
+ {% else %}
+ <a class="lead" href="#"></a>
+ {% endif %}
+ <i class="icon-pencil"></i>
+ </span>
+ </h6>
+ <form id="change-project-form" style="display:none;">
+ <div class="input-append">
+ <input type="text" class="input-medium" id="project-name-input" placeholder="Type a project name" autocomplete="off" data-minLength="1" data-autocomplete="off" data-provide="typeahead"/>
+ <button id="save-project-button" class="btn" type="button">Save</button>
+ <a href="#" id="cancel-change-project" class="btn btn-link" style="display: none">Cancel</a>
+ </div>
+ <p><a id="view-all-projects" href="{% url 'all-projects' %}">View all projects</a></p>
+ </form>
+ </li>
+ <li>
+ <div class="alert" style="display:none;">
+ <p>This project configuration is incomplete, so you cannot run builds.</p>
+ <p><a href="{% if project.id %}{% url 'project' project.id %}{% endif %}">View project configuration</a></p>
+ </div>
+ </li>
+ <li id="targets-form">
+ <h6>Recipe(s):</h6>
+ <form>
+ <input type="text" class="input-xlarge build-target-input" placeholder="Type a recipe name" autocomplete="off" data-minLength="1" data-autocomplete="off" data-provide="typeahead" disabled/>
+ <div class="row-fluid">
+ <button class="btn btn-primary build-button" disabled>Build</button>
+ </div>
+ </form>
+ </li>
+ </ul>
+ </div>
+ {% endif %}
</div>
</div>
</div>
diff --git a/yocto-poky/bitbake/lib/toaster/toastergui/templates/baseprojectpage.html b/yocto-poky/bitbake/lib/toaster/toastergui/templates/baseprojectpage.html
index 668e0bf5e..1f45be462 100644
--- a/yocto-poky/bitbake/lib/toaster/toastergui/templates/baseprojectpage.html
+++ b/yocto-poky/bitbake/lib/toaster/toastergui/templates/baseprojectpage.html
@@ -1,6 +1,9 @@
{% extends "base.html" %}
{% load projecttags %}
{% load humanize %}
+
+{% block title %} {{title}} - {{project.name}} - Toaster {% endblock %}
+
{% block pagecontent %}
{% include "projecttopbar.html" %}
@@ -23,8 +26,11 @@
<ul class="nav nav-list well">
<li><a class="nav-parent" href="{% url 'project' project.id %}">Configuration</a></li>
<li class="nav-header">Compatible metadata</li>
-<!-- <li><a href="all-image-recipes.html">Image recipes</a></li> -->
- <li><a href="{% url 'projecttargets' project.id %}">Recipes</a></li>
+ {% if CUSTOM_IMAGE %}
+ <li><a href="{% url 'projectcustomimages' project.id %}">Custom images</a></li>
+ {% endif %}
+ <li><a href="{% url 'projectimagerecipes' project.id %}">Image recipes</a></li>
+ <li><a href="{% url 'projectsoftwarerecipes' project.id %}">Software recipes</a></li>
<li><a href="{% url 'projectmachines' project.id %}">Machines</a></li>
<li><a href="{% url 'projectlayers' project.id %}">Layers</a></li>
<li class="nav-header">Extra configuration</li>
diff --git a/yocto-poky/bitbake/lib/toaster/toastergui/templates/bpackage.html b/yocto-poky/bitbake/lib/toaster/toastergui/templates/bpackage.html
index d775fec73..81973cbc6 100644
--- a/yocto-poky/bitbake/lib/toaster/toastergui/templates/bpackage.html
+++ b/yocto-poky/bitbake/lib/toaster/toastergui/templates/bpackage.html
@@ -2,6 +2,7 @@
{% load projecttags %}
+{% block title %} Packages built - {{build.target_set.all|dictsort:"target"|join:", "}} {{build.machine}} - {{build.project.name}} - Toaster {% endblock %}
{% block localbreadcrumb %}
<li>Packages</li>
{% endblock %}
diff --git a/yocto-poky/bitbake/lib/toaster/toastergui/templates/builddashboard.html b/yocto-poky/bitbake/lib/toaster/toastergui/templates/builddashboard.html
index bab8e388f..323bbbb6e 100644
--- a/yocto-poky/bitbake/lib/toaster/toastergui/templates/builddashboard.html
+++ b/yocto-poky/bitbake/lib/toaster/toastergui/templates/builddashboard.html
@@ -2,8 +2,14 @@
{% load humanize %}
{% load projecttags %}
+{% block title %} {{build.target_set.all|dictsort:"target"|join:", "}} {{build.machine}} - {{build.project.name}} - Toaster {% endblock %}
{% block parentbreadcrumb %}
-{{build.get_sorted_target_list.0.target}} {%if build.target_set.all.count > 1%}(+ {{build.target_set.all.count|add:"-1"}}){%endif%} {{build.machine}} ({{build.completed_on|date:"d/m/y H:i"}})
+{% if build.get_sorted_target_list.count > 0 %}
+ {{build.get_sorted_target_list.0.target}}
+ &nbsp;
+{% endif %}
+
+{%if build.target_set.all.count > 1%}(+ {{build.target_set.all.count|add:"-1"}}){%endif%} {{build.machine}} ({{build.completed_on|date:"d/m/y H:i"}})
{% endblock %}
{% block buildinfomain %}
@@ -37,19 +43,13 @@
<span > <i class="icon-warning-sign yellow"></i><strong><a href="#warnings" class="warning show-warnings"> {{build.warnings.count}} warning{{build.warnings.count|pluralize}}</a></strong></span>
{% endif %}
<span class="pull-right">Build time: <a href="{% url 'buildtime' build.pk %}">{{ build.timespent_seconds|sectohms }}</a>
- <a class="btn {%if build.outcome == build.SUCCEEDED%}btn-success{%else%}btn-danger{%endif%} pull-right log" href="{% url 'build_artifact' build.id "cookerlog" build.id %}">Download build log</a>
+ {% if build.cooker_log_path %}
+ <a class="btn {%if build.outcome == build.SUCCEEDED%}btn-success{%else%}btn-danger{%endif%} pull-right log" href="{% url 'build_artifact' build.id "cookerlog" build.id %}">Download build log</a>
+ {% endif %}
</span>
{%endif%}
</div>
- {% if build.toaster_exceptions.count > 0 %}
- <div class="row">
- <small class="pull-right">
- <i class="icon-question-sign get-help get-help-blue" title="" data-original-title="Toaster exceptions do not affect your build: only the operation of Toaster"></i>
- <a class="show-exceptions" href="#exceptions">Toaster threw {{build.toaster_exceptions.count}} exception{{build.toaster_exceptions.count|pluralize}}</a>
- </small>
- </div>
- {% endif %}
</div>
</div>
@@ -67,11 +67,10 @@
<div class="accordion-body collapse in" id="collapse-errors">
<div class="accordion-inner">
<div class="span10">
- {% for error in logmessages %}{% if error.level == 2 %}
- <div class="alert alert-error">
+ {% for error in build.errors %}
+ <div class="alert alert-error" data-error="{{ error.id }}">
<pre>{{error.message}}</pre>
</div>
- {% endif %}
{% endfor %}
</div>
</div>
@@ -268,33 +267,6 @@
</div>
{% endif %}
-
-{% if build.toaster_exceptions.count > 0 %}
-<div class="accordion span10 pull-right" id="exceptions">
- <div class="accordion-group">
- <div class="accordion-heading">
- <a class="accordion-toggle exception toggle-exceptions">
- <h2 id="exception-toggle">
- <i class="icon-warning-sign"></i>
- {{build.toaster_exceptions.count}} Toaster exception{{build.toaster_exceptions.count|pluralize}}
- </h2>
- </a>
- </div>
- <div class="accordion-body collapse" id="collapse-exceptions">
- <div class="accordion-inner">
- <div class="span10">
- {% for exception in build.toaster_exceptions %}
- <div class="alert alert-exception">
- <pre>{{exception.message}}</pre>
- </div>
- {% endfor %}
- </div>
- </div>
- </div>
- </div>
-</div>
-{% endif %}
-
<script type="text/javascript">
$(document).ready(function() {
//show warnings section when requested from the previous page
diff --git a/yocto-poky/bitbake/lib/toaster/toastergui/templates/builds.html b/yocto-poky/bitbake/lib/toaster/toastergui/templates/builds.html
index c0d0c64c2..a27a12191 100644
--- a/yocto-poky/bitbake/lib/toaster/toastergui/templates/builds.html
+++ b/yocto-poky/bitbake/lib/toaster/toastergui/templates/builds.html
@@ -2,8 +2,10 @@
{% load static %}
{% load projecttags %}
+{% load project_url_tag %}
{% load humanize %}
+{% block title %} All builds - Toaster {% endblock %}
{% block extraheadcontent %}
<link rel="stylesheet" href="/static/css/jquery-ui.min.css" type='text/css'>
<link rel="stylesheet" href="/static/css/jquery-ui.structure.min.css" type='text/css'>
@@ -28,8 +30,6 @@
{% include "mrb_section.html" %}
-
- {% if 1 %}
<div class="page-header top-air">
<h1>
{% if request.GET.filter and objects.paginator.count > 0 or request.GET.search and objects.paginator.count > 0 %}
@@ -56,17 +56,25 @@
</form>
</div>
</div>
-
-
{% else %}
{% include "basetable_top.html" %}
<!-- Table data rows; the order needs to match the order of "tablecols" definitions; and the <td class value needs to match the tablecols clclass value for show/hide buttons to work -->
{% for build in objects %}
- <tr class="data">
+ <tr class="data" data-table-build-result="{{ build.id }}">
<td class="outcome">
- <a href="{% url "builddashboard" build.id %}">{%if build.outcome == build.SUCCEEDED%}<i class="icon-ok-sign success"></i>{%elif build.outcome == build.FAILED%}<i class="icon-minus-sign error"></i>{%else%}{%endif%}</a> &nbsp;
- </td>
- <td class="target">{% for t in build.target_set.all %} <a href="{% url "builddashboard" build.id %}"> {{t.target}} </a> <br />{% endfor %}</td>
+ <a href="{% url "builddashboard" build.id %}">{%if build.outcome == build.SUCCEEDED%}<i class="icon-ok-sign success"></i>{%elif build.outcome == build.FAILED%}<i class="icon-minus-sign error"></i>{%else%}{%endif%}</a> &nbsp;
+ </td>
+ <td class="target">
+ {% for t in build.target_set.all %}
+ <a href="{% url "builddashboard" build.id %}">
+ {% if t.task %}
+ {{t.target}}:{{t.task}}
+ {% else %}
+ {{t.target}}
+ {% endif %}
+ </a> <br />
+ {% endfor %}
+ </td>
<td class="machine"><a href="{% url "builddashboard" build.id %}">{{build.machine}}</a></td>
<td class="started_on"><a href="{% url "builddashboard" build.id %}">{{build.started_on|date:"d/m/y H:i"}}</a></td>
<td class="completed_on"><a href="{% url "builddashboard" build.id %}">{{build.completed_on|date:"d/m/y H:i"}}</a></td>
@@ -93,8 +101,11 @@
<a href="{%url "builddashboard" build.id%}#images">{{fstypes|get_dict_value:build.id}}</a>
{% endif %}
</td>
- <td>
- <a href="{% url 'project' build.project.id %}">{{build.project.name}}</a>
+ <td class="project-name">
+ <a href="{% project_url build.project %}">{{build.project.name}}</a>
+ {% if build.project.is_default %}
+ <i class="icon-question-sign get-help hover-help" title="" data-original-title="This project shows information about the builds you start from the command line while Toaster is running" style="visibility: hidden;"></i>
+ {% endif %}
</td>
</tr>
@@ -103,7 +114,6 @@
{% include "basetable_bottom.html" %}
{% endif %} {# objects.paginator.count #}
-{% endif %} {# empty #}
</div><!-- end row-fluid-->
{% endblock %}
diff --git a/yocto-poky/bitbake/lib/toaster/toastergui/templates/configuration.html b/yocto-poky/bitbake/lib/toaster/toastergui/templates/configuration.html
index 3e489918d..85d6a622a 100644
--- a/yocto-poky/bitbake/lib/toaster/toastergui/templates/configuration.html
+++ b/yocto-poky/bitbake/lib/toaster/toastergui/templates/configuration.html
@@ -1,6 +1,7 @@
{% extends "basebuildpage.html" %}
{% load projecttags %}
+{% block title %} Configuration summary - {{build.target_set.all|dictsort:"target"|join:", "}} {{build.machine}} - {{build.project.name}} - Toaster {% endblock %}
{% block localbreadcrumb %}
<li>Configuration</li>
{% endblock %}
diff --git a/yocto-poky/bitbake/lib/toaster/toastergui/templates/configvars.html b/yocto-poky/bitbake/lib/toaster/toastergui/templates/configvars.html
index 8a572ae39..e40c225a3 100644
--- a/yocto-poky/bitbake/lib/toaster/toastergui/templates/configvars.html
+++ b/yocto-poky/bitbake/lib/toaster/toastergui/templates/configvars.html
@@ -1,6 +1,7 @@
{% extends "basebuildpage.html" %}
{% load projecttags %}
+{% block title %} BitBake variables - {{build.target_set.all|dictsort:"target"|join:", "}} {{build.machine}} - {{build.project.name}} - Toaster {% endblock %}
{% block localbreadcrumb %}
<li>Configuration</li>
{% endblock %}
diff --git a/yocto-poky/bitbake/lib/toaster/toastergui/templates/customise_btn.html b/yocto-poky/bitbake/lib/toaster/toastergui/templates/customise_btn.html
new file mode 100644
index 000000000..54d05f9ea
--- /dev/null
+++ b/yocto-poky/bitbake/lib/toaster/toastergui/templates/customise_btn.html
@@ -0,0 +1,9 @@
+<button class="btn btn-block layer-exists-{{data.layer_version.id}} customise-btn" style="display:none;" data-recipe="{{data.id}}">
+ Customise
+</button>
+
+<button class="btn btn-block layer-add-{{data.layer_version.id}} layerbtn" data-layer='{ "id": {{data.layer_version.id}}, "name": "{{data.layer_version.layer.name}}", "layerdetailurl": "{% url 'layerdetails' extra.pid data.layer_version.id %}"}' data-directive="add">
+ <i class="icon-plus"></i>
+ Add layer
+</button>
+
diff --git a/yocto-poky/bitbake/lib/toaster/toastergui/templates/customrecipe.html b/yocto-poky/bitbake/lib/toaster/toastergui/templates/customrecipe.html
new file mode 100644
index 000000000..823bbd8a1
--- /dev/null
+++ b/yocto-poky/bitbake/lib/toaster/toastergui/templates/customrecipe.html
@@ -0,0 +1,142 @@
+{% extends "base.html" %}
+{% load projecttags %}
+{% load humanize %}
+{% load static %}
+{% block pagecontent %}
+
+{% include "projecttopbar.html" %}
+
+<script src="{% static 'js/customrecipe.js' %}"></script>
+<script>
+ $(document).ready(function (){
+ var ctx = {
+ tableApiUrl: "{% url 'recipeselectpackages' project.id recipe.pk %}?format=json"
+ };
+
+ try {
+ customRecipePageInit(ctx);
+ } catch (e) {
+ document.write("Sorry, An error has occurred loading this page");
+ console.warn(e);
+ }
+ });
+</script>
+
+<div class="row-fluid span11">
+ <div class="alert alert-success lead" id="image-created-notification" style="margin-top: 15px; display: none">
+ <button type="button" data-dismiss="alert" class="close">x</button>
+ Your custom image <strong>{{recipe.name}}</strong> has been created. You can now add or remove packages as needed.
+ </div>
+ <div class="page-header air">
+ <h1>
+ {{recipe.name}}
+ <small>({{recipe.base_recipe.name}})</small>
+ </h1>
+ </div>
+</div>
+
+<div class="row-fluid span11">
+ <div class="span8">
+ <div class="button-place btn-group" style="width: 100%">
+ <a class="btn btn-large span6" href="#" id="build-custom-image" style="width: 50%">
+ Build {{recipe.name}}
+ </a>
+ <button class="btn btn-large span6" data-toggle="modal" data-target="#download-file" id="download" style="width: 50%">
+ Download recipe file
+ </button>
+ </div>
+ <div id="no-package-results" class="air" style="display:none;">
+ <div class="alert">
+ <h3>No packages found</h3>
+ <p>You might consider <a href="all-software-recipes.html">searching the list of recipes</a> instead. If you find a recipe that matches the name of the package you want:</p>
+ <ol>
+ <li>Add the layer providing the recipe to your project</li>
+ <li>Build the recipe</li>
+ <li>Once the build completes, come back to this page and search for the package</li>
+ </ol>
+ <form class="input-append no-results">
+ <input type="text" class="input-xlarge" value="search query">
+ <a href="#" class="add-on btn">
+ <i class="icon-remove"></i>
+ </a>
+ <button class="btn">Search</button>
+ <button class="btn btn-link" id="show-all">Show all packages</button>
+ </form>
+ </div>
+ </div>
+ <div id="packages-table">
+ {% url 'recipeselectpackages' project.id recipe.id as xhr_table_url %}
+ {% with 'recipeselection' as table_name %}
+ {% with 'Add | Remove packages' as title %}
+
+ <h2>{{title}} (<span class="table-count-{{table_name}}"></span>) </h2>
+
+ {% include "toastertable.html" %}
+ {% endwith %}
+ {% endwith %}
+ </div>
+ </div>
+ <div class="span4 well">
+ <h2 style="margin-bottom:20px;">About {{recipe.name}}</h2>
+
+ <dl>
+ <dt>
+ Approx. packages included
+ <i class="icon-question-sign get-help" title="" data-original-title="The number of packages included is based on information from previous builds and from parsing layers, so we can never be sure it is 100% accurate"></i>
+ </dt>
+ <dd class="no-packages">{{recipe.packages.count}}</dd>
+ <!-- <dt>
+ Approx. package size
+ <i class="icon-question-sign get-help" title="" data-original-title="Package size is based on information from previous builds, so we can never be sure it is 100% accurate"></i>
+ </dt>
+ <dd>244.3 MB</dd>
+ <dt>Last build</dt>
+ <dd>
+ <i class="icon-ok-sign success"></i>
+ <a href="build-dashboard.html">11/06/15 15:22</a>
+ </dd>
+ <dt>Recipe file</dt>
+ <dd>
+ <code>custom-image-name.bb</code>
+ <a href="#download-file" data-toggle="modal"><i class="icon-download-alt" title="" data-original-title="Download recipe file"></i></a>
+ </dd> -->
+ <dt>Layer</dt>
+ <!-- TODO recipe details page -->
+ <dd><a href="{% url 'layerdetails' project.id recipe.base_recipe.layer_version.pk %}">{{recipe.base_recipe.layer_version.layer.name}}</a></dd>
+ <!--<dt>
+ Summary
+ </dt>
+ <dd>
+ <span class="muted">Not set</span>
+ <i class="icon-pencil" data-original-title="" title=""></i>
+ </dd>
+ <dt>
+ Description
+ </dt>
+ <dd>
+ <span class="muted">Not set</span>
+ <i class="icon-pencil" data-original-title="" title=""></i>
+ </dd>
+ <dt>Version</dt>
+ <dd>
+ 1.0
+ <i class="icon-pencil" data-original-title="" title=""></i>
+ </dd>
+ <dt>Section</dt>
+ <dd>
+ base
+ <i class="icon-pencil" data-original-title="" title=""></i>
+ <i class="icon-trash" data-original-title="" title=""></i>
+ </dd>
+ <dt>License</dt>
+ <dd>
+ MIT
+ <i class="icon-question-sign get-help" title="" data-original-title="All custom images have their license set to MIT. This is because the license applies only to the recipe (.bb) file, and not to the image itself. To see which licenses apply to the image you must check the license manifest generated with each build"></i>
+ </dd> -->
+ </dl>
+ <i class="icon-trash no-tooltip"></i>
+ <a href="#" class="error" id="delete">Delete custom image</a>
+ </div>
+</div>
+
+ {% endblock %}
diff --git a/yocto-poky/bitbake/lib/toaster/toastergui/templates/dirinfo.html b/yocto-poky/bitbake/lib/toaster/toastergui/templates/dirinfo.html
index a5bc48127..ecb46bf7a 100644
--- a/yocto-poky/bitbake/lib/toaster/toastergui/templates/dirinfo.html
+++ b/yocto-poky/bitbake/lib/toaster/toastergui/templates/dirinfo.html
@@ -1,4 +1,5 @@
{% extends "basebuildpage.html" %}
+{% block title %} Directory structure - {{ target.target }} {{ build.machine }} - {{ build.project.name }} - Toaster {% endblock %}
{% block extraheadcontent %}
{% load static %}
<link rel="stylesheet" href="{% static 'css/jquery.treetable.css' %}" type="text/css">
@@ -103,12 +104,16 @@
name += '</td>';
}
else {
- name = '<td>';
if (o.link_to == null) {
- name += '<i class="icon-file"></i>';
+ namespan = 2;
+ if (o.package == null) {
+ namespan = 3;
+ }
+ var colspan = 'colspan="' + namespan + '"';
+ name = '<td ' + colspan + '><i class="icon-file"></i>';
}
else {
- name += '<i class="icon-hand-right"></i>';
+ name = '<td><i class="icon-hand-right"></i>';
}
name += '&nbsp;' + o.name;
name += '</td>';
@@ -207,10 +212,10 @@
<th>Directory / File</th>
<th>Symbolic link to</th>
<th>Source package</th>
- <th>Size</th>
- <th>Permissions</th>
- <th>Owner</th>
- <th>Group</th>
+ <th class="narrow-col">Size</th>
+ <th class="medium-col">Permissions</th>
+ <th class="narrow-col">Owner</th>
+ <th class="narrow-col">Group</th>
</tr>
</thead>
<tbody>
diff --git a/yocto-poky/bitbake/lib/toaster/toastergui/templates/importlayer.html b/yocto-poky/bitbake/lib/toaster/toastergui/templates/importlayer.html
index ce3d724c8..033f0aede 100644
--- a/yocto-poky/bitbake/lib/toaster/toastergui/templates/importlayer.html
+++ b/yocto-poky/bitbake/lib/toaster/toastergui/templates/importlayer.html
@@ -2,6 +2,7 @@
{% load projecttags %}
{% load humanize %}
{% load static %}
+{% block title %} Import layer - {{project.name}} - Toaster {% endblock %}
{% block pagecontent %}
{% include "projecttopbar.html" %}
diff --git a/yocto-poky/bitbake/lib/toaster/toastergui/templates/js-unit-tests.html b/yocto-poky/bitbake/lib/toaster/toastergui/templates/js-unit-tests.html
index 5b8fd8447..8d65f33cb 100644
--- a/yocto-poky/bitbake/lib/toaster/toastergui/templates/js-unit-tests.html
+++ b/yocto-poky/bitbake/lib/toaster/toastergui/templates/js-unit-tests.html
@@ -22,9 +22,11 @@
<script src="{% static 'js/table.js' %}"></script>
<script>
- var tableUrl = '{% url 'projectlayers' project.pk %}';
+ var ctx = {
+ tableUrl : '{% url 'projectlayers' project.pk %}',
+ projectId : {{project.pk}},
+ }
</script>
-
<script src="{% static 'js/tests/test.js' %}"></script>
<div id="qunit"></div>
@@ -34,6 +36,12 @@
<input type="text" id="projects" placeholder="projects"></input>
<input type="text" id="machines" placeholder="machines"></input>
-{% endblock %}
-
+<!-- import layer dependency input typeahead -->
+<input type="text" id="layer-dependency" style="display:none"></input>
+<!-- project page input typeaheads -->
+<input type="text" id="layer-add-input" style="display:none"></input>
+<input type="text" id="machine-change-input" style="display:none"></input>
+<!-- import layer dependency input typeahead on layer details edit layer -->
+<input type="text" id="layer-dep-input" style="display:none"></input>
+{% endblock %}
diff --git a/yocto-poky/bitbake/lib/toaster/toastergui/templates/landing.html b/yocto-poky/bitbake/lib/toaster/toastergui/templates/landing.html
index 45e95322d..cafaa1afa 100644
--- a/yocto-poky/bitbake/lib/toaster/toastergui/templates/landing.html
+++ b/yocto-poky/bitbake/lib/toaster/toastergui/templates/landing.html
@@ -4,55 +4,69 @@
{% load projecttags %}
{% load humanize %}
+{% block title %} Welcome to Toaster {% endblock %}
{% block pagecontent %}
- <div class="container-fluid">
- <div class="row-fluid">
- <!-- Empty - no data in database -->
- <div class="hero-unit span12 well-transparent">
- <div class="row-fluid">
- <div class="span6">
- <h1>
- This is Toaster
- </h1>
- <p>A web interface to <a href="http://www.openembedded.org">OpenEmbedded</a> and <a href="http://www.yoctoproject.org/tools-resources/projects/bitbake">BitBake</a>, the <a href="http://www.yoctoproject.org">Yocto Project</a> build system.</p>
-
-
- {% if lvs_nos %}
- <p class="hero-actions">
- <a class="btn btn-primary btn-large" href="{% url 'newproject' %}">
- To start building, create your first Toaster project
- </a>
- </p>
- {% else %}
- <div class="alert alert-info lead air">
- Toaster has no layer information. Without layer information, you cannot run builds. To generate layer information you can:
- <ul>
- <li>
- <a href="http://www.yoctoproject.org/docs/latest/toaster-manual/toaster-manual.html#layer-source">Configure a layer source</a>
- </li>
- <li>
- <a href="{% url 'newproject' %}">Create a project</a>, then import layers
- </li>
- </ul>
- </div>
- {% endif %}
-
- <ul class="unstyled">
- <li>
- <a href="http://www.yoctoproject.org/docs/latest/toaster-manual/toaster-manual.html">Read the Toaster manual</a>
- </li>
- <li>
- <a href="https://wiki.yoctoproject.org/wiki/Contribute_to_Toaster">Contribute to Toaster</a>
- </li>
- </ul>
+ {% if BUILD_MODE %}
+ <!-- build mode -->
+ <div class="container-fluid">
+ <div class="row-fluid">
+ <div class="hero-unit span12 well-transparent">
+ <div class="row-fluid">
+ <div class="span6">
+ <h1>This is Toaster</h1>
+
+ <p>A web interface to <a href="http://www.openembedded.org">OpenEmbedded</a> and <a href="http://www.yoctoproject.org/tools-resources/projects/bitbake">BitBake</a>, the <a href="http://www.yoctoproject.org">Yocto Project</a> build system.</p>
+
+ {% if lvs_nos %}
+ <p class="hero-actions">
+ <a class="btn btn-primary btn-large" href="{% url 'newproject' %}">
+ To start building, create your first Toaster project
+ </a>
+ </p>
+ {% else %}
+ <div class="alert alert-info lead air">
+ Toaster has no layer information. Without layer information, you cannot run builds. To generate layer information you can:
+ <ul>
+ <li>
+ <a href="http://www.yoctoproject.org/docs/latest/toaster-manual/toaster-manual.html#layer-source">Configure a layer source</a>
+ </li>
+ <li>
+ <a href="{% url 'newproject' %}">Create a project</a>, then import layers
+ </li>
+ </ul>
+ </div>
+ {% endif %}
+
+ <ul class="unstyled">
+ <li>
+ <a href="http://www.yoctoproject.org/docs/latest/toaster-manual/toaster-manual.html">
+ Read the Toaster manual
+ </a>
+ </li>
+
+ <li>
+ <a href="https://wiki.yoctoproject.org/wiki/Contribute_to_Toaster">
+ Contribute to Toaster
+ </a>
+ </li>
+ </ul>
+ </div>
+
+ <div class="span6">
+ <img alt="Yocto Project" class="thumbnail" src="{% static 'img/toaster_bw.png' %}"/>
+ </div>
+
+ </div>
+ </div>
</div>
- <div class="span6">
- <img alt="Yocto Project" class="thumbnail" src="{% static 'img/toaster_bw.png' %}"/>
- </div>
- </div>
</div>
- </div>
+ {% else %}
+ <!-- analysis mode -->
+ <div class="alert alert-info lead top-air">
+ Toaster has not recorded any builds yet. Run a build from the command line to see it here.
+ </div>
+ {% endif %}
{% endblock %}
diff --git a/yocto-poky/bitbake/lib/toaster/toastergui/templates/landing_not_managed.html b/yocto-poky/bitbake/lib/toaster/toastergui/templates/landing_not_managed.html
index 5bc435d14..9b37f5530 100644
--- a/yocto-poky/bitbake/lib/toaster/toastergui/templates/landing_not_managed.html
+++ b/yocto-poky/bitbake/lib/toaster/toastergui/templates/landing_not_managed.html
@@ -4,6 +4,8 @@
{% load projecttags %}
{% load humanize %}
+{% block title %} Welcome to Toaster {% endblock %}
+
{% block pagecontent %}
<div class="container-fluid">
diff --git a/yocto-poky/bitbake/lib/toaster/toastergui/templates/layer_btn.html b/yocto-poky/bitbake/lib/toaster/toastergui/templates/layer_btn.html
index a2e93934d..314eec7cf 100644
--- a/yocto-poky/bitbake/lib/toaster/toastergui/templates/layer_btn.html
+++ b/yocto-poky/bitbake/lib/toaster/toastergui/templates/layer_btn.html
@@ -1,8 +1,16 @@
-<button class="btn btn-danger btn-block layer-exists-{{data.pk}} layerbtn" style="display:none;" data-layer='{ "id": {{data.pk}}, "name": "{{data.layer.name}}", "layerdetailurl": "{%url 'layerdetails' extra.pid data.pk%}"}' data-directive="remove" >
+<button class="btn btn-danger btn-block layer-exists-{{data.pk}} layerbtn" data-layer='{ "id": {{data.pk}}, "name": "{{data.layer.name}}", "layerdetailurl": "{%url 'layerdetails' extra.pid data.pk%}"}' data-directive="remove"
+ {% if data.pk not in extra.current_layers %}
+ style="display:none;"
+ {% endif %}
+ >
<i class="icon-trash"></i>
Delete layer
</button>
-<button class="btn btn-block layer-add-{{data.pk}} layerbtn" data-layer='{ "id": {{data.pk}}, "name": "{{data.layer.name}}", "layerdetailurl": "{%url 'layerdetails' extra.pid data.pk%}"}' data-directive="add">
+<button class="btn btn-block layer-add-{{data.pk}} layerbtn" data-layer='{ "id": {{data.pk}}, "name": "{{data.layer.name}}", "layerdetailurl": "{%url 'layerdetails' extra.pid data.pk%}"}' data-directive="add"
+ {% if data.pk in extra.current_layers %}
+ style="display:none;"
+ {% endif %}
+ >
<i class="icon-plus"></i>
Add layer
</button>
diff --git a/yocto-poky/bitbake/lib/toaster/toastergui/templates/layerdetails.html b/yocto-poky/bitbake/lib/toaster/toastergui/templates/layerdetails.html
index 7dd3db27a..7fe365da3 100644
--- a/yocto-poky/bitbake/lib/toaster/toastergui/templates/layerdetails.html
+++ b/yocto-poky/bitbake/lib/toaster/toastergui/templates/layerdetails.html
@@ -3,6 +3,7 @@
{% load humanize %}
{% load static %}
+{% block title %} {{layerversion.layer.name}} - {{project.name}} - Toaster {% endblock %}
{% block pagecontent %}
<div class="section">
diff --git a/yocto-poky/bitbake/lib/toaster/toastergui/templates/mrb_section.html b/yocto-poky/bitbake/lib/toaster/toastergui/templates/mrb_section.html
index 396fb8edf..bd8f99178 100644
--- a/yocto-poky/bitbake/lib/toaster/toastergui/templates/mrb_section.html
+++ b/yocto-poky/bitbake/lib/toaster/toastergui/templates/mrb_section.html
@@ -1,43 +1,68 @@
{% load static %}
{% load projecttags %}
+{% load project_url_tag %}
{% load humanize %}
+{%if mru and mru.count > 0%}
-{%if mru.count > 0%}
+ {%if mrb_type == 'project' %}
+ <h2>
+ Latest project builds
- <div class="page-header">
+ {% if project.is_default %}
+ <i class="icon-question-sign get-help heading-help" title="" data-original-title="Builds in this project cannot be started from Toaster: they are started from the command line"></i>
+ {% endif %}
+ </h2>
+ {% else %}
+ <div class="page-header">
<h1>
- Latest builds
- </h1>
- </div>
+ Latest builds
+ </h1>
+ </div>
+ {% endif %}
<div id="latest-builds">
{% for build in mru %}
- <div class="alert {%if build.outcome == build.SUCCEEDED%}alert-success{%elif build.outcome == build.FAILED%}alert-error{%else%}alert-info{%endif%} project-name ">
- <span class="label {%if build.outcome == build.SUCCEEDED%}label-success{%elif build.outcome == build.FAILED%}label-important{%else%}label-info{%endif%}">
- <a href={% url 'project' build.project.pk %}>
- {{build.project.name}}
- </a>
- </span>
-
+ <div data-latest-build-result="{{ build.id }}" class="alert build-result {%if build.outcome == build.SUCCEEDED%}alert-success{%elif build.outcome == build.FAILED%}alert-error{%else%}alert-info{%endif%}{% if mrb_type != 'project' %} project-name{% endif %}">
+ {% if mrb_type != 'project' %}
+ <span class="label {%if build.outcome == build.SUCCEEDED%}label-success{%elif build.outcome == build.FAILED%}label-important{%else%}label-info{%endif%}">
+ <a href={% project_url build.project %}>
+ {{build.project.name}}
+ </a>
+ </span>
+ {% endif %}
<div class="row-fluid">
- <div class="span3 lead">
+ <div class="span3 lead">
{%if build.outcome == build.SUCCEEDED or build.outcome == build.FAILED %}
- <a href="{%url 'builddashboard' build.pk%}" class="{%if build.outcome == build.SUCCEEDED %}success{%else%}error{%endif%}">
+ <a href="{%url 'builddashboard' build.pk%}" class="{%if build.outcome == build.SUCCEEDED %}success{%else%}error{%endif%}">
{% endif %}
{% if build.target_set.all.count > 0 %}
<span data-toggle="tooltip"
- {%if build.target_set.all.count > 1%}
- title="Targets: {%for target in build.target_set.all%}{{target.target}} {%endfor%}"
- {%endif%}
+ {% if build.target_set.all.count > 1 %}
+ title="Targets:
+ {% for target in build.target_set.all %}
+ {% if target.task %}
+ {{target.target}}:{{target.task}}
+ {% else %}
+ {{target.target}}
+ {% endif %}
+ {% endfor %}"
+ {% endif %}
>
-
- {{build.target_set.all.0.target}} {%if build.target_set.all.count > 1%}(+ {{build.target_set.all.count|add:"-1"}}){%endif%}
+ {% if build.target_set.all.0.task %}
+ {{build.target_set.all.0.target}}:{{build.target_set.all.0.task}}
+ {% else %}
+ {{build.target_set.all.0.target}}
+ {% endif %}
+ {% if build.target_set.all.count > 1 %}
+ (+ {{build.target_set.all.count|add:"-1"}})
+ {% endif %}
</span>
{% endif %}
{%if build.outcome == build.SUCCEEDED or build.outcome == build.FAILED %}
</a>
{% endif %}
</div>
+ {% if build.outcome == build.SUCCEEDED or build.outcome == build.FAILED %}
<div class="span2 lead">
{% if build.completed_on|format_build_date %}
{{ build.completed_on|date:'d/m/y H:i' }}
@@ -45,6 +70,7 @@
{{ build.completed_on|date:'H:i' }}
{% endif %}
</div>
+ {% endif %}
{%if build.outcome == build.SUCCEEDED or build.outcome == build.FAILED %}
<div class="span2 lead">
{% if build.errors.count %}
@@ -58,28 +84,41 @@
</div>
<div class="lead ">
<span class="lead">
- Build time: <a href="{% url 'buildtime' build.pk %}">{{ build.timespent_seconds|sectohms }}</a>
+ Build time: <a href="{% url 'buildtime' build.pk %}">{{ build.timespent_seconds|sectohms }}</a>
</span>
- <button class="btn
+ {% if build.project.is_default %}
+ <i class="pull-right icon-question-sign get-help
{% if build.outcome == build.SUCCEEDED %}
- btn-success
+ get-help-green
{% elif build.outcome == build.FAILED %}
- btn-danger
+ get-help-red
{% else %}
- btn-info
- {%endif%}
- pull-right"
- onclick='scheduleBuild({% url 'projectbuilds' build.project.id as bpi %}{{bpi|json}},
- {{build.project.name|json}},
- {% url 'project' build.project.id as bpurl %}{{bpurl|json}},
- {{build.target_set.all|get_tasks|json}})'>
+ get-help-blue
+ {% endif %}
+ " title="Builds in this project cannot be started from Toaster: they are started from the command line">
+ </i>
+ {% else %}
+ <button class="btn
+ {% if build.outcome == build.SUCCEEDED %}
+ btn-success
+ {% elif build.outcome == build.FAILED %}
+ btn-danger
+ {% else %}
+ btn-info
+ {%endif%}
+ pull-right"
+ onclick='scheduleBuild({% url 'projectbuilds' build.project.id as bpi %}{{bpi|json}},
+ {{build.project.name|json}},
+ {% url 'project' build.project.id as purl %}{{purl|json}},
+ {{build.target_set.all|get_tasks|json}})'>
- Run again
- </button>
+ Run again
+ </button>
+ {% endif %}
</div>
{%endif%}
{%if build.outcome == build.IN_PROGRESS %}
- <div class="span4">
+ <div class="span4 offset1">
<div class="progress" style="margin-top:5px;" data-toggle="tooltip" title="{{build.completeper}}% of tasks complete">
<div style="width: {{build.completeper}}%;" class="bar"></div>
</div>
diff --git a/yocto-poky/bitbake/lib/toaster/toastergui/templates/newcustomimage.html b/yocto-poky/bitbake/lib/toaster/toastergui/templates/newcustomimage.html
new file mode 100644
index 000000000..4487b3ea0
--- /dev/null
+++ b/yocto-poky/bitbake/lib/toaster/toastergui/templates/newcustomimage.html
@@ -0,0 +1,54 @@
+{% extends "base.html" %}
+{% load projecttags %}
+{% load humanize %}
+{% load static %}
+{% block pagecontent %}
+
+<script src="{% static 'js/newcustomimage.js' %}"></script>
+<script>
+ $(document).ready(function (){
+ var ctx = {
+ xhrCustomRecipeUrl : "{% url 'xhr_customrecipe' %}",
+ };
+
+ try {
+ newCustomImagePageInit(ctx);
+ } catch (e) {
+ document.write("Sorry, An error has occurred loading this page");
+ console.warn(e);
+ }
+ });
+</script>
+
+</script>
+<div class="modal hide fade in" id="new-custom-image-modal" aria-hidden="false">
+ <div class="modal-header">
+ <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
+ <h3>Name your custom image</h3>
+ </div>
+ <div class="modal-body">
+ <div class="row-fluid">
+ <span class="help-block span8">Image names must be unique. They should not contain spaces or capital letters, and the only allowed special character is dash (-).<p></p>
+ </span></div>
+ <div class="control-group controls">
+ <input type="text" class="huge span5" placeholder="Type the name, something like 'core-image-myimage'">
+ <span class="help-block" style="display:none">Image names cannot contain spaces or capital letters. The only allowed special character is dash (-)</span>
+ <span class="help-block" style="display: none">An image with this name already exists. Image names must be unique: try a different one.</span>
+ </div>
+ </div>
+ <div class="modal-footer">
+ <a href="#" id="create-new-custom-image-btn" class="btn btn-primary btn-large" data-original-title="" title="">Create custom image</a>
+ </div>
+</div>
+
+{% include "projecttopbar.html" %}
+
+
+{% url table_name project.id as xhr_table_url %}
+{% include "toastertable.html" %}
+
+
+
+{% endblock %}
+
+
diff --git a/yocto-poky/bitbake/lib/toaster/toastergui/templates/newproject.html b/yocto-poky/bitbake/lib/toaster/toastergui/templates/newproject.html
index 997390bcf..e83b2bea6 100644
--- a/yocto-poky/bitbake/lib/toaster/toastergui/templates/newproject.html
+++ b/yocto-poky/bitbake/lib/toaster/toastergui/templates/newproject.html
@@ -1,6 +1,9 @@
{% extends "base.html" %}
{% load projecttags %}
{% load humanize %}
+
+{% block title %} Create a new project - Toaster {% endblock %}
+
{% block pagecontent %}
<div class="row-fluid">
<div class="page-header">
diff --git a/yocto-poky/bitbake/lib/toaster/toastergui/templates/package_detail_base.html b/yocto-poky/bitbake/lib/toaster/toastergui/templates/package_detail_base.html
index a24bc8e43..9fa28a8f8 100644
--- a/yocto-poky/bitbake/lib/toaster/toastergui/templates/package_detail_base.html
+++ b/yocto-poky/bitbake/lib/toaster/toastergui/templates/package_detail_base.html
@@ -1,6 +1,13 @@
{% extends "basebuilddetailpage.html" %}
{% load projecttags %}
+{% block title %}
+ {% if target %}
+ {{package.fullpackagespec}} - {{ target.target }} {{ build.machine }} - {{ build.project.name }} - Toaster
+ {% else %}
+ {{package.fullpackagespec}} - {{ build.target_set.all|dictsort:"target"|join:", " }} {{ build.machine }} - {{ build.project.name }} - Toaster
+ {% endif %}
+{% endblock %}
{% block extraheadcontent %}
<!-- functions to format package 'installed_package' alias -->
<script>
@@ -38,9 +45,9 @@
{% block pagedetailinfomain %}
<div class="row span11">
<div class="page-header">
- {% block title %}
+ {% block mainheading %}
<h1>{{package.fullpackagespec}}</h1>
- {% endblock title %}
+ {% endblock %}
</div> <!-- page-header -->
</div> <!-- row span11 page-header -->
diff --git a/yocto-poky/bitbake/lib/toaster/toastergui/templates/package_included_dependencies.html b/yocto-poky/bitbake/lib/toaster/toastergui/templates/package_included_dependencies.html
index 642ca6956..8a0508e70 100644
--- a/yocto-poky/bitbake/lib/toaster/toastergui/templates/package_included_dependencies.html
+++ b/yocto-poky/bitbake/lib/toaster/toastergui/templates/package_included_dependencies.html
@@ -1,13 +1,13 @@
{% extends "package_detail_base.html" %}
{% load projecttags %}
-{% block title %}
+{% block mainheading %}
<h1>
{{package.fullpackagespec}}
<script> fmtAliasHelp("{{package.name}}", "{{package.alias}}", false) </script>
<small>({{target.target}})</small>
</h1>
-{% endblock title %}
+{% endblock %}
{% block tabcontent %}
{% with packageFileCount=package.buildfilelist_package.count %}
diff --git a/yocto-poky/bitbake/lib/toaster/toastergui/templates/package_included_detail.html b/yocto-poky/bitbake/lib/toaster/toastergui/templates/package_included_detail.html
index d2aa26eef..568e2f235 100644
--- a/yocto-poky/bitbake/lib/toaster/toastergui/templates/package_included_detail.html
+++ b/yocto-poky/bitbake/lib/toaster/toastergui/templates/package_included_detail.html
@@ -1,7 +1,7 @@
{% extends "package_detail_base.html" %}
{% load projecttags %}
-{% block title %}
+{% block mainheading %}
<h1>
{{package.fullpackagespec}}
<script>
@@ -9,7 +9,7 @@
</script>
<small>({{target.target}})</small>
</h1>
-{% endblock title %}
+{% endblock %}
{% block tabcontent %}
{% with packageFileCount=package.buildfilelist_package.count %}
diff --git a/yocto-poky/bitbake/lib/toaster/toastergui/templates/package_included_reverse_dependencies.html b/yocto-poky/bitbake/lib/toaster/toastergui/templates/package_included_reverse_dependencies.html
index 5cc8b47a6..fb310c7fc 100644
--- a/yocto-poky/bitbake/lib/toaster/toastergui/templates/package_included_reverse_dependencies.html
+++ b/yocto-poky/bitbake/lib/toaster/toastergui/templates/package_included_reverse_dependencies.html
@@ -1,13 +1,13 @@
{% extends "package_detail_base.html" %}
{% load projecttags %}
-{% block title %}
+{% block mainheading %}
<h1>
{{package.fullpackagespec}}
<script> fmtAliasHelp("{{package.name}}", "{{package.alias}}", false) </script>
<small>({{target.target}})</small>
</h1>
-{% endblock title %}
+{% endblock %}
{% block tabcontent %}
{% with packageFileCount=package.buildfilelist_package.count %}
diff --git a/yocto-poky/bitbake/lib/toaster/toastergui/templates/pkg_add_rm_btn.html b/yocto-poky/bitbake/lib/toaster/toastergui/templates/pkg_add_rm_btn.html
new file mode 100644
index 000000000..b766aeac9
--- /dev/null
+++ b/yocto-poky/bitbake/lib/toaster/toastergui/templates/pkg_add_rm_btn.html
@@ -0,0 +1,16 @@
+<button class="btn btn-block btn-danger add-rm-package-btn" id="package-rm-btn-{{data.pk}}" data-directive="remove" data-package="{{data.pk}}" data-package-url="{% url 'xhr_customrecipe_packages' extra.recipe_id data.pk %}" style="
+ {% if data.pk not in extra.current_packages %}
+ display:none
+ {% endif %}
+ ">
+ <i class="icon-trash no-tooltip"></i>
+ Remove package
+</a>
+<button class="btn btn-block add-rm-package-btn" data-directive="add" id="package-add-btn-{{data.pk}}" data-package="{{data.pk}}" data-package-url="{% url 'xhr_customrecipe_packages' extra.recipe_id data.pk %}" style="
+ {% if data.pk in extra.current_packages %}
+ display:none
+ {% endif %}
+ ">
+<i class="icon-plus"></i>
+ Add package
+</button>
diff --git a/yocto-poky/bitbake/lib/toaster/toastergui/templates/project.html b/yocto-poky/bitbake/lib/toaster/toastergui/templates/project.html
index e8354fd67..4e83981f8 100644
--- a/yocto-poky/bitbake/lib/toaster/toastergui/templates/project.html
+++ b/yocto-poky/bitbake/lib/toaster/toastergui/templates/project.html
@@ -4,6 +4,7 @@
{% load humanize %}
{% load static %}
+{% block title %} Configuration - {{project.name}} - Toaster {% endblock %}
{% block projectinfomain %}
<script src="{% static 'js/layerDepsModal.js' %}"></script>
@@ -67,7 +68,7 @@
<div class="alert alert-info" style="display:none" id="no-most-built">
<span class="lead">You haven't built any recipes yet</span>
- <p style="margin-top: 10px;"><a href="{% url 'projecttargets' project.id %}">Choose a recipe to build</a></p>
+ <p style="margin-top: 10px;"><a href="{% url 'projectsoftwarerecipes' project.id %}">Choose a recipe to build</a></p>
</div>
<ul class="unstyled configuration-list" id="freq-build-list">
diff --git a/yocto-poky/bitbake/lib/toaster/toastergui/templates/projectbuilds.html b/yocto-poky/bitbake/lib/toaster/toastergui/templates/projectbuilds.html
index 27cfcd7dc..bb38284aa 100644
--- a/yocto-poky/bitbake/lib/toaster/toastergui/templates/projectbuilds.html
+++ b/yocto-poky/bitbake/lib/toaster/toastergui/templates/projectbuilds.html
@@ -2,7 +2,7 @@
{% load projecttags %}
{% load humanize %}
-
+{% block title %} Builds - {{project.name}} - Toaster {% endblock %}
{% block extraheadcontent %}
<link rel="stylesheet" href="/static/css/jquery-ui.min.css" type='text/css'>
<link rel="stylesheet" href="/static/css/jquery-ui.structure.min.css" type='text/css'>
@@ -21,13 +21,17 @@
});
</script>
+ {% with mrb_type='project' %}
+ {% include "mrb_section.html" %}
+ {% endwith %}
+
<h2>
{% if request.GET.filter and objects.paginator.count > 0 or request.GET.search and objects.paginator.count > 0 %}
- {{objects.paginator.count}} build{{objects.paginator.count|pluralize}} found
+ {{objects.paginator.count}} project build{{objects.paginator.count|pluralize}} found
{%elif request.GET.filter and objects.paginator.count == 0 or request.GET.search and objects.paginator.count == 0 %}
- No builds found
+ No project builds found
{%else%}
- Project builds
+ All project builds
{%endif%}
<i class="icon-question-sign get-help heading-help" title="This page lists all the builds for the current project"></i>
</h2>
@@ -66,7 +70,17 @@
{% endif %}
</td>
- <td class="target">{% for t in build.target_set.all %} <a href="{% url "builddashboard" build.id %}"> {{t.target}} </a> <br />{% endfor %}</td>
+ <td class="target">
+ {% for t in build.target_set.all %}
+ <a href="{% url "builddashboard" build.id %}">
+ {% if t.task %}
+ {{t.target}}:{{t.task}}
+ {% else %}
+ {{t.target}}
+ {% endif %}
+ </a> <br />
+ {% endfor %}
+ </td>
<td class="machine"><a href="{% url "builddashboard" build.id %}">{{build.machine}}</a></td>
<td class="started_on"><a href="{% url "builddashboard" build.id %}">{{build.started_on|date:"d/m/y H:i"}}</a></td>
<td class="completed_on"><a href="{% url "builddashboard" build.id %}">{{build.completed_on|date:"d/m/y H:i"}}</a></td>
diff --git a/yocto-poky/bitbake/lib/toaster/toastergui/templates/projectconf.html b/yocto-poky/bitbake/lib/toaster/toastergui/templates/projectconf.html
index 4c5a188a8..30fd03e32 100644
--- a/yocto-poky/bitbake/lib/toaster/toastergui/templates/projectconf.html
+++ b/yocto-poky/bitbake/lib/toaster/toastergui/templates/projectconf.html
@@ -2,7 +2,7 @@
{% load projecttags %}
{% load humanize %}
-
+{% block title %} BitBake variables - {{project.name}} - Toaster {% endblock %}
{% block projectinfomain %}
<h2>Bitbake variables</h2>
@@ -43,6 +43,7 @@
<input id="filter-image_fstypes" type="text" placeholder="Search image types" class="span4">
<div id="all-image_fstypes" class="scrolling">
</div>
+ <span class="help-block" id="fstypes-error-message">You must select at least one image type</span>
<button id="apply-change-image_fstypes" type="button" class="btn">Save</button>
<button id="cancel-change-image_fstypes" type="button" class="btn btn-link">Cancel</button>
</form>
@@ -312,9 +313,11 @@
});
if ( 0 == any_checked ) {
$("#apply-change-image_fstypes").attr("disabled","disabled");
+ $('#fstypes-error-message').show();
}
else {
$("#apply-change-image_fstypes").removeAttr("disabled");
+ $('#fstypes-error-message').hide();
}
}
@@ -546,10 +549,14 @@
// Add the un-checked boxes second
for (var i = 0, length = fstypes_list.length; i < length; i++) {
if (0 > fstypes.indexOf(" "+fstypes_list[i].value+" ")) {
- html += '<label class="checkbox"><input type="checkbox" class="fs-checkbox-fstypes" value="'+fstypes_list[i].value+'">'+fstypes_list[i].value+'</label>\n';
+ html += '<label class="checkbox"><input type="checkbox" class="fs-checkbox-fstypes" value="'+fstypes_list[i].value+'">'+fstypes_list[i].value+'</label>\n';
}
}
+ // Add the 'no search matches' line last
+ html += '<label id="no-match-fstypes">No image types found</label>\n';
+ // Display the list
document.getElementById("all-image_fstypes").innerHTML = html;
+ $('#no-match-fstypes').hide();
// Watch elements to disable Save when none are checked
$(".fs-checkbox-fstypes").each(function(){
@@ -558,8 +565,9 @@
});
});
- // clear the previous filter values
+ // clear the previous filter values and warning messages
$("input#filter-image_fstypes").val("");
+ $('#fstypes-error-message').hide();
});
$('#cancel-change-image_fstypes').click(function(){
@@ -569,17 +577,24 @@
});
$('#filter-image_fstypes').on('input', function(){
- var valThis = $(this).val().toLowerCase();
+ var valThis = $(this).val().toLowerCase();
+ var matchCount=0;
$('#all-image_fstypes label').each(function(){
var text = $(this).text().toLowerCase();
var match = text.indexOf(valThis);
if (match >= 0) {
$(this).show();
+ matchCount += 1;
}
else {
$(this).hide();
}
});
+ if (matchCount === 0) {
+ $('#no-match-fstypes').show();
+ } else {
+ $('#no-match-fstypes').hide();
+ }
});
$('#apply-change-image_fstypes').click(function(){
diff --git a/yocto-poky/bitbake/lib/toaster/toastergui/templates/projects.html b/yocto-poky/bitbake/lib/toaster/toastergui/templates/projects.html
index c2d77b5a3..678a7963b 100644
--- a/yocto-poky/bitbake/lib/toaster/toastergui/templates/projects.html
+++ b/yocto-poky/bitbake/lib/toaster/toastergui/templates/projects.html
@@ -2,8 +2,11 @@
{% load static %}
{% load projecttags %}
+{% load project_url_tag %}
{% load humanize %}
+{% block title %} All projects - Toaster {% endblock %}
+
{% block pagecontent %}
@@ -36,17 +39,29 @@
{% else %} {# We have builds to display #}
{% include "basetable_top.html" %}
{% for o in objects %}
- <tr class="data">
- <td><a href="{% url 'project' o.id %}">{{o.name}}</a></td>
- <td class="updated"><a href="{% url 'project' o.id %}">{{o.updated|date:"d/m/y H:i"}}</a></td>
- <td>
+ <tr class="data" data-project="{{ o.id }}">
+ <td data-project-field="name">
+ <a href="{% project_url o %}">{{o.name}}</a>
+ </td>
+ <td class="updated"><a href="{% project_url o %}">{{o.updated|date:"d/m/y H:i"}}</a></td>
+ <td data-project-field="release">
{% if o.release %}
<a href="{% url 'project' o.id %}#project-details">{{o.release.name}}</a>
+ {% elif o.is_default %}
+ <span class="muted">Not applicable</span>
+ <i class="icon-question-sign get-help hover-help" title="" data-original-title="This project does not have a release set. It simply collects information about the builds you start from the command line while Toaster is running" style="visibility: hidden;"></i>
{% else %}
No release available
{% endif %}
</td>
- <td><a href="{% url 'project' o.id %}#machine-distro">{{o.get_current_machine_name}}</a></td>
+ <td data-project-field="machine">
+ {% if o.is_default %}
+ <span class="muted">Not applicable</span>
+ <i class="icon-question-sign get-help hover-help" title="" data-original-title="This project does not have a machine set. It simply collects information about the builds you start from the command line while Toaster is running" style="visibility: hidden;"></i>
+ {% else %}
+ <a href="{% url 'project' o.id %}#machine-distro">{{o.get_current_machine_name}}</a>
+ {% endif %}
+ </td>
{% if o.get_number_of_builds == 0 %}
<td class="muted">{{o.get_number_of_builds}}</td>
<td class="loutcome"></td>
diff --git a/yocto-poky/bitbake/lib/toaster/toastergui/templates/projecttopbar.html b/yocto-poky/bitbake/lib/toaster/toastergui/templates/projecttopbar.html
index ca2741daf..ee86b5481 100644
--- a/yocto-poky/bitbake/lib/toaster/toastergui/templates/projecttopbar.html
+++ b/yocto-poky/bitbake/lib/toaster/toastergui/templates/projecttopbar.html
@@ -1,12 +1,18 @@
<div class="alert alert-success lead" id="project-created-notification" style="margin-top:15px; display:none">
<button type="button" class="close" data-dismiss="alert">×</button>
- Your project <strong>{{project.name}}</strong> has been created. You can now <a href="{% url 'projectmachines' project.id %}">select your target machine</a> and <a href="{% url 'projecttargets' project.id %}">choose image recipes</a> to build.
+ Your project <strong>{{project.name}}</strong> has been created. You can now <a href="{% url 'projectmachines' project.id %}">select your target machine</a> and <a href="{% url 'projectsoftwarerecipes' project.id %}">choose image recipes</a> to build.
</div>
<!-- project name -->
<div class="page-header">
- <h1><span id="project-name">{{project.name}}</span>
+ <h1 id="project-name-container">
+ <span id="project-name">{{project.name}}</span>
+
<i class="icon-pencil" data-original-title="" id="project-change-form-toggle" title=""></i>
+
+ {% if project.is_default %}
+ <i class="icon-question-sign get-help heading-help" title="" data-original-title="This project shows information about the builds you start from the command line while Toaster is running"></i>
+ {% endif %}
</h1>
<form id="project-name-change-form" style="margin-bottom: 0px; display: none;">
<div class="input-append">
@@ -17,31 +23,40 @@
</form>
</div>
-<div id="project-topbar">
- <ul class="nav nav-pills">
- <li>
- <a href="{% url 'projectbuilds' project.id %}">
- Builds (<span class="total-builds">0</span>)
- </a>
- </li>
- <li id="topbar-configuration-tab">
- <a href="{% url 'project' project.id %}">
- Configuration
- </a>
- </li>
- <li>
- <a href="{% url 'importlayer' project.id %}">
- Import layer
- </a>
- </li>
- <li class="pull-right">
- <form class="form-inline" style="margin-bottom:0px;">
- <i class="icon-question-sign get-help heading-help" data-placement="left" title="" data-original-title="Type the name of one or more recipes you want to build, separated by a space. You can also specify a task by appending a semicolon and a task name to the recipe name, like so: <code>busybox:clean</code>"></i>
- <div class="input-append">
- <input id="build-input" type="text" class="input-xlarge input-lg build-target-input" placeholder="Type the recipe you want to build" autocomplete="off" disabled>
- <button id="build-button" class="btn btn-primary btn-large build-button" data-project-id="{{project.id}}" disabled>Build</button>
- </div>
- </form>
- </li>
- </ul>
-</div>
+{% if not project.is_default %}
+ <div id="project-topbar">
+ <ul class="nav nav-pills">
+ <li>
+ <a href="{% url 'projectbuilds' project.id %}">
+ Builds (<span class="total-builds">0</span>)
+ </a>
+ </li>
+ <li id="topbar-configuration-tab">
+ <a href="{% url 'project' project.id %}">
+ Configuration
+ </a>
+ </li>
+ <li>
+ <a href="{% url 'importlayer' project.id %}">
+ Import layer
+ </a>
+ </li>
+ {% if CUSTOM_IMAGE %}
+ <li>
+ <a href="{% url 'newcustomimage' project.id %}">
+ New custom image
+ </a>
+ </li>
+ {% endif %}
+ <li class="pull-right">
+ <form class="form-inline" style="margin-bottom:0px;">
+ <i class="icon-question-sign get-help heading-help" data-placement="left" title="" data-original-title="Type the name of one or more recipes you want to build, separated by a space. You can also specify a task by appending a semicolon and a task name to the recipe name, like so: <code>busybox:clean</code>"></i>
+ <div class="input-append">
+ <input id="build-input" type="text" class="input-xlarge input-lg build-target-input" placeholder="Type the recipe you want to build" autocomplete="off" disabled>
+ <button id="build-button" class="btn btn-primary btn-large build-button" data-project-id="{{project.id}}" disabled>Build</button>
+ </div>
+ </form>
+ </li>
+ </ul>
+ </div>
+{% endif %}
diff --git a/yocto-poky/bitbake/lib/toaster/toastergui/templates/recipe.html b/yocto-poky/bitbake/lib/toaster/toastergui/templates/recipe.html
index b5e4192d6..c6ae2f380 100644
--- a/yocto-poky/bitbake/lib/toaster/toastergui/templates/recipe.html
+++ b/yocto-poky/bitbake/lib/toaster/toastergui/templates/recipe.html
@@ -2,6 +2,7 @@
{% load projecttags %}
+{% block title %} {{object.name}}_{{object.version}} - {{build.target_set.all|dictsort:"target"|join:", "}} {{build.machine}} - {{build.project.name}} - Toaster {% endblock %}
{% block localbreadcrumb %}
<li><a href="{% url 'recipes' build.pk %}">Recipes</a></li>
<li>{{object.name}}_{{object.version}} </li>
diff --git a/yocto-poky/bitbake/lib/toaster/toastergui/templates/recipe_btn.html b/yocto-poky/bitbake/lib/toaster/toastergui/templates/recipe_btn.html
index 77c1b235b..baab06eb5 100644
--- a/yocto-poky/bitbake/lib/toaster/toastergui/templates/recipe_btn.html
+++ b/yocto-poky/bitbake/lib/toaster/toastergui/templates/recipe_btn.html
@@ -1,7 +1,15 @@
-<button data-recipe-name="{{data.name}}" class="btn btn-block layer-exists-{{data.layer_version.pk}} build-recipe-btn" style="display:none; margin-top: 5px;" >
+<button data-recipe-name="{{data.name}}" class="btn btn-block layer-exists-{{data.layer_version.pk}} build-recipe-btn" style="margin-top: 5px;
+ {% if data.layer_version.pk not in extra.current_layers %}
+ display:none;
+ {% endif %}"
+ >
Build recipe
</button>
-<button class="btn btn-block layerbtn layer-add-{{data.layer_version.pk}}" data-layer='{ "id": {{data.layer_version.pk}}, "name": "{{data.layer_version.layer.name}}", "layerdetailurl": "{%url 'layerdetails' extra.pid data.layer_version.pk%}"}' data-directive="add">
+<button class="btn btn-block layerbtn layer-add-{{data.layer_version.pk}}" data-layer='{ "id": {{data.layer_version.pk}}, "name": "{{data.layer_version.layer.name}}", "layerdetailurl": "{%url 'layerdetails' extra.pid data.layer_version.pk%}"}' data-directive="add"
+ {% if data.layer_version.pk in extra.current_layers %}
+ style="display:none;"
+ {% endif %}
+>
<i class="icon-plus"></i>
Add layer
<i title="" class="icon-question-sign get-help" data-original-title="To build this target, you must first add the {{data.layer_version.layer.name}} layer to your project"></i>
diff --git a/yocto-poky/bitbake/lib/toaster/toastergui/templates/recipes.html b/yocto-poky/bitbake/lib/toaster/toastergui/templates/recipes.html
index 5cdac437c..d14489346 100644
--- a/yocto-poky/bitbake/lib/toaster/toastergui/templates/recipes.html
+++ b/yocto-poky/bitbake/lib/toaster/toastergui/templates/recipes.html
@@ -2,6 +2,7 @@
{% load projecttags %}
+{% block title %} Recipes - {{build.target_set.all|dictsort:"target"|join:", "}} {{build.machine}} - {{build.project.name}} - Toaster {% endblock %}
{% block localbreadcrumb %}
<li>Recipes</li>
{% endblock %}
diff --git a/yocto-poky/bitbake/lib/toaster/toastergui/templates/target.html b/yocto-poky/bitbake/lib/toaster/toastergui/templates/target.html
index 65e6c4a07..4c33eaa84 100644
--- a/yocto-poky/bitbake/lib/toaster/toastergui/templates/target.html
+++ b/yocto-poky/bitbake/lib/toaster/toastergui/templates/target.html
@@ -1,4 +1,5 @@
{% extends "basebuildpage.html" %}
+{% block title %} Packages included - {{ target.target }} {{ target.build.machine }} - {{ target.build.project.name }} - Toaster {% endblock %}
{% block localbreadcrumb %}
<li>{{target.target}}</li>
{% endblock localbreadcrumb%}
diff --git a/yocto-poky/bitbake/lib/toaster/toastergui/templates/task.html b/yocto-poky/bitbake/lib/toaster/toastergui/templates/task.html
index 635098a02..ef628d9f9 100644
--- a/yocto-poky/bitbake/lib/toaster/toastergui/templates/task.html
+++ b/yocto-poky/bitbake/lib/toaster/toastergui/templates/task.html
@@ -3,6 +3,7 @@
{% load projecttags %}
{% load humanize %}
+{% block title %} {{task.recipe.name}}_{{task.recipe.version}} {{task.task_name}} - {{build.target_set.all|dictsort:"target"|join:", "}} {{build.machine}} - {{build.project.name}} - Toaster {% endblock %}
{% block localbreadcrumb %}
<li><a href="{% url 'tasks' build.pk %}">Tasks</a></li>
<li>{{task.recipe.name}}_{{task.recipe.version}} {{task.task_name}}</li>
diff --git a/yocto-poky/bitbake/lib/toaster/toastergui/templates/tasks.html b/yocto-poky/bitbake/lib/toaster/toastergui/templates/tasks.html
index b18b5c7c4..353410f92 100644
--- a/yocto-poky/bitbake/lib/toaster/toastergui/templates/tasks.html
+++ b/yocto-poky/bitbake/lib/toaster/toastergui/templates/tasks.html
@@ -1,33 +1,34 @@
{% extends "basebuildpage.html" %}
{% load projecttags %}
+{% block title %} {{mainheading}} - {{build.target_set.all|dictsort:"target"|join:", "}} {{build.machine}} - {{build.project.name}} - Toaster{% endblock %}
{% block localbreadcrumb %}
-<li>{{title}}</li>
+<li>{{mainheading}}</li>
{% endblock %}
{% block nav-tasks %}
- {% if 'Tasks' == title %}
+ {% if 'Tasks' == mainheading %}
<li class="active"><a href="{% url 'tasks' build.pk %}">Tasks</a></li>
{% else %}
<li><a href="{% url 'tasks' build.pk %}">Tasks</a></li>
{% endif %}
{% endblock %}
{% block nav-buildtime %}
- {% if 'Time' == title %}
+ {% if 'Time' == mainheading %}
<li class="active"><a href="{% url 'buildtime' build.pk %}">Time</a></li>
{% else %}
<li><a href="{% url 'buildtime' build.pk %}">Time</a></li>
{% endif %}
{% endblock %}
{% block nav-cpuusage %}
- {% if 'CPU usage' == title %}
+ {% if 'CPU usage' == mainheading %}
<li class="active"><a href="{% url 'cpuusage' build.pk %}">CPU usage</a></li>
{% else %}
<li><a href="{% url 'cpuusage' build.pk %}">CPU usage</a></li>
{% endif %}
{% endblock %}
{% block nav-diskio %}
- {% if 'Disk I/O' == title %}
+ {% if 'Disk I/O' == mainheading %}
<li class="active"><a href="{% url 'diskio' build.pk %}">Disk I/O</a></li>
{% else %}
<li><a href="{% url 'diskio' build.pk %}">Disk I/O</a></li>
@@ -39,7 +40,7 @@
{% if not request.GET.filter and not request.GET.search and not objects.paginator.count %}
<!-- Empty - no data in database -->
<div class="page-header">
- <h1>{{title}}</h1>
+ <h1>{{mainheading}}</h1>
</div>
<div class="alert alert-info lead">
No data was recorded for this build.
@@ -54,7 +55,7 @@
{%elif request.GET.filter and objects.paginator.count == 0 or request.GET.search and objects.paginator.count == 0 %}
No tasks found
{%else%}
- {{title}}
+ {{mainheading}}
{%endif%}
</h1>
</div>
diff --git a/yocto-poky/bitbake/lib/toaster/toastergui/templates/toastertable.html b/yocto-poky/bitbake/lib/toaster/toastergui/templates/toastertable.html
index 9ef4c6ffe..98a715f27 100644
--- a/yocto-poky/bitbake/lib/toaster/toastergui/templates/toastertable.html
+++ b/yocto-poky/bitbake/lib/toaster/toastergui/templates/toastertable.html
@@ -12,7 +12,6 @@
tableName : "{{table_name}}",
url : "{{ xhr_table_url }}?format=json",
title : "{{title}}",
- projectLayers : {{projectlayers|json}},
};
try {
diff --git a/yocto-poky/bitbake/lib/toaster/toastergui/templates/unavailable_artifact.html b/yocto-poky/bitbake/lib/toaster/toastergui/templates/unavailable_artifact.html
index b9f8fee03..0301a6c60 100644
--- a/yocto-poky/bitbake/lib/toaster/toastergui/templates/unavailable_artifact.html
+++ b/yocto-poky/bitbake/lib/toaster/toastergui/templates/unavailable_artifact.html
@@ -3,6 +3,8 @@
{% load humanize %}
{% load static %}
+{% block title %} Build artifact no longer exists - Toaster {% endblock %}
+
{% block pagecontent %}
<div class="row-fluid air">
OpenPOWER on IntegriCloud