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