blob: 7dd3db27a54c664b22d3708abd76d6ead3188951 [file] [log] [blame]
Patrick Williamsc124f4f2015-09-15 14:41:29 -05001{% extends "base.html" %}
2{% load projecttags %}
3{% load humanize %}
4{% load static %}
5
6{% block pagecontent %}
7
8<div class="section">
9 <ul class="breadcrumb">
10 <li class="muted">{{project.name}}:</li>
11 <li>
12 <a href="{% url 'project' project.id %}">Configuration</a>
13 <span class="divider">&rarr;</span>
14 </li>
15 <li><a href="{% url 'projectlayers' project.id %}">Compatible layers</a>
16 <span class="divider">&rarr;</span>
17 </li>
18 <li class="active">
19 {{layerversion.layer.name}} ({{layerversion.get_vcs_reference|truncatechars:13}})
20 </li>
21 </ul>
22</div>
23
24{# If this is not an imported layer then hide the edit ui #}
25{% if not layerversion.layer_source_id or layerversion.layer_source.sourcetype != layerversion.layer_source.TYPE_IMPORTED %}
26<style scoped>
27 .icon-pencil {
28 display:none;
29 }
30.delete-current-value{
31 display: none;
32}
33 li .icon-trash {
34 display:none;
35 }
36 .add-deps {
37 display:none;
38 }
39</style>
40{% endif %}
41
42
43<script src="{% static 'js/layerdetails.js' %}"></script>
44<script>
45
46 $(document).ready(function (){
47 var ctx = {
48 projectBuildsUrl : "{% url 'projectbuilds' project.id %}",
49 xhrUpdateLayerUrl : "{% url 'xhr_updatelayer' %}",
50 layerVersion : {
51 name : "{{layerversion.layer.name}}",
52 id : {{layerversion.id}},
53 commit: "{{layerversion.get_vcs_reference}}",
54 {%if layerversion.id in projectlayers %}
55 inCurrentPrj : true,
56 {% else %}
57 inCurrentPrj : false,
58 {% endif %}
59 layerdetailurl : "{% url 'layerdetails' project.id layerversion.id %}",
60 sourceId: {{layerversion.layer_source_id|json}},
61 }
62 };
63
64 try {
65 layerDetailsPageInit(ctx);
66 } catch (e) {
67 document.write("Sorry, An error has occurred loading this page");
68 console.warn(e);
69 }
70 });
71</script>
72
73<div class="row-fluid span11">
74 <div class="page-header">
75 <h1>{{layerversion.layer.name}} <small class="commit"
76 {% if layerversion.get_vcs_reference|length > 13 %}
77 data-toggle="tooltip" title="{{layerversion.get_vcs_reference}}"
78 {% endif %}>
79 ({{layerversion.get_vcs_reference|truncatechars:13}})</small></h1>
80 </div>
81</div>
82
83<!-- container for tabs -->
84<div class="row-fluid span7 tabbable">
85 <div class="alert alert-info lead" id="alert-area" style="display:none">
86 <button type="button" class="close" id="dismiss-alert">&times;</button>
87 <span id="alert-msg"></span>
88 </div>
89 <ul class="nav nav-pills">
90 <li class="active">
91 <a data-toggle="tab" href="#information" id="details-tab">Layer details</a>
92 </li>
93 <li>
94 <a data-toggle="tab" href="#recipes" class="muted" id="targets-tab">Recipes (<span class="table-count-recipestable"></span>)</a>
95 </li>
96 <li>
97 <a data-toggle="tab" href="#machines" class="muted" id="machines-tab">Machines (<span class="table-count-machinestable"></span>)</a>
98 </li>
99 </ul>
100 <div class="tab-content">
101 <span class="button-place">
102 {% if layerversion.id not in projectlayers %}
103 <button id="add-remove-layer-btn" data-directive="add" class="btn btn-large btn-block">
104 <span class="icon-plus"></span>
105 Add the {{layerversion.layer.name}} layer to your project
106 </button>
107 {% else %}
108 <button id="add-remove-layer-btn" data-directive="remove" class="btn btn-block btn-large btn-danger">
109 <span class="icon-trash"></span>
110 Delete the {{layerversion.layer.name}} layer from your project
111 </button>
112 {% endif %}
113 </span>
114
115 <!-- layer details pane -->
116 <div id="information" class="tab-pane active">
117 <dl class="dl-horizontal">
118 <dt class="">
119 <i class="icon-question-sign get-help" title="Fetch/clone URL of the repository"></i>
120 Repository URL
121 </dt>
122 <dd>
123 <span class="current-value">{{layerversion.layer.vcs_url}}</span>
124 {% if layerversion.get_vcs_link_url %}
125 <a href="{{layerversion.get_vcs_link_url}}/" class="icon-share get-info" target="_blank"></a>
126 {% endif %}
127 <form id="change-repo-form" class="control-group" style="display:none">
128 <div class="input-append">
129 <input type="text" class="input-xlarge" value="{{layerversion.layer.vcs_url}}">
130 <button data-layer-prop="vcs_url" class="btn change-btn" type="button">Save</button>
131 <a href="#" style="display:none" class="btn btn-link cancel">Cancel</a>
132 </div>
133 </form>
134 <i class="icon-pencil" ></i>
135 </dd>
136 <dt>
137 <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>
138 Repository subdirectory
139 </dt>
140 <dd>
141 <span class="muted" style="display:none">Not set</span>
142 <span class="current-value">{{layerversion.dirpath}}</span>
143 {% if layerversion.get_vcs_dirpath_link_url %}
144 <a href="{{layerversion.get_vcs_dirpath_link_url}}" class="icon-share get-info" target="_blank"></a>
145 {% endif %}
146 <form id="change-subdir-form" style="display:none;">
147 <div class="input-append">
148 <input type="text" value="{{layerversion.dirpath}}">
149 <button data-layer-prop="dirpath" class="btn change-btn" type="button">Save</button>
150 <a href="#" style="display:none" class="btn btn-link cancel">Cancel</a>
151 </div>
152 </form>
153 <i id="change-subdir" class="icon-pencil"></i>
154 <span class="icon-trash delete-current-value" data-toggle="tooltip" title="Delete"></span>
155 </dd>
156 <dt>
157 <i class="icon-question-sign get-help" title="The Git branch, tag or commit"></i>
158 Revision
159 </dt>
160 <dd>
161 <span class="current-value">{{layerversion.get_vcs_reference}}</span>
162 <form style="display:none;">
163 <div class="input-append">
164 <input type="text" value="{{layerversion.get_vcs_reference}}">
165 <button data-layer-prop="commit" class="btn change-btn" type="button">Save</button>
166 <a href="#" style="display:none" class="btn btn-link cancel">Cancel</a>
167 </div>
168 </form>
169 <i class="icon-pencil"></i>
170 </dd>
171 <dt>
172 <i class="icon-question-sign get-help" title="Other layers this layer depends upon"></i>
173 Layer dependencies
174 </dt>
175 <dd>
176 <ul class="unstyled current-value" id="layer-deps-list">
177 {% for ld in layerversion.dependencies.all %}
178 <li data-layer-id="{{ld.depends_on.id}}">
179 <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>
180 <span class="icon-trash " data-toggle="tooltip" title="Delete"></span>
181 </li>
182 {% endfor %}
183 </ul>
184 <div class="input-append add-deps">
185 <input type="text" autocomplete="off" data-minLength="1" data-autocomplete="off" placeholder="Type a layer name" id="layer-dep-input">
186 <a class="btn" id="add-layer-dependency-btn" >
187 Add layer
188 </a>
189 </div>
190 <span class="help-block add-deps">You can only add layers Toaster knows about</span>
191 </dd>
192 </dl>
193 </div>
194 <!-- end layerdetails tab -->
195 <!-- targets tab -->
196 <div id="recipes" class="tab-pane">
197 <!-- Recipe table -->
198 <div id="no-recipes-yet" class="alert alert-info" style="display:none">
199 <p>Toaster does not have recipe information for the <strong> {{layerversion.layer.name}} </strong> layer.</p>
200 <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>
201 </div>
202
203
204
205 {% url 'layerrecipestable' project.id layerversion.id as xhr_table_url %}
206 {% with "recipestable" as table_name %}
207 {% with "Recipes" as title %}
208 {% include 'toastertable-simple.html' %}
209 {% endwith %}
210 {% endwith %}
211 </div>
212
213 <div id="machines" class="tab-pane">
214
215 <div id="no-machines-yet" class="alert alert-info" style="display:none">
216 <p>Toaster does not have machine information for the <strong> {{layerversion.layer.name}} </strong> layer.</p>
217 <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>
218 </div>
219
220
221 <!-- Machines table -->
222 {% url 'layermachinestable' project.id layerversion.id as xhr_table_url %}
223 {% with "machinestable" as table_name %}
224 {% with "Machines" as title %}
225 {% include 'toastertable-simple.html' %}
226 {% endwith %}
227 {% endwith %}
228 </div>
229 </div> <!-- end tab content -->
230 </div> <!-- end tabable -->
231
232 <div class="row-fluid span4 well"> <!-- info side panel -->
233 <h2>About {{layerversion.layer.name}}</h2>
234 <dl class="item-info">
235
236 <dt>
237 Summary
238 <i class="icon-question-sign get-help" title="One-line description of the layer"></i>
239 </dt>
240 <dd>
241 <span class="muted" style="display:none">Not set</span>
242 <span class="current-value">{{layerversion.layer.summary|default_if_none:''}}</span>
243 <form style="display:none; margin-bottom:20px">
244 <textarea class="span12" rows="2">{% if layerversion.layer.summary %}{{layerversion.layer.summary}}{% endif %}</textarea>
245 <button class="btn change-btn" data-layer-prop="summary" type="button">Save</button>
246 <a href="#" class="btn btn-link cancel">Cancel</a>
247 </form>
248 <i class="icon-pencil"></i>
249 <span class="icon-trash delete-current-value" data-toggle="tooltip" title="Delete"></span>
250 </dd>
251 <dt>
252 Description
253 </dt>
254 <dd>
255 <span class="muted" style="display:none">Not set</span>
256 <span class="current-value">{{layerversion.layer.description|default_if_none:''}}</span>
257 <form style="display:none; margin-bottom:20px">
258 <textarea class="span12" rows="6">{% if layerversion.layer.description %}{{layerversion.layer.description}}{% endif %}</textarea>
259 <button class="btn change-btn" data-layer-prop="description" type="button" >Save</button>
260 <a href="#" class="btn btn-link cancel">Cancel</a>
261 </form>
262 <i class="icon-pencil"></i>
263 <span class="icon-trash delete-current-value" data-toggle="tooltip" title="Delete"></span>
264 </dd>
265 {% if layerversion.layer.up_id %}
266 <dt>Layer index</dt>
267 <dd>
268 <a href="http://layers.openembedded.org/layerindex/branch/{{layerversion.up_branch.name}}/layer/{{layerversion.layer.name}}">layer index link</a>
269
270 </dd>
271 {% endif %}
272
273 </dl>
274 </div>
275
276 {% endblock %}