1*4882a593Smuzhiyun{% extends "basebuildpage.html" %} 2*4882a593Smuzhiyun{% load projecttags %} 3*4882a593Smuzhiyun 4*4882a593Smuzhiyun{% block title %} BitBake variables - {{build.target_set.all|dictsort:"target"|join:", "}} {{build.machine}} - {{build.project.name}} - Toaster {% endblock %} 5*4882a593Smuzhiyun{% block localbreadcrumb %} 6*4882a593Smuzhiyun<li>Configuration</li> 7*4882a593Smuzhiyun{% endblock %} 8*4882a593Smuzhiyun 9*4882a593Smuzhiyun{% block buildinfomain %} 10*4882a593Smuzhiyun<!-- page title --> 11*4882a593Smuzhiyun<div class="col-md-10"> 12*4882a593Smuzhiyun <div class="page-header build-data"> 13*4882a593Smuzhiyun <h1> 14*4882a593Smuzhiyun {% if request.GET.filter and objects.paginator.count > 0 or request.GET.search and objects.paginator.count > 0 %} 15*4882a593Smuzhiyun {{objects.paginator.count}} variable{{objects.paginator.count|pluralize}} found 16*4882a593Smuzhiyun {%elif request.GET.filter and objects.paginator.count == 0 or request.GET.search and objects.paginator.count == 0 %} 17*4882a593Smuzhiyun No variables found 18*4882a593Smuzhiyun {%else%} 19*4882a593Smuzhiyun Configuration 20*4882a593Smuzhiyun {%endif%} 21*4882a593Smuzhiyun </h1> 22*4882a593Smuzhiyun </div> 23*4882a593Smuzhiyun 24*4882a593Smuzhiyun<!-- configuration table --> 25*4882a593Smuzhiyun<div id="navTab"> 26*4882a593Smuzhiyun <ul class="nav nav-tabs"> 27*4882a593Smuzhiyun <li class=""><a href="{% url 'configuration' build.id %}">Summary</a></li> 28*4882a593Smuzhiyun <li class="active"><a href="#" >BitBake variables</a></li> 29*4882a593Smuzhiyun </ul> 30*4882a593Smuzhiyun 31*4882a593Smuzhiyun <!-- variables --> 32*4882a593Smuzhiyun <div id="variables" class="tab-pane"> 33*4882a593Smuzhiyun 34*4882a593Smuzhiyun {% if objects.paginator.count == 0 %} 35*4882a593Smuzhiyun <div class="alert alert-warning"> 36*4882a593Smuzhiyun <form class="no-results form-inline" id="searchform"> 37*4882a593Smuzhiyun <div class="form-group"> 38*4882a593Smuzhiyun <div class="btn-group"> 39*4882a593Smuzhiyun <input class="form-control" id="search" name="search" type="text" value="{% if request.GET.search %}{{request.GET.search}}{% endif %}"/> 40*4882a593Smuzhiyun {% if request.GET.search %} 41*4882a593Smuzhiyun <a href="javascript:$('#search').val('');searchform.submit()" tabindex="-1"> 42*4882a593Smuzhiyun <span class="remove-search-btn-variables glyphicon glyphicon-remove-circle"></span> 43*4882a593Smuzhiyun </a> 44*4882a593Smuzhiyun {% endif %} 45*4882a593Smuzhiyun </div> 46*4882a593Smuzhiyun </div> 47*4882a593Smuzhiyun <button class="btn btn-default" type="submit" value="Search">Search</button> 48*4882a593Smuzhiyun <button class="btn btn-link" onclick="javascript:$('#search').val('');searchform.submit()">Show all variables</button> 49*4882a593Smuzhiyun </form> 50*4882a593Smuzhiyun </div> 51*4882a593Smuzhiyun 52*4882a593Smuzhiyun {% else %} 53*4882a593Smuzhiyun {% include "basetable_top.html" %} 54*4882a593Smuzhiyun 55*4882a593Smuzhiyun {% for variable in objects %} 56*4882a593Smuzhiyun <tr class="data"> 57*4882a593Smuzhiyun <td class="variable_name"><a data-toggle="modal" href="#variable-{{variable.pk}}">{{variable.variable_name}}</a></td> 58*4882a593Smuzhiyun <td class="variable_value">{{variable.variable_value|truncatechars:153}}</td> 59*4882a593Smuzhiyun <td class="file"> 60*4882a593Smuzhiyun {% if variable.vhistory.all %} 61*4882a593Smuzhiyun {% for path in variable.vhistory.all|filter_setin_files:file_filter %} 62*4882a593Smuzhiyun {{path}}<br/> 63*4882a593Smuzhiyun {% endfor %} 64*4882a593Smuzhiyun {% endif %} 65*4882a593Smuzhiyun </td> 66*4882a593Smuzhiyun <td class="description"> 67*4882a593Smuzhiyun {% if variable.description %} 68*4882a593Smuzhiyun {{variable.description}} 69*4882a593Smuzhiyun <a href="http://docs.yoctoproject.org/ref-manual/variables.html#term-{{variable.variable_name|variable_parent_name}}" target="_blank"> 70*4882a593Smuzhiyun <span class="glyphicon glyphicon-new-window get-info"></span></a> 71*4882a593Smuzhiyun {% endif %} 72*4882a593Smuzhiyun </td> 73*4882a593Smuzhiyun </tr> 74*4882a593Smuzhiyun{% endfor %} 75*4882a593Smuzhiyun</tbody> 76*4882a593Smuzhiyun</table> 77*4882a593Smuzhiyun</div> <!-- table-responsive --> 78*4882a593Smuzhiyun{% include "basetable_bottom.html" %} 79*4882a593Smuzhiyun{% endif %} 80*4882a593Smuzhiyun</div> <!-- endvariables --> 81*4882a593Smuzhiyun 82*4882a593Smuzhiyun<!-- file list popups --> 83*4882a593Smuzhiyun{% for variable in objects %} 84*4882a593Smuzhiyun{% if variable.vhistory.count %} 85*4882a593Smuzhiyun<div id="variable-{{variable.pk}}" class="modal fade" tabindex="-1" role="dialog"> 86*4882a593Smuzhiyun <div class="modal-dialog"> 87*4882a593Smuzhiyun <div class="modal-content"> 88*4882a593Smuzhiyun <div class="modal-header"> 89*4882a593Smuzhiyun <button type="button" class="close" data-dismiss="modal" aria-hidden="true">x</button> 90*4882a593Smuzhiyun <h3>History of {{variable.variable_name}}</h3> 91*4882a593Smuzhiyun </div> 92*4882a593Smuzhiyun <div class="modal-body"> 93*4882a593Smuzhiyun {% if variable.variable_value %} 94*4882a593Smuzhiyun {% if variable.variable_value|length < 570 %} 95*4882a593Smuzhiyun <h4>{{variable.variable_name}} value is:</h4> 96*4882a593Smuzhiyun <p> 97*4882a593Smuzhiyun {{variable.variable_value}} 98*4882a593Smuzhiyun </p> 99*4882a593Smuzhiyun {% else %} 100*4882a593Smuzhiyun <h4>{{variable.variable_name}} value is:</h4> 101*4882a593Smuzhiyun <p> 102*4882a593Smuzhiyun <span>{{variable.variable_value|string_slice:':570'}} 103*4882a593Smuzhiyun <span class="full"> {{variable.variable_value|string_slice:'570:'}} 104*4882a593Smuzhiyun </span> 105*4882a593Smuzhiyun <a href="#" class="full-show">...</a> 106*4882a593Smuzhiyun </span> 107*4882a593Smuzhiyun </p> 108*4882a593Smuzhiyun <a href="#" class="full-hide">Collapse variable value <i class="icon-caret-up"></i> 109*4882a593Smuzhiyun </a> 110*4882a593Smuzhiyun {% endif %} 111*4882a593Smuzhiyun {% else %} 112*4882a593Smuzhiyun <div class="alert alert-info">The value of <strong>{{variable.variable_name}}</strong> is an empty string</div> 113*4882a593Smuzhiyun {% endif %} 114*4882a593Smuzhiyun <h4>The value was set in the following configuration files:</h4> 115*4882a593Smuzhiyun <div class="table-responsive"> 116*4882a593Smuzhiyun <table class="table table-bordered table-hover"> 117*4882a593Smuzhiyun <thead> 118*4882a593Smuzhiyun <tr> 119*4882a593Smuzhiyun <th>Order</th> 120*4882a593Smuzhiyun <th>Configuration file</th> 121*4882a593Smuzhiyun <th>Operation</th> 122*4882a593Smuzhiyun <th>Line</th> 123*4882a593Smuzhiyun </tr> 124*4882a593Smuzhiyun </thead> 125*4882a593Smuzhiyun <tbody> 126*4882a593Smuzhiyun {% for vh in variable.vhistory.all %} 127*4882a593Smuzhiyun <tr> 128*4882a593Smuzhiyun <td>{{forloop.counter}}</td><td class="file">{{vh.file_name}}</td><td>{{vh.operation}}</td><td>{{vh.line_number}}</td> 129*4882a593Smuzhiyun </tr> 130*4882a593Smuzhiyun {%endfor%} 131*4882a593Smuzhiyun </tbody> 132*4882a593Smuzhiyun </table> 133*4882a593Smuzhiyun </div> 134*4882a593Smuzhiyun </div> 135*4882a593Smuzhiyun </div><!-- /.modal-content --> 136*4882a593Smuzhiyun </div><!-- /.modal-dialog --> 137*4882a593Smuzhiyun</div><!-- /.modal --> 138*4882a593Smuzhiyun{% endif %} 139*4882a593Smuzhiyun{% endfor %} 140*4882a593Smuzhiyun 141*4882a593Smuzhiyun</div> <!-- buildinfomain --> 142*4882a593Smuzhiyun 143*4882a593Smuzhiyun</div> <!-- end 10-column section --> 144*4882a593Smuzhiyun 145*4882a593Smuzhiyun{% endblock %} 146