| {% extends "base.html" %} |
| {% load projecttags %} |
| {% load humanize %} |
| {% load static %} |
| |
| {% block title %} {{layerversion.layer.name}} - {{project.name}} - Toaster {% endblock %} |
| {% block pagecontent %} |
| |
| <div class="section"> |
| <ul class="breadcrumb"> |
| <li class="muted">{{project.name}}:</li> |
| <li> |
| <a href="{% url 'project' project.id %}">Configuration</a> |
| <span class="divider">→</span> |
| </li> |
| <li><a href="{% url 'projectlayers' project.id %}">Compatible layers</a> |
| <span class="divider">→</span> |
| </li> |
| <li class="active"> |
| {{layerversion.layer.name}} ({{layerversion.get_vcs_reference|truncatechars:13}}) |
| </li> |
| </ul> |
| </div> |
| |
| {# If this is not an imported layer then hide the edit ui #} |
| {% if not layerversion.layer_source_id or layerversion.layer_source.sourcetype != layerversion.layer_source.TYPE_IMPORTED %} |
| <style scoped> |
| .icon-pencil { |
| display:none; |
| } |
| .delete-current-value{ |
| display: none; |
| } |
| li .icon-trash { |
| display:none; |
| } |
| .add-deps { |
| display:none; |
| } |
| </style> |
| {% endif %} |
| |
| |
| <script src="{% static 'js/layerdetails.js' %}"></script> |
| <script> |
| |
| $(document).ready(function (){ |
| var ctx = { |
| projectBuildsUrl : "{% url 'projectbuilds' project.id %}", |
| xhrUpdateLayerUrl : "{% url 'xhr_updatelayer' %}", |
| layerVersion : { |
| name : "{{layerversion.layer.name}}", |
| id : {{layerversion.id}}, |
| commit: "{{layerversion.get_vcs_reference}}", |
| {%if layerversion.id in projectlayers %} |
| inCurrentPrj : true, |
| {% else %} |
| inCurrentPrj : false, |
| {% endif %} |
| layerdetailurl : "{% url 'layerdetails' project.id layerversion.id %}", |
| sourceId: {{layerversion.layer_source_id|json}}, |
| } |
| }; |
| |
| try { |
| layerDetailsPageInit(ctx); |
| } catch (e) { |
| document.write("Sorry, An error has occurred loading this page"); |
| console.warn(e); |
| } |
| }); |
| </script> |
| |
| <div class="row-fluid span11"> |
| <div class="page-header"> |
| <h1>{{layerversion.layer.name}} <small class="commit" |
| {% if layerversion.get_vcs_reference|length > 13 %} |
| data-toggle="tooltip" title="{{layerversion.get_vcs_reference}}" |
| {% endif %}> |
| ({{layerversion.get_vcs_reference|truncatechars:13}})</small></h1> |
| </div> |
| </div> |
| |
| <!-- container for tabs --> |
| <div class="row-fluid span7 tabbable"> |
| <div class="alert alert-info lead" id="alert-area" style="display:none"> |
| <button type="button" class="close" id="dismiss-alert">×</button> |
| <span id="alert-msg"></span> |
| </div> |
| <ul class="nav nav-pills"> |
| <li class="active"> |
| <a data-toggle="tab" href="#information" id="details-tab">Layer details</a> |
| </li> |
| <li> |
| <a data-toggle="tab" href="#recipes" class="muted" id="targets-tab">Recipes (<span class="table-count-recipestable"></span>)</a> |
| </li> |
| <li> |
| <a data-toggle="tab" href="#machines" class="muted" id="machines-tab">Machines (<span class="table-count-machinestable"></span>)</a> |
| </li> |
| </ul> |
| <div class="tab-content"> |
| <span class="button-place"> |
| {% if layerversion.id not in projectlayers %} |
| <button id="add-remove-layer-btn" data-directive="add" class="btn btn-large btn-block"> |
| <span class="icon-plus"></span> |
| Add the {{layerversion.layer.name}} layer to your project |
| </button> |
| {% else %} |
| <button id="add-remove-layer-btn" data-directive="remove" class="btn btn-block btn-large btn-danger"> |
| <span class="icon-trash"></span> |
| Delete the {{layerversion.layer.name}} layer from your project |
| </button> |
| {% endif %} |
| </span> |
| |
| <!-- layer details pane --> |
| <div id="information" class="tab-pane active"> |
| <dl class="dl-horizontal"> |
| <dt class=""> |
| <i class="icon-question-sign get-help" title="Fetch/clone URL of the repository"></i> |
| Repository URL |
| </dt> |
| <dd> |
| <span class="current-value">{{layerversion.layer.vcs_url}}</span> |
| {% if layerversion.get_vcs_link_url %} |
| <a href="{{layerversion.get_vcs_link_url}}/" class="icon-share get-info" target="_blank"></a> |
| {% endif %} |
| <form id="change-repo-form" class="control-group" style="display:none"> |
| <div class="input-append"> |
| <input type="text" class="input-xlarge" value="{{layerversion.layer.vcs_url}}"> |
| <button data-layer-prop="vcs_url" class="btn change-btn" type="button">Save</button> |
| <a href="#" style="display:none" class="btn btn-link cancel">Cancel</a> |
| </div> |
| </form> |
| <i class="icon-pencil" ></i> |
| </dd> |
| <dt> |
| <i class="icon-question-sign get-help" title="Subdirectory within the repository where the layer is located, if not in the root (usually only used if the repository contains more than one layer)"></i> |
| Repository subdirectory |
| </dt> |
| <dd> |
| <span class="muted" style="display:none">Not set</span> |
| <span class="current-value">{{layerversion.dirpath}}</span> |
| {% if layerversion.get_vcs_dirpath_link_url %} |
| <a href="{{layerversion.get_vcs_dirpath_link_url}}" class="icon-share get-info" target="_blank"></a> |
| {% endif %} |
| <form id="change-subdir-form" style="display:none;"> |
| <div class="input-append"> |
| <input type="text" value="{{layerversion.dirpath}}"> |
| <button data-layer-prop="dirpath" class="btn change-btn" type="button">Save</button> |
| <a href="#" style="display:none" class="btn btn-link cancel">Cancel</a> |
| </div> |
| </form> |
| <i id="change-subdir" class="icon-pencil"></i> |
| <span class="icon-trash delete-current-value" data-toggle="tooltip" title="Delete"></span> |
| </dd> |
| <dt> |
| <i class="icon-question-sign get-help" title="The Git branch, tag or commit"></i> |
| Revision |
| </dt> |
| <dd> |
| <span class="current-value">{{layerversion.get_vcs_reference}}</span> |
| <form style="display:none;"> |
| <div class="input-append"> |
| <input type="text" value="{{layerversion.get_vcs_reference}}"> |
| <button data-layer-prop="commit" class="btn change-btn" type="button">Save</button> |
| <a href="#" style="display:none" class="btn btn-link cancel">Cancel</a> |
| </div> |
| </form> |
| <i class="icon-pencil"></i> |
| </dd> |
| <dt> |
| <i class="icon-question-sign get-help" title="Other layers this layer depends upon"></i> |
| Layer dependencies |
| </dt> |
| <dd> |
| <ul class="unstyled current-value" id="layer-deps-list"> |
| {% for ld in layerversion.dependencies.all %} |
| <li data-layer-id="{{ld.depends_on.id}}"> |
| <a data-toggle="tooltip" title="{{ld.depends_on.layer.vcs_url}} | {{ld.depends_on.get_vcs_reference}}" href="{% url 'layerdetails' project.id ld.depends_on.id %}">{{ld.depends_on.layer.name}}</a> |
| <span class="icon-trash " data-toggle="tooltip" title="Delete"></span> |
| </li> |
| {% endfor %} |
| </ul> |
| <div class="input-append add-deps"> |
| <input type="text" autocomplete="off" data-minLength="1" data-autocomplete="off" placeholder="Type a layer name" id="layer-dep-input"> |
| <a class="btn" id="add-layer-dependency-btn" > |
| Add layer |
| </a> |
| </div> |
| <span class="help-block add-deps">You can only add layers Toaster knows about</span> |
| </dd> |
| </dl> |
| </div> |
| <!-- end layerdetails tab --> |
| <!-- targets tab --> |
| <div id="recipes" class="tab-pane"> |
| <!-- Recipe table --> |
| <div id="no-recipes-yet" class="alert alert-info" style="display:none"> |
| <p>Toaster does not have recipe information for the <strong> {{layerversion.layer.name}} </strong> layer.</p> |
| <p>Toaster learns about layers when you build them. If this layer provides any recipes, they will be listed here after you build the <strong> {{layerversion.layer.name}} </strong> layer.</p> |
| </div> |
| |
| |
| |
| {% url 'layerrecipestable' project.id layerversion.id as xhr_table_url %} |
| {% with "recipestable" as table_name %} |
| {% with "Recipes" as title %} |
| {% include 'toastertable-simple.html' %} |
| {% endwith %} |
| {% endwith %} |
| </div> |
| |
| <div id="machines" class="tab-pane"> |
| |
| <div id="no-machines-yet" class="alert alert-info" style="display:none"> |
| <p>Toaster does not have machine information for the <strong> {{layerversion.layer.name}} </strong> layer.</p> |
| <p>Toaster learns about layers when you build them. If this layer provides any machines, they will be listed here after you build the <strong> {{layerversion.layer.name}} </strong> layer.</p> |
| </div> |
| |
| |
| <!-- Machines table --> |
| {% url 'layermachinestable' project.id layerversion.id as xhr_table_url %} |
| {% with "machinestable" as table_name %} |
| {% with "Machines" as title %} |
| {% include 'toastertable-simple.html' %} |
| {% endwith %} |
| {% endwith %} |
| </div> |
| </div> <!-- end tab content --> |
| </div> <!-- end tabable --> |
| |
| <div class="row-fluid span4 well"> <!-- info side panel --> |
| <h2>About {{layerversion.layer.name}}</h2> |
| <dl class="item-info"> |
| |
| <dt> |
| Summary |
| <i class="icon-question-sign get-help" title="One-line description of the layer"></i> |
| </dt> |
| <dd> |
| <span class="muted" style="display:none">Not set</span> |
| <span class="current-value">{{layerversion.layer.summary|default_if_none:''}}</span> |
| <form style="display:none; margin-bottom:20px"> |
| <textarea class="span12" rows="2">{% if layerversion.layer.summary %}{{layerversion.layer.summary}}{% endif %}</textarea> |
| <button class="btn change-btn" data-layer-prop="summary" type="button">Save</button> |
| <a href="#" class="btn btn-link cancel">Cancel</a> |
| </form> |
| <i class="icon-pencil"></i> |
| <span class="icon-trash delete-current-value" data-toggle="tooltip" title="Delete"></span> |
| </dd> |
| <dt> |
| Description |
| </dt> |
| <dd> |
| <span class="muted" style="display:none">Not set</span> |
| <span class="current-value">{{layerversion.layer.description|default_if_none:''}}</span> |
| <form style="display:none; margin-bottom:20px"> |
| <textarea class="span12" rows="6">{% if layerversion.layer.description %}{{layerversion.layer.description}}{% endif %}</textarea> |
| <button class="btn change-btn" data-layer-prop="description" type="button" >Save</button> |
| <a href="#" class="btn btn-link cancel">Cancel</a> |
| </form> |
| <i class="icon-pencil"></i> |
| <span class="icon-trash delete-current-value" data-toggle="tooltip" title="Delete"></span> |
| </dd> |
| {% if layerversion.layer.up_id %} |
| <dt>Layer index</dt> |
| <dd> |
| <a href="http://layers.openembedded.org/layerindex/branch/{{layerversion.up_branch.name}}/layer/{{layerversion.layer.name}}">layer index link</a> |
| |
| </dd> |
| {% endif %} |
| |
| </dl> |
| </div> |
| |
| {% endblock %} |