summaryrefslogtreecommitdiffstats
path: root/bitbake/lib/toaster/toastergui/templates/layerdetails.html
diff options
context:
space:
mode:
Diffstat (limited to 'bitbake/lib/toaster/toastergui/templates/layerdetails.html')
-rw-r--r--bitbake/lib/toaster/toastergui/templates/layerdetails.html644
1 files changed, 495 insertions, 149 deletions
diff --git a/bitbake/lib/toaster/toastergui/templates/layerdetails.html b/bitbake/lib/toaster/toastergui/templates/layerdetails.html
index 78dc54bfd1..c69f9e945a 100644
--- a/bitbake/lib/toaster/toastergui/templates/layerdetails.html
+++ b/bitbake/lib/toaster/toastergui/templates/layerdetails.html
@@ -1,159 +1,505 @@
1{% extends "baseprojectpage.html" %} 1{% extends "baseprojectpage.html" %}
2{% load projecttags %} 2{% load projecttags %}
3{% load humanize %} 3{% load humanize %}
4 4{% load static %}
5{% block localbreadcrumb %} 5{% block localbreadcrumb %}
6<li>Layer Details</li> 6<li><a href="{% url 'layers' %}">All Layers</a></li>
7<li>
8 {{layerversion.layer.name}} ({{layerversion.commit|truncatechars:13}})
9</li>
7{% endblock %} 10{% endblock %}
8
9{% block projectinfomain %} 11{% block projectinfomain %}
10<div class="page-header"> 12
11 <h1>Layer Details</h1> 13
12</div> 14<script src="{% static 'js/layerdetails.js' %}"></script>
13 15<script>
14 <div class="row-fluid span7 tabbable"> 16
15 <ul class="nav nav-pills"> 17 $(document).ready(function (){
16 <li class="active"> 18 var ctx = {
17 <a data-toggle="tab" href="#information">Layer details</a> 19 projectBuildUrl : "{% url 'xhr_build' %}",
18 </li> 20 layerDetailsUrl : "{% url 'layerdetails' %}",
19 <li> 21 projectPageUrl : "{% url 'project' project.id %}",
20 <a data-toggle="tab" href="#targets">Targets (0)</a> 22 xhrEditProjectUrl : "{% url 'xhr_projectedit' project.id %}",
21 </li> 23 xhrDataTypeaheadUrl : "{% url 'xhr_datatypeahead' %}",
22 <li> 24 xhrUpdateLayerUrl : "{% url 'xhr_updatelayer' %}",
23 <a data-toggle="tab" href="#machines">Machines (0)</a> 25 projectId : {{project.id}},
24 </li> 26 numTargets : {{total_targets}},
25 <li> 27 numMachines: {{machines|length}},
26 <a data-toggle="tab" href="#classes">Classes (0)</a> 28 layerVersion : {
27 </li> 29 name : "{{layerversion.layer.name}}",
28 <li> 30 id : {{layerversion.id}},
29 <a data-toggle="tab" href="#bbappends">bbappends (0)</a> 31 commit: "{{layerversion.commit}}",
30 </li> 32 inCurrentPrj : {{layer_in_project}},
31 </ul> 33 url : "{% url 'layerdetails' layerversion.id %}",
32 <div class="tab-content"> 34 sourceId: {{layerversion.layer_source_id}},
33 <div name="information" id="information" class="tab-pane active"> 35 }
34 <dl class="dl-horizontal"> 36 };
35 <dt class=""> 37
36 <i class="icon-question-sign get-help" title="Fetch/clone URL of the repository"></i> 38 try {
37 Repository URL 39 layerDetailsPageInit(ctx);
38 </dt> 40 } catch (e) {
39 <dd> 41 document.write("Sorry, An error has occurred loading this page");
40 <form id="change-repo-form" class="control-group"> 42 console.warn(e);
41 <div class="input-append"> 43 }
42 <input type="text" class="input-xlarge" id="type-repo" value="{{layerversion.layer.vcs_url}}"> 44 });
43 <button id="apply-change-repo" class="btn" type="button">Change</button> 45</script>
44 <!--a href="#" id="cancel-change-repo" class="btn btn-link">Cancel</a--> 46
45 </div> 47{# If this is not an imported layer then hide the edit ui #}
46 <span class="help-block">Cloning this Git repository failed</span> 48{% if layerversion.layer_source_id != 3 %}
47 </form> 49<style>
48 </dd> 50 .icon-pencil {
49 <dt> 51 display:none;
50 <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> 52 }
51 Repository subdirectory 53.delete-current-value{
52 </dt> 54 display: none;
53 <dd> 55}
54 <span id="subdir">{{layerversion.dirpath}}</span> 56 li .icon-trash {
55 <i id="change-subdir" class="icon-pencil"></i> 57 display:none;
56 <i id="delete-subdir" class="icon-trash"></i> 58 }
57 <form id="change-subdir-form" style="display:none;"> 59 .add-deps {
58 <div class="input-append"> 60 display:none;
59 <input type="text" id="type-subdir" value="meta-acer"> 61 }
60 <button id="apply-change-subdir" class="btn" type="button">Change</button> 62</style>
61 <a href="#" id="cancel-change-subdir" class="btn btn-link">Cancel</a> 63{% endif %}
62 </div> 64
63 </form> 65{% include "layers_dep_modal.html" %}
64 </dd> 66 <div class="container-fluid top-padded">
65 <dt>Brach, tag or commit</dt> 67 <div class="row-fluid">
66 <dd> 68 <div class="span11">
67 {{layerversion.up_branch.name}} 69 <div class="page-header">
68 <i class="icon-pencil"></i> 70 <h1>{{layerversion.layer.name}} <small class="commit" data-toggle="tooltip" title="{{layerversion.commit}}">({{layerversion.commit|truncatechars:13}})</small></h1>
69 </dd> 71 </div>
70 <dt>
71 <i class="icon-question-sign get-help" title="The Yocto Project versions with which this layer is compatible. Currently Toaster supports Yocto Project 1.6 and 1.7"></i>
72 Yocto Project compatibility
73 </dt>
74 <dd>
75 <i class="icon-pencil"></i>
76 </dd>
77 <dt>
78 <i class="icon-question-sign get-help" title="Other layers this layer depends upon"></i>
79 Layer dependencies
80 </dt>
81 <dd>
82 <ul class="unstyled">
83 {% for ld in layer.dependencies.all %}
84 <li>
85 <a href="#">openembedded core (meta)</a>
86 <i class="icon-trash"></i>
87 </li>
88 {% endfor %}
89 </ul>
90 <div class="input-append">
91 <input type="text" autocomplete="off" data-minLength="1" data-autocomplete="off"
92 data-provide="typeahead" data-source='
93 '
94 placeholder="Type a layer name" id="layer-dependency">
95 <a class="btn" type="button" id="add-layer-dependency" disabled>
96 Add layer
97 </a>
98 </div>
99 <span class="help-block">You can only add layers Toaster knows about</span>
100 </dd>
101 </dl>
102 </div>
103 <div name="targets" id="targets" class="tab-pane">
104 <div class="alert alert-info">
105 <strong>There is no target data for {{layerversion.layer.name}} ... yet</strong> <br />
106 Toaster learns about layers as they are built. Once you have used {{layerversion.layer.name}} in a build, Toaster will show you
107 here the targets it provides.
108 </div>
109 </div>
110 <div name="machines" id="machines" class="tab-pane">
111 <div class="alert alert-info">
112 <strong>There is no machine data for {{layerversion.layer.name}} ... yet</strong> <br />
113 Toaster learns about layers as they are built. Once you have used {{layerversion.layer.name}} in a build, Toaster will show you
114 here the machines it provides.
115 </div>
116 </div>
117 </div> 72 </div>
118</div> 73 </div>
119<div class="row span4 well"> 74
120<h2>About {{layerversion.layer.name}}</h2> 75 <div class="row-fluid">
121<dl> 76 <div class="span7">
122 77 <div class="tabbable">
123 <dt> 78 <div class="alert alert-info lead" id="alert-area" style="display:none">
124 Summary 79 <button type="button" class="close" id="dismiss-alert" data-dismiss="alert">&times;</button>
125 <i class="icon-question-sign get-help" title="One-line description of the layer"></i> 80 <span id="alert-msg"></span>
126 </dt> 81 <p style="margin-top:10px;"><a href="{% url 'project' project.id %}">Go to project configuration</a></p>
127 <dd> 82 </div>
128 <span >{{layerversion.layer.summary}}</span> 83 <ul class="nav nav-pills">
129 <i class="icon-pencil"></i> 84 <li class="active">
130 </dd> 85 <a data-toggle="tab" href="#information" id="details-tab">Layer details</a>
131 <!--form> 86 </li>
132 <textarea class="span12" rows="2"></textarea> 87 <li>
133 <button class="btn" type="button">Change</button> 88 <a data-toggle="tab" href="#targets" id="targets-tab">Targets ({{total_targets}})</a>
134 <a href="#" class="btn btn-link">Cancel</a> 89 </li>
135 </form--> 90 <li>
136 <dt> 91 <a data-toggle="tab" href="#machines" id="machines-tab">Machines ({{total_machines}})</a>
137 Description 92 </li>
138 </dt> 93 </ul>
139 <dd> 94 </div>
140 <span >{{layerversion.layer.description}}</span> 95 <div class="tab-content">
141 <i class="icon-pencil"></i> 96 <span class="button-place">
142 </dd> 97 {% if layer_in_project == 0 %}
143 <!--form> 98 <button id="add-remove-layer-btn" data-directive="add" class="btn btn-large btn-block">
144 <textarea class="span12" rows="6"></textarea> 99 <span class="icon-plus"></span>
145 <button class="btn" type="button">Change</button> 100 Add the {{layerversion.layer.name}} layer to your project
146 <a href="#" class="btn btn-link">Cancel</a> 101 </button>
147 </form--> 102 {% else %}
148 <dt> 103 <button id="add-remove-layer-btn" data-directive="remove" class="btn btn-block btn-large btn-danger">
149 Maintainer(s) 104 <span class="icon-trash"></span>
150 </dt> 105 Delete the {{layerversion.layer.name}} layer from your project
151 <dd> 106 </button>
152 <span class="muted">Not set</span> 107 {% endif %}
153 <i class="icon-pencil"></i> 108 </span>
154 </dd> 109
155</dl> 110 <!-- layer details pane -->
156</div> 111 <div name="information" id="information" class="tab-pane active">
112 <dl class="dl-horizontal">
113 <dt class="">
114 <i class="icon-question-sign get-help" title="Fetch/clone URL of the repository"></i>
115 Repository URL
116 </dt>
117 <dd>
118 <span class="current-value">{{layerversion.layer.vcs_url}}</span>
119 {% if layerversion.get_vcs_link_url %}
120 <a href="{{layerversion.get_vcs_link_url}}/" class="icon-share get-info"></a>
121 {% endif %}
122 <form id="change-repo-form" class="control-group" style="display:none">
123 <div class="input-append">
124 <input type="text" class="input-xlarge" value="{{layerversion.layer.vcs_url}}">
125 <button data-layer-prop="vcs_url" class="btn change-btn" type="button">Save</button>
126 <a href="#" style="display:none" class="btn btn-link cancel">Cancel</a>
127 </div>
128 </form>
129 <i class="icon-pencil" ></i>
130 </dd>
131 <dt>
132 <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>
133 Repository subdirectory
134 </dt>
135 <dd>
136 <span class="muted" style="display:none">Not set</span>
137 <span class="current-value">{{layerversion.dirpath}}</span>
138 {% if layerversion.get_vcs_dirpath_link_url %}
139 <a href="{{layerversion.get_vcs_dirpath_link_url}}" class="icon-share get-info"></a>
140 {% endif %}
141 <form id="change-subdir-form" style="display:none;">
142 <div class="input-append">
143 <input type="text" value="{{layerversion.dirpath}}">
144 <button data-layer-prop="dirpath" class="btn change-btn" type="button">Save</button>
145 <a href="#" style="display:none" class="btn btn-link cancel">Cancel</a>
146 </div>
147 </form>
148 <i id="change-subdir" class="icon-pencil"></i>
149 <span class="icon-trash delete-current-value" data-toggle="tooltip" title="Delete"></span>
150 </dd>
151 <dt>Brach, tag or commit</dt>
152 <dd>
153 <span class="current-value">{{layerversion.commit}}</span>
154 <form style="display:none;">
155 <div class="input-append">
156 <input type="text" value="{{layerversion.commit}}">
157 <button data-layer-prop="commit" class="btn change-btn" type="button">Save</button>
158 <a href="#" style="display:none" class="btn btn-link cancel">Cancel</a>
159 </div>
160 </form>
161 <i class="icon-pencil"></i>
162 </dd>
163 <dt>
164 <i class="icon-question-sign get-help" title="The Yocto Project versions with which this layer is compatible. Currently Toaster supports Yocto Project 1.6 and 1.7"></i>
165 Yocto Project compatibility
166 </dt>
167 <dd>
168 <span class="current-value">{{layerversion.up_branch.name}}</span>
169 <form style="display:none">
170 <div class="input-append">
171 <select name="projectversion" id="projectversion">
172 {% for compat in yocto_compat %}
173 <option value="{{compat.id}}" {%if layerversion.up_branch.id == compat.id %} selected{%endif%}>{{compat.name}}</option>
174 {% endfor %}
175 </select>
176 <button data-layer-prop="up_branch" class="btn change-btn" type="button">Save</button>
177 <a href="#" style="display:none" class="btn btn-link cancel">Cancel</a>
178 </div>
179 </form>
180 <i class="icon-pencil"></i>
181 </dd>
182 <dt>
183 <i class="icon-question-sign get-help" title="Other layers this layer depends upon"></i>
184 Layer dependencies
185 </dt>
186 <dd>
187 <ul class="unstyled" id="layer-deps-list">
188 {% for ld in layerversion.dependencies.all %}
189 <span class="current-value">
190 <li data-layer-id="{{ld.depends_on.id}}">
191 <!-- TODO use ld.depends_on.get_vcs_reference instead of commit -->
192 <a data-toggle="tooltip" title="{{ld.depends_on.layer.vcs_url}} | {{ld.depends_on.commit}}" href="{% url 'layerdetails' ld.depends_on.id %}">{{ld.depends_on.layer.name}}</a>
193 <span class="icon-trash " data-toggle="tooltip" title="Delete"></span>
194 </li>
195 </span>
196 {% endfor %}
197 </ul>
198 <div class="input-append add-deps">
199 <input type="text" autocomplete="off" data-minLength="1" data-autocomplete="off" placeholder="Type a layer name" id="layer-dep-input">
200 <a class="btn" type="button" id="add-layer-dependency-btn" disabled>
201 Add layer
202 </a>
203 </div>
204 <span class="help-block add-deps">You can only add layers Toaster knows about</span>
205 </dd>
206 </dl>
207 </div>
208 <!-- targets tab -->
209 <div name="targets" id="targets" class="tab-pane">
210 {% if total_targets == 0 %}
211 <div class="alert alert-info">
212 <strong>There is no target data for {{layerversion.layer.name}} ... yet</strong> <br />
213 Toaster learns about layers as they are built. Once you have used {{layerversion.layer.name}} in a build, Toaster will show you
214 here the targets it provides.
215 </div>
216 {% else %}
217
218 <div class="row-fluid">
219
220 {% if targets.paginator.count == 0 %}
221 <div class="alert">
222 <h3>No targets found</h3>
223 {% endif %}
224
225 {# only show the search form if we have more than 10 results #}
226 {% if targets.paginator.count > 10 or request.GET.targets_search %}
227 {% if targets.paginator.count == 0 %}
228 <form class="input-append">
229 {% else %}
230 <form class="navbar-search input-append pull-left">
231 {% endif %}
232
233 <input type="text" id="target-search" name="targets_search" placeholder="Search targets" class="input-xlarge" value="{{request.GET.targets_search}}">
234 {% if request.GET.targets_search %}
235 <a class="add-on btn" id="target-search-clear">
236 <i class="icon-remove"></i>
237 </a>
238 {% endif %}
239 <button type="submit" class="btn">Search</button>
240 </form>
241 {% endif %}
242
243 {% if targets.paginator.count == 0 %}
244 <!-- end alert -->
245 </div>
246 <!-- end row-fluid -->
247 </div>
248 {% else %}
249
250 <div class="pull-right">
251 <span class="help-inline" style="padding-top:5px;">Show rows:</span>
252 <select style="margin-top:5px;margin-bottom:0px;" class="pagesize">
253 {% with "10 25 50 100 150" as list%}
254 {% for i in list.split %}
255 {% if request.session.limit == i %}
256 <option value="{{i}}" selected>{{i}}</option>
257 {% else %}
258 <option value="{{i}}">{{i}}</option>
259 {% endif %}
260 {% endfor %}
261 {% endwith %}
262 </select>
263 </div>
264 </div>
265
266 <table class="table table-bordered table-hover">
267 <thead>
268 <tr>
269 <th>
270 <i class="icon-question-sign get-help" title="Information about a single piece of software, including where to download the source, configuration options, how to compile the source files and how to package the compiled output"></i>
271 Target
272 {% if request.GET.targets_search %}
273 <span class="badge badge-info">{{targets.paginator.count}}</span>
274 {% endif %}
275 </th>
276 <th>
277 <i class="icon-question-sign get-help" title="The recipe version and revision"></i>
278 Target version
279 </th>
280 <th class="span4">Description</th>
281 <th>Build target</th>
282 </tr>
283 </thead>
284 <tbody>
285 {% for target in targets %}
286 <tr>
287 <td>
288 {{target.name}}
289 {% if target.up_id %}
290 <a href="http://layers.openembedded.org/layerindex/recipe/{{target.up_id}}/" class="icon-share get-info"></a>
291 {% endif %}
292 </td>
293 <td>{{target.version}}</td>
294 <td>{{target.summary}}</td>
295 <td><button class="btn btn-block build-target-btn" data-target-name="{{target.name}}" {% if layer_in_project == 0 %}disabled="disabled"{% endif %} >Build Target</button></td>
296 </tr>
297 {% endfor %}
298 </tbody>
299 </table>
300
301 <!-- Show pagination controls -->
302 <div class="pagination">
303 <ul>
304 {%if targets.has_previous %}
305 <li><a href="?tpage={{targets.previous_page_number}}{{request.GET.limit}}#targets">&laquo;</a></li>
306 {%else%}
307 <li class="disabled"><a href="#">&laquo;</a></li>
308 {%endif%}
309 {% for i in targets.paginator.page_range %}
310 <li {%if i == targets.number %} class="active" {%endif%}><a href="?tpage={{i}}#targets">{{i}}</a></li>
311 {% endfor %}
312 {%if targets.has_next%}
313 <li><a href="?tpage={{targets.next_page_number}}#targets">&raquo;</a></li>
314 {%else%}
315 <li class="disabled"><a href="#">&raquo;</a></li>
316 {%endif%}
317 </ul>
318 <div class="pull-right">
319 <span class="help-inline" style="padding-top:5px;">Show rows:</span>
320 <select style="margin-top:5px;margin-bottom:0px;" class="pagesize">
321 {% with "10 25 50 100 150" as list%}
322 {% for i in list.split %}
323 {% if request.session.limit == i %}
324 <option value="{{i}}" selected>{{i}}</option>
325 {% else %}
326 <option value="{{i}}">{{i}}</option>
327 {% endif %}
328 {% endfor %}
329 {% endwith %}
330 </select>
331 </div>
332 </div>
333 {% endif %}
334 {% endif %}
335 </div>
336
337
338 <div name="machines" id="machines" class="tab-pane">
339 {% if total_machines == 0 %}
340 <div class="alert alert-info">
341 <strong>There is no machine data for {{layerversion.layer.name}} ... yet</strong> <br />
342 Toaster learns about layers as they are built. Once you have used {{layerversion.layer.name}} in a build, Toaster will show you
343 here the machines it provides.
344 </div>
345 {% else %}
346
347 <div class="row-fluid">
348
349 {% if machines.paginator.count == 0 %}
350 <div class="alert">
351 <h3>No machines found</h3>
352 {% endif %}
353
354 {# only show the search form if we have more than 10 results #}
355 {% if machines.paginator.count > 10 or request.GET.machines_search %}
356 {% if machines.paginator.count == 0 %}
357 <form class="input-append">
358 {% else %}
359 <form class="navbar-search input-append pull-left">
360 {% endif %}
361
362 <input type="text" id="machine-search" name="machines_search" placeholder="Search machines" class="input-xlarge" value="{{request.GET.machines_search}}">
363 {% if request.GET.machines_search %}
364 <a class="add-on btn" id="machine-search-clear">
365 <i class="icon-remove"></i>
366 </a>
367 {% endif %}
368 <button type="submit" class="btn">Search</button>
369 </form>
370 {% endif %}
371
372 {% if machines.paginator.count == 0 %}
373 <!-- end alert -->
374 </div>
375 <!-- end row-fluid -->
376 </div>
377 {% else %}
378
379 <div class="pull-right">
380 <span class="help-inline" style="padding-top:5px;">Show rows:</span>
381 <select style="margin-top:5px;margin-bottom:0px;" class="pagesize">
382 {% with "10 25 50 100 150" as list%}
383 {% for i in list.split %}
384 {% if request.session.limit == i %}
385 <option value="{{i}}" selected>{{i}}</option>
386 {% else %}
387 <option value="{{i}}">{{i}}</option>
388 {% endif %}
389 {% endfor %}
390 {% endwith %}
391 </select>
392 </div>
393 </div>
394
395 <table class="table table-bordered table-hover">
396 <thead>
397 <tr>
398 <th>
399 <i class="icon-question-sign get-help" title="The machine is the hardware for which you are building"></i>
400 Machine
401 {% if request.GET.machines_search %}
402 <span class="badge badge-info">{{machines.paginator.count}}</span>
403 {% endif %}
404 </th>
405 <th>Description</th>
406 <th>Select machine</th>
407 </tr>
408 </thead>
409 <tbody>
410 {% for machine in machines %}
411 <tr>
412 <td>{{machine.name}}</td>
413 <td>{{machine.description}}</td>
414 <td><button class="btn btn-block select-machine-btn" data-machine-name="{{machine.name}}" {% if layer_in_project == 0 %}disabled="disabled"{% endif %}}>Select machine</button></td>
415 </tr>
416 {% endfor %}
417 </tbody>
418 </table>
419
420 <!-- Show pagination controls -->
421 <div class="pagination">
422 <ul>
423 {%if machines.has_previous %}
424 <li><a href="?mpage={{machines.previous_page_number}}{{request.GET.limit}}#machines">&laquo;</a></li>
425 {%else%}
426 <li class="disabled"><a href="#">&laquo;</a></li>
427 {%endif%}
428 {% for i in machines.paginator.page_range %}
429 <li {%if i == machines.number %} class="active" {%endif%}><a href="?mpage={{i}}#machines">{{i}}</a></li>
430 {% endfor %}
431 {%if machines.has_next%}
432 <li><a href="?mpage={{machines.next_page_number}}#machines">&raquo;</a></li>
433 {%else%}
434 <li class="disabled"><a href="#">&raquo;</a></li>
435 {%endif%}
436 </ul>
437 <div class="pull-right">
438 <span class="help-inline" style="padding-top:5px;">Show rows:</span>
439 <select style="margin-top:5px;margin-bottom:0px;" class="pagesize">
440 {% with "10 25 50 100 150" as list%}
441 {% for i in list.split %}
442 {% if request.session.limit == i %}
443 <option value="{{i}}" selected>{{i}}</option>
444 {% else %}
445 <option value="{{i}}">{{i}}</option>
446 {% endif %}
447 {% endfor %}
448 {% endwith %}
449 </select>
450 </div>
451 </div>
452 {% endif %}
453 {% endif %}
454 </div>
455 </div>
456 </div>
457 <div class="row span4 well">
458 <h2>About {{layerversion.layer.name}}</h2>
459 <dl>
460
461 <dt>
462 Summary
463 <i class="icon-question-sign get-help" title="One-line description of the layer"></i>
464 </dt>
465 <dd>
466 <span class="muted" style="display:none">Not set</span>
467 <span class="current-value">{{layerversion.layer.summary}}</span>
468 <form style="display:none; margin-bottom:20px">
469 <textarea class="span12" rows="2">{% if layerversion.layer.summary %}{{layerversion.layer.summary}}{% endif %}</textarea>
470 <button class="btn change-btn" data-layer-prop="summary" type="button">Save</button>
471 <a href="#" class="btn btn-link cancel">Cancel</a>
472 </form>
473 <i class="icon-pencil"></i>
474 <span class="icon-trash delete-current-value" data-toggle="tooltip" title="Delete"></span>
475 </dd>
476 <dt>
477 Description
478 </dt>
479 <dd>
480 <span class="muted" style="display:none">Not set</span>
481 <span class="current-value">{{layerversion.layer.description}}</span>
482 <form style="display:none; margin-bottom:20px">
483 <textarea class="span12" rows="6">{% if layerversion.layer.description %}{{layerversion.layer.description}}{% endif %}</textarea>
484 <button class="btn change-btn" data-layer-prop="description" type="button" >Save</button>
485 <a href="#" class="btn btn-link cancel">Cancel</a>
486 </form>
487 <i class="icon-pencil"></i>
488 <span class="icon-trash delete-current-value" data-toggle="tooltip" title="Delete"></span>
489 </dd>
490 </dd>
491 {% if layerversion.layer.up_id %}
492 <dt>Layer index</dt>
493 <dd>
494 <a href="http://layers.openembedded.org/layerindex/branch/{{layerversion.up_branch.name}}/layer/{{layerversion.layer.name}}"/>layer index link</a>
495
496 </dd>
497 {% endif %}
157 498
499 </dl>
500 </div>
158 501
502 </div>
503 </div>
504 </div>
159{% endblock %} 505{% endblock %}