diff options
author | Alexandru DAMIAN <alexandru.damian@intel.com> | 2015-05-07 18:09:09 +0100 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2015-05-12 12:14:13 +0100 |
commit | 94d38a4e403f9e1930312b94694077a5300d625f (patch) | |
tree | 9ffc996e3bf106a513d78e0026395305f9f83678 /bitbake/lib/toaster/toastergui/templates | |
parent | a5193d3c7f1562ea6858c5b992159d79f58f644b (diff) | |
download | poky-94d38a4e403f9e1930312b94694077a5300d625f.tar.gz |
bitbake: toasterui: URL refactoring
This is a URL refactoring needed to remove the inadvertent
usage of server-side user session in a REST-style API.
We move the parameters that were stored in the user session
to the URL, making navigation more robust.
This refactoring allows a clean (no 500 HTTP return codes) crawl
of the website following inside links.
(Bitbake rev: cc251da0f211f3ee881ad07478733e2f4c1b7019)
Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'bitbake/lib/toaster/toastergui/templates')
7 files changed, 30 insertions, 30 deletions
diff --git a/bitbake/lib/toaster/toastergui/templates/basetable_top_layers.html b/bitbake/lib/toaster/toastergui/templates/basetable_top_layers.html index bd6e7dd2de..722091b2d3 100644 --- a/bitbake/lib/toaster/toastergui/templates/basetable_top_layers.html +++ b/bitbake/lib/toaster/toastergui/templates/basetable_top_layers.html | |||
@@ -1,5 +1,5 @@ | |||
1 | {% extends "basetable_top.html" %} | 1 | {% extends "basetable_top.html" %} |
2 | 2 | ||
3 | {%block custombuttons %} | 3 | {%block custombuttons %} |
4 | <a class="btn" href="{% url 'importlayer' %}" style="margin-right:5px;">Import layer</a> | 4 | <a class="btn" href="{% url 'importlayer' project.id %}" style="margin-right:5px;">Import layer</a> |
5 | {%endblock%} | 5 | {%endblock%} |
diff --git a/bitbake/lib/toaster/toastergui/templates/importlayer.html b/bitbake/lib/toaster/toastergui/templates/importlayer.html index ed03b2eea7..d73c319307 100644 --- a/bitbake/lib/toaster/toastergui/templates/importlayer.html +++ b/bitbake/lib/toaster/toastergui/templates/importlayer.html | |||
@@ -14,7 +14,7 @@ | |||
14 | <script> | 14 | <script> |
15 | $(document).ready(function (){ | 15 | $(document).ready(function (){ |
16 | var ctx = { | 16 | var ctx = { |
17 | layerDetailsUrl : "{% url 'base_layerdetails' %}", | 17 | layerDetailsUrl : "{% url 'base_layerdetails' project.id %}", |
18 | xhrImportLayerUrl : "{% url 'xhr_importlayer' %}", | 18 | xhrImportLayerUrl : "{% url 'xhr_importlayer' %}", |
19 | }; | 19 | }; |
20 | 20 | ||
diff --git a/bitbake/lib/toaster/toastergui/templates/layerdetails.html b/bitbake/lib/toaster/toastergui/templates/layerdetails.html index 4b27d052d0..4d892d56f9 100644 --- a/bitbake/lib/toaster/toastergui/templates/layerdetails.html +++ b/bitbake/lib/toaster/toastergui/templates/layerdetails.html | |||
@@ -3,7 +3,7 @@ | |||
3 | {% load humanize %} | 3 | {% load humanize %} |
4 | {% load static %} | 4 | {% load static %} |
5 | {% block localbreadcrumb %} | 5 | {% block localbreadcrumb %} |
6 | <li><a href="{% url 'layers' %}">All compatible layers</a></li> | 6 | <li><a href="{% url 'all-layers' project.id %}">All compatible layers</a></li> |
7 | <li> | 7 | <li> |
8 | {{layerversion.layer.name}} ({{layerversion.get_vcs_reference|truncatechars:13}}) | 8 | {{layerversion.layer.name}} ({{layerversion.get_vcs_reference|truncatechars:13}}) |
9 | </li> | 9 | </li> |
@@ -17,7 +17,7 @@ | |||
17 | $(document).ready(function (){ | 17 | $(document).ready(function (){ |
18 | var ctx = { | 18 | var ctx = { |
19 | projectBuildUrl : "{% url 'xhr_build' %}", | 19 | projectBuildUrl : "{% url 'xhr_build' %}", |
20 | layerDetailsUrl : "{% url 'base_layerdetails' %}", | 20 | layerDetailsUrl : "{% url 'base_layerdetails' project.id %}", |
21 | xhrUpdateLayerUrl : "{% url 'xhr_updatelayer' %}", | 21 | xhrUpdateLayerUrl : "{% url 'xhr_updatelayer' %}", |
22 | numTargets : {{total_targets}}, | 22 | numTargets : {{total_targets}}, |
23 | numMachines: {{machines|length}}, | 23 | numMachines: {{machines|length}}, |
@@ -26,7 +26,7 @@ | |||
26 | id : {{layerversion.id}}, | 26 | id : {{layerversion.id}}, |
27 | commit: "{{layerversion.get_vcs_reference}}", | 27 | commit: "{{layerversion.get_vcs_reference}}", |
28 | inCurrentPrj : {{layer_in_project}}, | 28 | inCurrentPrj : {{layer_in_project}}, |
29 | url : "{% url 'layerdetails' layerversion.id %}", | 29 | url : "{% url 'layerdetails' project.id layerversion.id %}", |
30 | sourceId: {{layerversion.layer_source_id}}, | 30 | sourceId: {{layerversion.layer_source_id}}, |
31 | } | 31 | } |
32 | }; | 32 | }; |
@@ -164,7 +164,7 @@ | |||
164 | {% for ld in layerversion.dependencies.all %} | 164 | {% for ld in layerversion.dependencies.all %} |
165 | <span class="current-value"> | 165 | <span class="current-value"> |
166 | <li data-layer-id="{{ld.depends_on.id}}"> | 166 | <li data-layer-id="{{ld.depends_on.id}}"> |
167 | <a data-toggle="tooltip" title="{{ld.depends_on.layer.vcs_url}} | {{ld.depends_on.get_vcs_reference}}" href="{% url 'layerdetails' ld.depends_on.id %}">{{ld.depends_on.layer.name}}</a> | 167 | <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> |
168 | <span class="icon-trash " data-toggle="tooltip" title="Delete"></span> | 168 | <span class="icon-trash " data-toggle="tooltip" title="Delete"></span> |
169 | </li> | 169 | </li> |
170 | </span> | 170 | </span> |
diff --git a/bitbake/lib/toaster/toastergui/templates/layers.html b/bitbake/lib/toaster/toastergui/templates/layers.html index 2367e7c33a..abad007ee4 100644 --- a/bitbake/lib/toaster/toastergui/templates/layers.html +++ b/bitbake/lib/toaster/toastergui/templates/layers.html | |||
@@ -73,14 +73,14 @@ | |||
73 | {% include "basetable_top_layers.html" %} | 73 | {% include "basetable_top_layers.html" %} |
74 | {% for o in objects %} | 74 | {% for o in objects %} |
75 | <tr class="data"> | 75 | <tr class="data"> |
76 | <td class="layer"><a href="{% url 'layerdetails' o.id %}">{{o.layer.name}}</a></td> | 76 | <td class="layer"><a href="{% url 'layerdetails' project.id o.id %}">{{o.layer.name}}</a></td> |
77 | <td class="description">{% if o.layer.summary %}{{o.layer.summary}}{%endif%}</td> | 77 | <td class="description">{% if o.layer.summary %}{{o.layer.summary}}{%endif%}</td> |
78 | <td class="git-repo"><a href="{% url 'layerdetails' o.pk %}"><code>{{o.layer.vcs_url}}</code></a> | 78 | <td class="git-repo"><a href="{% url 'layerdetails' project.id o.pk %}"><code>{{o.layer.vcs_url}}</code></a> |
79 | {% if o.get_vcs_link_url %} | 79 | {% if o.get_vcs_link_url %} |
80 | <a target="_blank" href="{{ o.get_vcs_link_url }}"><i class="icon-share get-info"></i></a> | 80 | <a target="_blank" href="{{ o.get_vcs_link_url }}"><i class="icon-share get-info"></i></a> |
81 | {% endif %} | 81 | {% endif %} |
82 | </td> | 82 | </td> |
83 | <td class="git-subdir" style="display: table-cell;"><a href="{% url 'layerdetails' o.pk %}"><code>{{o.dirpath}}</code></a> | 83 | <td class="git-subdir" style="display: table-cell;"><a href="{% url 'layerdetails' project.id o.pk %}"><code>{{o.dirpath}}</code></a> |
84 | {% if o.dirpath and o.get_vcs_dirpath_link_url %} | 84 | {% if o.dirpath and o.get_vcs_dirpath_link_url %} |
85 | <a target="_blank" href="{{ o.get_vcs_dirpath_link_url }}"><i class="icon-share get-info"></i></a> | 85 | <a target="_blank" href="{{ o.get_vcs_dirpath_link_url }}"><i class="icon-share get-info"></i></a> |
86 | {% endif %} | 86 | {% endif %} |
@@ -100,10 +100,10 @@ | |||
100 | {% with ods=o.dependencies.all%} | 100 | {% with ods=o.dependencies.all%} |
101 | {% if ods.count %} | 101 | {% if ods.count %} |
102 | <a class="btn" | 102 | <a class="btn" |
103 | title="<a href='{% url "layerdetails" o.pk %}'>{{o.layer.name}}</a> dependencies" | 103 | title="<a href='{% url "layerdetails" project.id o.pk %}'>{{o.layer.name}}</a> dependencies" |
104 | data-content="<ul class='unstyled'> | 104 | data-content="<ul class='unstyled'> |
105 | {% for i in ods%} | 105 | {% for i in ods%} |
106 | <li><a href='{% url "layerdetails" i.depends_on.pk %}'>{{i.depends_on.layer.name}}</a></li> | 106 | <li><a href='{% url "layerdetails" project.id i.depends_on.pk %}'>{{i.depends_on.layer.name}}</a></li> |
107 | {% endfor %} | 107 | {% endfor %} |
108 | </ul>"> | 108 | </ul>"> |
109 | {{ods.count}} | 109 | {{ods.count}} |
@@ -113,11 +113,11 @@ | |||
113 | </td> | 113 | </td> |
114 | {% if project %} | 114 | {% if project %} |
115 | <td class="add-del-layers" value="{{o.pk}}"> | 115 | <td class="add-del-layers" value="{{o.pk}}"> |
116 | <button class="btn btn-danger btn-block layer-exists-{{o.pk}} layerbtn" style="display:none;" data-layer='{ "id": {{o.pk}}, "name": "{{o.layer.name}}", "url": "{%url 'layerdetails' o.pk%}"}' data-directive="remove" > | 116 | <button class="btn btn-danger btn-block layer-exists-{{o.pk}} layerbtn" style="display:none;" data-layer='{ "id": {{o.pk}}, "name": "{{o.layer.name}}", "url": "{%url 'layerdetails' project.id o.pk%}"}' data-directive="remove" > |
117 | <i class="icon-trash"></i> | 117 | <i class="icon-trash"></i> |
118 | Delete layer | 118 | Delete layer |
119 | </button> | 119 | </button> |
120 | <button class="btn btn-block layer-add-{{o.pk}} layerbtn" data-layer='{ "id": {{o.pk}}, "name": "{{o.layer.name}}", "url": "{%url 'layerdetails' o.pk%}"}' data-directive="add"> | 120 | <button class="btn btn-block layer-add-{{o.pk}} layerbtn" data-layer='{ "id": {{o.pk}}, "name": "{{o.layer.name}}", "url": "{%url 'layerdetails' project.id o.pk%}"}' data-directive="add"> |
121 | <i class="icon-plus"></i> | 121 | <i class="icon-plus"></i> |
122 | Add layer | 122 | Add layer |
123 | </button> | 123 | </button> |
diff --git a/bitbake/lib/toaster/toastergui/templates/machines.html b/bitbake/lib/toaster/toastergui/templates/machines.html index d116a45f3b..4a0986276f 100644 --- a/bitbake/lib/toaster/toastergui/templates/machines.html +++ b/bitbake/lib/toaster/toastergui/templates/machines.html | |||
@@ -69,12 +69,12 @@ | |||
69 | <tr class="data"> | 69 | <tr class="data"> |
70 | <td class="machine">{{o.name}}</td> | 70 | <td class="machine">{{o.name}}</td> |
71 | <td class="description">{{o.description}}</td> | 71 | <td class="description">{{o.description}}</td> |
72 | <td class="layer"><a href="{%url "layerdetails" o.layer_version.id %}">{{o.layer_version.layer.name}}</a></td> | 72 | <td class="layer"><a href="{%url "layerdetails" project.id o.layer_version.id %}">{{o.layer_version.layer.name}}</a></td> |
73 | <td class="branch">{{o.layer_version.get_vcs_reference}}</td> | 73 | <td class="branch">{{o.layer_version.get_vcs_reference}}</td> |
74 | <td class="machinefile"><code>/machine/conf/{{o.name}}.conf</code><a href="{{o.get_vcs_machine_file_link_url}}" target="_blank"><i class="icon-share get-info"></i></a></td> | 74 | <td class="machinefile"><code>/machine/conf/{{o.name}}.conf</code><a href="{{o.get_vcs_machine_file_link_url}}" target="_blank"><i class="icon-share get-info"></i></a></td> |
75 | <td class="select-or-add" style="height: 32px;"> | 75 | <td class="select-or-add" style="height: 32px;"> |
76 | <a href="{% url 'project' project.id %}#/machineselect={{o.name}}" class="btn btn-block layer-exists-{{o.layer_version.id}}" style="margin-top: 5px; display:none">Select machine</a> | 76 | <a href="{% url 'project' project.id %}#/machineselect={{o.name}}" class="btn btn-block layer-exists-{{o.layer_version.id}}" style="margin-top: 5px; display:none">Select machine</a> |
77 | <button class="btn btn-block layerbtn layer-add-{{o.layer_version.id}}" data-layer='{ "id": {{o.layer_version.id}}, "name": "{{o.layer_version.layer.name}}", "url": "{%url 'layerdetails' o.layer_version.id %}"}' data-directive="add"> | 77 | <button class="btn btn-block layerbtn layer-add-{{o.layer_version.id}}" data-layer='{ "id": {{o.layer_version.id}}, "name": "{{o.layer_version.layer.name}}", "url": "{%url 'layerdetails' project.id o.layer_version.id %}"}' data-directive="add"> |
78 | <i class="icon-plus"></i> | 78 | <i class="icon-plus"></i> |
79 | Add layer | 79 | Add layer |
80 | <i title="" class="icon-question-sign get-help" data-original-title="To enable this machine, you must first add the {{o.layer_version.layer.name}} layer to your project"></i></i> | 80 | <i title="" class="icon-question-sign get-help" data-original-title="To enable this machine, you must first add the {{o.layer_version.layer.name}} layer to your project"></i></i> |
diff --git a/bitbake/lib/toaster/toastergui/templates/project.html b/bitbake/lib/toaster/toastergui/templates/project.html index 5f8f4d1bc7..85a1b164dd 100644 --- a/bitbake/lib/toaster/toastergui/templates/project.html +++ b/bitbake/lib/toaster/toastergui/templates/project.html | |||
@@ -24,7 +24,7 @@ vim: expandtab tabstop=2 | |||
24 | <p>Toaster has no layer information. Without layer information, you cannot run builds. To generate layer information you can:</p> | 24 | <p>Toaster has no layer information. Without layer information, you cannot run builds. To generate layer information you can:</p> |
25 | <ul> | 25 | <ul> |
26 | <li> <a href="http://www.yoctoproject.org/docs/latest/toaster-manual/toaster-manual.html#layer-source">Configure a layer source</a></li> | 26 | <li> <a href="http://www.yoctoproject.org/docs/latest/toaster-manual/toaster-manual.html#layer-source">Configure a layer source</a></li> |
27 | <li> <a href="{% url 'importlayer' %}">Import a layer</a></li> | 27 | <li> <a href="{% url 'importlayer' project.id %}">Import a layer</a></li> |
28 | </ul> | 28 | </ul> |
29 | </div> | 29 | </div> |
30 | 30 | ||
@@ -111,7 +111,7 @@ vim: expandtab tabstop=2 | |||
111 | </div> | 111 | </div> |
112 | <i class="icon-question-sign get-help get-help-blue" title="Type the name of one or more recipes you want to build, separated by a space. You can also specify a task by appending a semicolon and a task name to a recipe name, like so: <code>core-image-minimal:do_build</code>"></i> | 112 | <i class="icon-question-sign get-help get-help-blue" title="Type the name of one or more recipes you want to build, separated by a space. You can also specify a task by appending a semicolon and a task name to a recipe name, like so: <code>core-image-minimal:do_build</code>"></i> |
113 | <p> | 113 | <p> |
114 | <a href="{% url 'all-targets' %}">View all compatible recipes</a> | 114 | <a href="{% url 'all-targets' project.id %}">View all compatible recipes</a> |
115 | <i class="icon-question-sign get-help get-help-blue heading-help" title="View all the recipes you can build with the release selected for this project, which is {[project.release.desc]}"></i> | 115 | <i class="icon-question-sign get-help get-help-blue heading-help" title="View all the recipes you can build with the release selected for this project, which is {[project.release.desc]}"></i> |
116 | {% if completedbuilds.count %} | 116 | {% if completedbuilds.count %} |
117 | | <a href="{% url 'projectbuilds' project.id %}">View all project builds ({{completedbuilds.count}})</a> | 117 | | <a href="{% url 'projectbuilds' project.id %}">View all project builds ({{completedbuilds.count}})</a> |
@@ -278,8 +278,8 @@ vim: expandtab tabstop=2 | |||
278 | <p> | 278 | <p> |
279 | You can: | 279 | You can: |
280 | <ul> | 280 | <ul> |
281 | <li> <a href="{% url 'layers'%}">View all compatible layers available in Toaster</a> | 281 | <li> <a href="{% url 'all-layers' project.id %}">View all compatible layers available in Toaster</a> |
282 | <li> <a href="{% url 'importlayer' %}">Import a layer</a> | 282 | <li> <a href="{% url 'importlayer' project.id %}">Import a layer</a> |
283 | <li> <a href="https://www.yoctoproject.org/docs/1.6.1/dev-manual/dev-manual.html#understanding-and-creating-layers" target="_blank">Read about layers in the manual</a> | 283 | <li> <a href="https://www.yoctoproject.org/docs/1.6.1/dev-manual/dev-manual.html#understanding-and-creating-layers" target="_blank">Read about layers in the manual</a> |
284 | </ul> | 284 | </ul> |
285 | Or type a layer name below. | 285 | Or type a layer name below. |
@@ -293,10 +293,10 @@ vim: expandtab tabstop=2 | |||
293 | {% csrf_token %} | 293 | {% csrf_token %} |
294 | </form> | 294 | </form> |
295 | <p> | 295 | <p> |
296 | <a href="{% url 'layers' %}">View all compatible layers</a> | 296 | <a href="{% url 'all-layers' project.id %}">View all compatible layers</a> |
297 | <i class="icon-question-sign get-help" title="View all the layers you can build with the release selected for this project, which is {[project.release.desc]}"></i> | 297 | <i class="icon-question-sign get-help" title="View all the layers you can build with the release selected for this project, which is {[project.release.desc]}"></i> |
298 | | | 298 | | |
299 | <a href="{% url 'importlayer' %}">Import layer</a></p> | 299 | <a href="{% url 'importlayer' project.id %}">Import layer</a></p> |
300 | <ul class="unstyled configuration-list"> | 300 | <ul class="unstyled configuration-list"> |
301 | <li ng-repeat="l in layers track by l.id" class="animate-repeat"> | 301 | <li ng-repeat="l in layers track by l.id" class="animate-repeat"> |
302 | <a href="{[l.layerdetailurl]}" class="layer-info" data-toggle="tooltip" tooltip-placement="right" tooltip="{[l.giturl]} | {[l.branch.name]}">{[l.name]}</a> | 302 | <a href="{[l.layerdetailurl]}" class="layer-info" data-toggle="tooltip" tooltip-placement="right" tooltip="{[l.giturl]} | {[l.branch.name]}">{[l.name]}</a> |
@@ -321,7 +321,7 @@ vim: expandtab tabstop=2 | |||
321 | {% csrf_token %} | 321 | {% csrf_token %} |
322 | </form> | 322 | </form> |
323 | <p> | 323 | <p> |
324 | <a href="{% url 'all-targets' %}">View all compatible recipes</a> | 324 | <a href="{% url 'all-targets' project.id %}">View all compatible recipes</a> |
325 | <i class="icon-question-sign get-help" title="View all the recipes you can build with the release selected for this project, which is {[project.release.desc]}"></i> | 325 | <i class="icon-question-sign get-help" title="View all the recipes you can build with the release selected for this project, which is {[project.release.desc]}"></i> |
326 | </p> | 326 | </p> |
327 | <div ng-if="frequenttargets.length"> | 327 | <div ng-if="frequenttargets.length"> |
@@ -361,7 +361,7 @@ vim: expandtab tabstop=2 | |||
361 | {% csrf_token %} | 361 | {% csrf_token %} |
362 | </form> | 362 | </form> |
363 | <p> | 363 | <p> |
364 | <a href="{% url 'machines' %}" class="link">View all compatible machines</a> | 364 | <a href="{% url 'all-machines' project.id %}" class="link">View all compatible machines</a> |
365 | <i class="icon-question-sign get-help" title="View all the machines you can set with the release selected for this project, which is {[project.release.desc]}"></i> | 365 | <i class="icon-question-sign get-help" title="View all the machines you can set with the release selected for this project, which is {[project.release.desc]}"></i> |
366 | </p> | 366 | </p> |
367 | </div> | 367 | </div> |
@@ -432,10 +432,10 @@ angular.element(document).ready(function() { | |||
432 | scope.urls.xhr_build = "{% url 'xhr_projectbuild' project.id %}"; | 432 | scope.urls.xhr_build = "{% url 'xhr_projectbuild' project.id %}"; |
433 | scope.urls.xhr_edit = "{% url 'xhr_projectedit' project.id %}"; | 433 | scope.urls.xhr_edit = "{% url 'xhr_projectedit' project.id %}"; |
434 | scope.urls.xhr_datatypeahead = "{% url 'xhr_datatypeahead' %}"; | 434 | scope.urls.xhr_datatypeahead = "{% url 'xhr_datatypeahead' %}"; |
435 | scope.urls.layers = "{% url 'layers' %}"; | 435 | scope.urls.layers = "{% url 'all-layers' project.id %}"; |
436 | scope.urls.targets = "{% url 'all-targets' %}"; | 436 | scope.urls.targets = "{% url 'all-targets' project.id %}"; |
437 | scope.urls.importlayer = "{% url 'importlayer'%}"; | 437 | scope.urls.importlayer = "{% url 'importlayer' project.id %}"; |
438 | scope.urls.layer = "{% url 'base_layerdetails' %}"; | 438 | scope.urls.layer = "{% url 'base_layerdetails' project.id %}"; |
439 | scope.project = {{prj|json}}; | 439 | scope.project = {{prj|json}}; |
440 | scope.builds = {{builds|json}}; | 440 | scope.builds = {{builds|json}}; |
441 | scope.layers = {{layers|json}}; | 441 | scope.layers = {{layers|json}}; |
diff --git a/bitbake/lib/toaster/toastergui/templates/targets.html b/bitbake/lib/toaster/toastergui/templates/targets.html index 903e841ae5..dc2cef6882 100644 --- a/bitbake/lib/toaster/toastergui/templates/targets.html +++ b/bitbake/lib/toaster/toastergui/templates/targets.html | |||
@@ -62,7 +62,7 @@ | |||
62 | <p>Toaster has no recipe information. To generate recipe information you can:</p> | 62 | <p>Toaster has no recipe information. To generate recipe information you can:</p> |
63 | <ul> | 63 | <ul> |
64 | <li><a href="http://www.yoctoproject.org/docs/latest/toaster-manual/toaster-manual.html#layer-source">Configure a layer source</a></li> | 64 | <li><a href="http://www.yoctoproject.org/docs/latest/toaster-manual/toaster-manual.html#layer-source">Configure a layer source</a></li> |
65 | <li><a href="{% url 'importlayer' %}">Import a layer</a>, then run a build</li> | 65 | <li><a href="{% url 'importlayer' project.id %}">Import a layer</a>, then run a build</li> |
66 | </ul> | 66 | </ul> |
67 | </div> | 67 | </div> |
68 | {% endif %} | 68 | {% endif %} |
@@ -84,7 +84,7 @@ | |||
84 | </td> | 84 | </td> |
85 | <td class="target-section">{{o.section}}</td> | 85 | <td class="target-section">{{o.section}}</td> |
86 | <td class="license">{{o.license}}</td> | 86 | <td class="license">{{o.license}}</td> |
87 | <td class="layer"><a href="{% url 'layerdetails' o.preffered_layerversion.id%}">{{o.preffered_layerversion.layer.name}}</a></td> | 87 | <td class="layer"><a href="{% url 'layerdetails' project.id o.preffered_layerversion.id%}">{{o.preffered_layerversion.layer.name}}</a></td> |
88 | <td class="branch"> | 88 | <td class="branch"> |
89 | {% if o.preffered_layerversion.up_branch %} | 89 | {% if o.preffered_layerversion.up_branch %} |
90 | {{o.preffered_layerversion.up_branch.name}} | 90 | {{o.preffered_layerversion.up_branch.name}} |
@@ -101,7 +101,7 @@ | |||
101 | <a href="{% url 'project' project.id %}#/targetbuild={{o.name}}" class="btn btn-block layer-exists-{{o.preffered_layerversion.pk}}" style="display:none; margin-top: 5px;" > | 101 | <a href="{% url 'project' project.id %}#/targetbuild={{o.name}}" class="btn btn-block layer-exists-{{o.preffered_layerversion.pk}}" style="display:none; margin-top: 5px;" > |
102 | Build recipe | 102 | Build recipe |
103 | </a> | 103 | </a> |
104 | <button class="btn btn-block layerbtn layer-add-{{o.preffered_layerversion.pk}}" data-layer='{ "id": {{o.preffered_layerversion.pk}}, "name": "{{o.preffered_layerversion.layer.name}}", "url": "{%url 'layerdetails' o.preffered_layerversion.pk%}"}' data-directive="add"> | 104 | <button class="btn btn-block layerbtn layer-add-{{o.preffered_layerversion.pk}}" data-layer='{ "id": {{o.preffered_layerversion.pk}}, "name": "{{o.preffered_layerversion.layer.name}}", "url": "{%url 'layerdetails' project.id o.preffered_layerversion.pk%}"}' data-directive="add"> |
105 | <i class="icon-plus"></i> | 105 | <i class="icon-plus"></i> |
106 | Add layer | 106 | Add layer |
107 | <i title="" class="icon-question-sign get-help" data-original-title="To build this target, you must first add the {{o.preffered_layerversion.layer.name}} layer to your project"></i></i> | 107 | <i title="" class="icon-question-sign get-help" data-original-title="To build this target, you must first add the {{o.preffered_layerversion.layer.name}} layer to your project"></i></i> |