Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame^] | 1 | <!DOCTYPE html> |
| 2 | {% load static %} |
| 3 | {% load projecttags %} |
| 4 | <html lang="en"> |
| 5 | <head> |
| 6 | <title>{% if objectname %} {{objectname|title}} - {% endif %}Toaster</title> |
| 7 | <link rel="stylesheet" href="{% static 'css/bootstrap.min.css' %}" type="text/css"/> |
| 8 | <link rel="stylesheet" href="{% static 'css/bootstrap-responsive.min.css' %}" type='text/css'/> |
| 9 | <link rel="stylesheet" href="{% static 'css/font-awesome.min.css' %}" type='text/css'/> |
| 10 | <link rel="stylesheet" href="{% static 'css/prettify.css' %}" type='text/css'/> |
| 11 | <link rel="stylesheet" href="{% static 'css/default.css' %}" type='text/css'/> |
| 12 | |
| 13 | <meta name="viewport" content="width=device-width, initial-scale=1.0" /> |
| 14 | <meta http-equiv="Content-Type" content="text/html;charset=UTF-8" /> |
| 15 | <script src="{% static 'js/jquery-2.0.3.min.js' %}"> |
| 16 | </script> |
| 17 | <script src="{% static 'js/jquery.cookie.js' %}"> |
| 18 | </script> |
| 19 | <script src="{% static 'js/bootstrap.min.js' %}"> |
| 20 | </script> |
| 21 | <script src="{% static 'js/prettify.js' %}"> |
| 22 | </script> |
| 23 | <script src="{% static 'js/libtoaster.js' %}"> |
| 24 | </script> |
| 25 | {% if DEBUG %} |
| 26 | <script> |
| 27 | libtoaster.debug = true; |
| 28 | </script> |
| 29 | {% endif %} |
| 30 | <script> |
| 31 | libtoaster.ctx = { |
| 32 | jsUrl : "{% static 'js/' %}", |
| 33 | htmlUrl : "{% static 'html/' %}", |
| 34 | projectsUrl : "{% url 'all-projects' %}", |
| 35 | projectsTypeAheadUrl: {% url 'xhr_projectstypeahead' as prjurl%}{{prjurl|json}}, |
| 36 | {% if project.id %} |
| 37 | projectId : {{project.id}}, |
| 38 | projectPageUrl : {% url 'project' project.id as purl%}{{purl|json}}, |
| 39 | projectName : {{project.name|json}}, |
| 40 | recipesTypeAheadUrl: {% url 'xhr_recipestypeahead' project.id as paturl%}{{paturl|json}}, |
| 41 | layersTypeAheadUrl: {% url 'xhr_layerstypeahead' project.id as paturl%}{{paturl|json}}, |
| 42 | machinesTypeAheadUrl: {% url 'xhr_machinestypeahead' project.id as paturl%}{{paturl|json}}, |
| 43 | |
| 44 | projectBuildsUrl: {% url 'projectbuilds' project.id as pburl %}{{pburl|json}}, |
| 45 | projectId : {{project.id}}, |
| 46 | {% else %} |
| 47 | projectId : undefined, |
| 48 | projectPageUrl : undefined, |
| 49 | projectName : undefined, |
| 50 | projectId : undefined, |
| 51 | {% endif %} |
| 52 | }; |
| 53 | </script> |
| 54 | <script src="{% static 'js/base.js' %}"></script> |
| 55 | <script> |
| 56 | $(document).ready(function () { |
| 57 | /* Vars needed for base.js */ |
| 58 | var ctx = {}; |
| 59 | ctx.numProjects = {{projects|length}}; |
| 60 | ctx.currentUrl = "{{request.path|escapejs}}"; |
| 61 | |
| 62 | basePageInit(ctx); |
| 63 | }); |
| 64 | </script> |
| 65 | |
| 66 | {% block extraheadcontent %} |
| 67 | {% endblock %} |
| 68 | </head> |
| 69 | |
| 70 | <body style="height: 100%"> |
| 71 | |
| 72 | {% csrf_token %} |
| 73 | <div id="loading-notification" class="alert lead text-center" style="display:none"> |
| 74 | Loading <i class="fa-pulse icon-spinner"></i> |
| 75 | </div> |
| 76 | |
| 77 | <div id="change-notification" class="alert lead alert-info" style="display:none"> |
| 78 | <button type="button" class="close" id="hide-alert">×</button> |
| 79 | <span id="change-notification-msg"></span> |
| 80 | </div> |
| 81 | |
| 82 | <div class="navbar navbar-fixed-top"> |
| 83 | <div class="navbar-inner"> |
| 84 | <div class="container-fluid"> |
| 85 | <a class="brand logo" href="#"><img src="{% static 'img/logo.png' %}" class="" alt="Yocto logo project"/></a> |
| 86 | <span class="brand"> |
| 87 | <a href="/">Toaster</a> |
| 88 | {% if DEBUG %} |
| 89 | <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> |
| 90 | {% endif %} |
| 91 | </span> |
| 92 | {% if request.resolver_match.url_name != 'landing' and request.resolver_match.url_name != 'newproject' %} |
| 93 | <ul class="nav"> |
| 94 | <li {% if request.resolver_match.url_name == 'all-builds' %} |
| 95 | class="active" |
| 96 | {% endif %}> |
| 97 | <a href="{% url 'all-builds' %}"> |
| 98 | <i class="icon-tasks"></i> |
| 99 | All builds |
| 100 | </a> |
| 101 | </li> |
| 102 | <li {% if request.resolver_match.url_name == 'all-projects' %} |
| 103 | class="active" |
| 104 | {% endif %}> |
| 105 | <a href="{% url 'all-projects' %}"> |
| 106 | <i class="icon-folder-open"></i> |
| 107 | All projects |
| 108 | </a> |
| 109 | </li> |
| 110 | </ul> |
| 111 | {% endif %} |
| 112 | <ul class="nav pull-right"> |
| 113 | <li> |
| 114 | <a target="_blank" href="http://www.yoctoproject.org/docs/latest/toaster-manual/toaster-manual.html"> |
| 115 | <i class="icon-book"></i> |
| 116 | Manual |
| 117 | </a> |
| 118 | </li> |
| 119 | </ul> |
| 120 | <span class="pull-right divider-vertical"></span> |
| 121 | <div class="btn-group pull-right"> |
| 122 | <a class="btn" id="new-project-button" href="{% url 'newproject' %}">New project</a> |
| 123 | </div> |
| 124 | <!-- New build popover --> |
| 125 | <div class="btn-group pull-right" id="new-build-button" style="display:none"> |
| 126 | <button class="btn dropdown-toggle" data-toggle="dropdown"> |
| 127 | New build |
| 128 | <i class="icon-caret-down"></i> |
| 129 | </button> |
| 130 | <ul class="dropdown-menu new-build multi-select"> |
| 131 | <li> |
| 132 | <h3>New build</h3> |
| 133 | <h6>Project:</h6> |
| 134 | <span id="project"> |
| 135 | {% if project.id %} |
| 136 | <a class="lead" href="{% url 'project' project.id %}">{{project.name}}</a> |
| 137 | {% else %} |
| 138 | <a class="lead" href="#"></a> |
| 139 | {% endif %} |
| 140 | <i class="icon-pencil"></i> |
| 141 | </span> |
| 142 | <form id="change-project-form" style="display:none;"> |
| 143 | <div class="input-append"> |
| 144 | <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"/> |
| 145 | <button id="save-project-button" class="btn" type="button">Save</button> |
| 146 | <a href="#" id="cancel-change-project" class="btn btn-link" style="display: none">Cancel</a> |
| 147 | </div> |
| 148 | <p><a id="view-all-projects" href="{% url 'all-projects' %}">View all projects</a></p> |
| 149 | </form> |
| 150 | </li> |
| 151 | <li> |
| 152 | <div class="alert" style="display:none;"> |
| 153 | <p>This project configuration is incomplete, so you cannot run builds.</p> |
| 154 | <p><a href="{% if project.id %}{% url 'project' project.id %}{% endif %}">View project configuration</a></p> |
| 155 | </div> |
| 156 | </li> |
| 157 | <li id="targets-form"> |
| 158 | <h6>Recipe(s):</h6> |
| 159 | <form> |
| 160 | <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/> |
| 161 | <div class="row-fluid"> |
| 162 | <button class="btn btn-primary build-button" disabled>Build</button> |
| 163 | </div> |
| 164 | </form> |
| 165 | </li> |
| 166 | </ul> |
| 167 | </div> |
| 168 | |
| 169 | |
| 170 | </div> |
| 171 | </div> |
| 172 | </div> |
| 173 | |
| 174 | <div class="container-fluid top-padded"> |
| 175 | <div class="row-fluid"> |
| 176 | {% block pagecontent %} |
| 177 | {% endblock %} |
| 178 | </div> |
| 179 | </div> |
| 180 | </body> |
| 181 | </html> |
| 182 | |