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">×</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