1<!DOCTYPE html>
2{% load static %}
3{% load projecttags %}
4{% load project_url_tag %}
5<html lang="en">
6  <head>
7    <title>
8      {% block title %} Toaster {% endblock %}
9    </title>
10    <link rel="stylesheet" href="{% static 'css/bootstrap.min.css' %}" type="text/css"/>
11    <!--link rel="stylesheet" href="{% static 'css/bootstrap-theme.css' %}" type="text/css"/-->
12    <link rel="stylesheet" href="{% static 'css/font-awesome.min.css' %}" type='text/css'/>
13    <link rel="stylesheet" href="{% static 'css/default.css' %}" type='text/css'/>
14
15    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
16    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
17    <script src="{% static 'js/jquery-3.7.1.min.js' %}">
18    </script>
19    <script src="{% static 'js/jquery.cookie.js' %}">
20    </script>
21    <script src="{% static 'js/bootstrap-3.4.1.min.js' %}">
22    </script>
23    <script src="{% static 'js/typeahead.jquery.js' %}">
24    </script>
25    <script src="{% static 'js/jsrender.min.js' %}">
26    </script>
27    <script src="{% static 'js/highlight.pack.js' %}">
28    </script>
29    <script src="{% static 'js/libtoaster.js' %}">
30    </script>
31    {% if DEBUG %}
32    <script>
33      libtoaster.debug = true;
34    </script>
35    {% endif %}
36    <script>
37      /* Set JsRender delimiters (mrb_section.html) different than Django's */
38      $.views.settings.delimiters("<%", "%>");
39
40      /* This table allows Django substitutions to be passed to libtoaster.js */
41      libtoaster.ctx = {
42        jsUrl : "{% static 'js/' %}",
43        htmlUrl : "{% static 'html/' %}",
44        projectsUrl : "{% url 'all-projects' %}",
45        projectsTypeAheadUrl: {% url 'xhr_projectstypeahead' as prjurl%}{{prjurl|json}},
46        {% if project.id %}
47        landingSpecificURL : "{% url 'landing_specific' project.id %}",
48        landingSpecificCancelURL : "{% url 'landing_specific_cancel' project.id %}",
49        projectId : {{project.id}},
50        projectPageUrl : {% url 'project' project.id as purl %}{{purl|json}},
51        projectSpecificPageUrl : {% url 'project_specific' project.id as purl %}{{purl|json}},
52        xhrProjectUrl : {% url 'xhr_project' project.id as pxurl %}{{pxurl|json}},
53        projectName : {{project.name|json}},
54        recipesTypeAheadUrl: {% url 'xhr_recipestypeahead' project.id as paturl%}{{paturl|json}},
55        layersTypeAheadUrl: {% url 'xhr_layerstypeahead' project.id as paturl%}{{paturl|json}},
56        machinesTypeAheadUrl: {% url 'xhr_machinestypeahead' project.id as paturl%}{{paturl|json}},
57        distrosTypeAheadUrl: {% url 'xhr_distrostypeahead' project.id as paturl%}{{paturl|json}},
58        projectBuildsUrl: {% url 'projectbuilds' project.id as pburl %}{{pburl|json}},
59        xhrCustomRecipeUrl : "{% url 'xhr_customrecipe' %}",
60        projectId : {{project.id}},
61        xhrBuildRequestUrl: "{% url 'xhr_buildrequest' project.id %}",
62        mostRecentBuildsUrl: "{% url 'most_recent_builds' %}?project_id={{project.id}}",
63        xhrProjectUpdateUrl: "{% url 'xhr_projectupdate' project.id %}",
64        xhrProjectCancelUrl: "{% url 'landing_specific_cancel' project.id %}",
65        xhrSetDefaultImageUrl: "{% url 'xhr_setdefaultimage' project.id %}",
66        {% else %}
67        mostRecentBuildsUrl: "{% url 'most_recent_builds' %}",
68        projectId : undefined,
69        projectPageUrl : undefined,
70        projectName : undefined,
71        {% endif %}
72      };
73    </script>
74    {% block extraheadcontent %}
75    {% endblock %}
76  </head>
77
78  <body>
79
80    {% csrf_token %}
81    <div id="loading-notification" class="alert alert-warning lead text-center" style="display:none">
82      Loading <i class="fa-pulse icon-spinner"></i>
83    </div>
84
85    <div id="change-notification" class="alert alert-info alert-dismissible change-notification" style="display:none">
86      <button type="button" class="close" id="hide-alert" data-toggle="alert">&times;</button>
87      <span id="change-notification-msg"></span>
88    </div>
89
90    <nav class="navbar navbar-default navbar-fixed-top">
91      <div class="container-fluid">
92        <div class="navbar-header">
93          <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#global-nav" aria-expanded="false">
94            <span class="sr-only">Toggle navigation</span>
95            <span class="icon-bar"></span>
96            <span class="icon-bar"></span>
97            <span class="icon-bar"></span>
98          </button>
99          <div class="toaster-navbar-brand">
100          	{% if project_specific %}
101              <img class="logo" src="{% static 'img/logo.png' %}" class="" alt="Yocto Project logo"/>
102              Toaster
103          	{% else %}
104            <a href="/">
105            </a>
106            <a href="/">
107              <img class="logo" src="{% static 'img/logo.png' %}" class="" alt="Yocto Project logo"/>
108            </a>
109            <a class="brand" href="/">Toaster</a>
110            {% endif %}
111            {% if DEBUG %}
112            <span class="glyphicon glyphicon-info-sign" title="<strong>Toaster version information</strong>" data-content="<dl><dt>Git branch</dt><dd>{{TOASTER_BRANCH}}</dd><dt>Git revision</dt><dd>{{TOASTER_REVISION}}</dd></dl>"></i>
113            {% endif %}
114          </div>
115        </div>
116        <div class="collapse navbar-collapse" id="global-nav">
117            <ul class="nav navbar-nav">
118            <h3> Project Configuration Page </h3>
119        </div>
120      </div>
121    </nav>
122
123    <div class="container-fluid">
124      {% block pagecontent %}
125      {% endblock %}
126    </div>
127  </body>
128</html>
129