summaryrefslogtreecommitdiffstats
path: root/bitbake
diff options
context:
space:
mode:
authorBelen Barros Pena <belen.barros.pena@intel.com>2015-03-26 16:47:02 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2015-03-31 22:30:18 +0100
commit6dd5e472eb244a1c74601d0fe3552bb1031b53ec (patch)
treef96eb008cf40ee9ae4ea71324c891327e72b3510 /bitbake
parent3ff649953d836efe3089e42f8f11a4c6abe648be (diff)
downloadpoky-6dd5e472eb244a1c74601d0fe3552bb1031b53ec.tar.gz
bitbake: toasterui: rename 'targets' to 'recipes'
A recent round of informal user feedback has revealed that the term 'target' is quite problematic. For all the users we spoke to the word refers to the target arch. In Toaster, it refers to the software you build. This patch replaces the word 'target' with 'recipe' across the Toaster interface. This is by no means self-explanatory, but at least it cannot be confused with target hardware, and it is also consistent with the terminology we use in the analysis portion of the interface. (Bitbake rev: ac10b5d83172feb10f1f3a3c894a54d2c4c4f09d) Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'bitbake')
-rw-r--r--bitbake/lib/toaster/toastergui/static/js/layerdetails.js2
-rw-r--r--bitbake/lib/toaster/toastergui/templates/base.html4
-rw-r--r--bitbake/lib/toaster/toastergui/templates/layerdetails.html16
-rw-r--r--bitbake/lib/toaster/toastergui/templates/project.html22
-rw-r--r--bitbake/lib/toaster/toastergui/templates/targets.html16
-rwxr-xr-xbitbake/lib/toaster/toastergui/views.py18
6 files changed, 39 insertions, 39 deletions
diff --git a/bitbake/lib/toaster/toastergui/static/js/layerdetails.js b/bitbake/lib/toaster/toastergui/static/js/layerdetails.js
index 5b7787728d..bac60c4512 100644
--- a/bitbake/lib/toaster/toastergui/static/js/layerdetails.js
+++ b/bitbake/lib/toaster/toastergui/static/js/layerdetails.js
@@ -155,7 +155,7 @@ function layerDetailsPageInit (ctx) {
155 if (!ctx.layerVersion.inCurrentPrj){ 155 if (!ctx.layerVersion.inCurrentPrj){
156 if (ctx.numTargets > 0) { 156 if (ctx.numTargets > 0) {
157 var text = " Add the "+ctx.layerVersion.name+" layer to your project "+ 157 var text = " Add the "+ctx.layerVersion.name+" layer to your project "+
158 "to enable these targets"; 158 "to enable these recipes";
159 addRmLayerBtn.text(text); 159 addRmLayerBtn.text(text);
160 addRmLayerBtn.prepend("<span class=\"icon-plus\"></span>"); 160 addRmLayerBtn.prepend("<span class=\"icon-plus\"></span>");
161 } else { 161 } else {
diff --git a/bitbake/lib/toaster/toastergui/templates/base.html b/bitbake/lib/toaster/toastergui/templates/base.html
index 2535f70af8..58392b36f5 100644
--- a/bitbake/lib/toaster/toastergui/templates/base.html
+++ b/bitbake/lib/toaster/toastergui/templates/base.html
@@ -100,9 +100,9 @@
100 <p><a href="{% if project.id %}{% url 'project' project.id %}{% endif %}">View project configuration</a></p> 100 <p><a href="{% if project.id %}{% url 'project' project.id %}{% endif %}">View project configuration</a></p>
101 </div> 101 </div>
102 <li id="targets-form"> 102 <li id="targets-form">
103 <h6>Target(s):</h6> 103 <h6>Recipe(s):</h6>
104 <form> 104 <form>
105 <input type="text" class="input-xlarge" id="build-target-input" placeholder="Type a target name" autocomplete="off" data-minLength="1" data-autocomplete="off" data-provide="typeahead" /> 105 <input type="text" class="input-xlarge" id="build-target-input" placeholder="Type a recipe name" autocomplete="off" data-minLength="1" data-autocomplete="off" data-provide="typeahead" />
106 <div> 106 <div>
107 <a class="btn btn-primary" id="build-button" disabled="disabled" data-project-id="{{project.id}}">Build</a> 107 <a class="btn btn-primary" id="build-button" disabled="disabled" data-project-id="{{project.id}}">Build</a>
108 </div> 108 </div>
diff --git a/bitbake/lib/toaster/toastergui/templates/layerdetails.html b/bitbake/lib/toaster/toastergui/templates/layerdetails.html
index 11b1ffc2dc..0d3aa15373 100644
--- a/bitbake/lib/toaster/toastergui/templates/layerdetails.html
+++ b/bitbake/lib/toaster/toastergui/templates/layerdetails.html
@@ -84,7 +84,7 @@
84 <a data-toggle="tab" href="#information" id="details-tab">Layer details</a> 84 <a data-toggle="tab" href="#information" id="details-tab">Layer details</a>
85 </li> 85 </li>
86 <li> 86 <li>
87 <a data-toggle="tab" href="#targets" id="targets-tab">Targets ({{total_targets}})</a> 87 <a data-toggle="tab" href="#targets" id="targets-tab">Recipes ({{total_targets}})</a>
88 </li> 88 </li>
89 <li> 89 <li>
90 <a data-toggle="tab" href="#machines" id="machines-tab">Machines ({{total_machines}})</a> 90 <a data-toggle="tab" href="#machines" id="machines-tab">Machines ({{total_machines}})</a>
@@ -190,8 +190,8 @@
190 <div name="targets" id="targets" class="tab-pane"> 190 <div name="targets" id="targets" class="tab-pane">
191 {% if total_targets == 0 %} 191 {% if total_targets == 0 %}
192 <div class="alert alert-info"> 192 <div class="alert alert-info">
193 <p>Toaster does not have target information for the <strong> {{layerversion.layer.name}} </strong> layer.</p> 193 <p>Toaster does not have recipe information for the <strong> {{layerversion.layer.name}} </strong> layer.</p>
194 <p>Toaster learns about layers when you build them. If this layer provides any targets, they will be listed here after you build the <strong> {{layerversion.layer.name}} </strong> layer.</p> 194 <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>
195 </div> 195 </div>
196 {% else %} 196 {% else %}
197 197
@@ -210,7 +210,7 @@
210 <form class="navbar-search input-append pull-left"> 210 <form class="navbar-search input-append pull-left">
211 {% endif %} 211 {% endif %}
212 212
213 <input type="text" id="target-search" name="targets_search" placeholder="Search targets" class="input-xlarge" value="{{request.GET.targets_search}}"> 213 <input type="text" id="target-search" name="targets_search" placeholder="Search recipes" class="input-xlarge" value="{{request.GET.targets_search}}">
214 {% if request.GET.targets_search %} 214 {% if request.GET.targets_search %}
215 <a class="add-on btn target-search-clear"> 215 <a class="add-on btn target-search-clear">
216 <i class="icon-remove"></i> 216 <i class="icon-remove"></i>
@@ -253,17 +253,17 @@
253 <tr> 253 <tr>
254 <th> 254 <th>
255 <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> 255 <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>
256 Target 256 Recipe
257 {% if request.GET.targets_search %} 257 {% if request.GET.targets_search %}
258 <span class="badge badge-info">{{targets.paginator.count}}</span> 258 <span class="badge badge-info">{{targets.paginator.count}}</span>
259 {% endif %} 259 {% endif %}
260 </th> 260 </th>
261 <th> 261 <th>
262 <i class="icon-question-sign get-help" title="The recipe version and revision"></i> 262 <i class="icon-question-sign get-help" title="The recipe version and revision"></i>
263 Target version 263 Recipe version
264 </th> 264 </th>
265 <th class="span4">Summary</th> 265 <th class="span4">Summary</th>
266 <th class="span2">Build target</th> 266 <th class="span2">Build recipe</th>
267 </tr> 267 </tr>
268 </thead> 268 </thead>
269 <tbody> 269 <tbody>
@@ -277,7 +277,7 @@
277 </td> 277 </td>
278 <td>{{target.version}}</td> 278 <td>{{target.version}}</td>
279 <td>{{target.summary}}</td> 279 <td>{{target.summary}}</td>
280 <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> 280 <td><button class="btn btn-block build-target-btn" data-target-name="{{target.name}}" {% if layer_in_project == 0 %}disabled="disabled"{% endif %} >Build recipe</button></td>
281 </tr> 281 </tr>
282 {% endfor %} 282 {% endfor %}
283 </tbody> 283 </tbody>
diff --git a/bitbake/lib/toaster/toastergui/templates/project.html b/bitbake/lib/toaster/toastergui/templates/project.html
index 9d51a57208..5f8f4d1bc7 100644
--- a/bitbake/lib/toaster/toastergui/templates/project.html
+++ b/bitbake/lib/toaster/toastergui/templates/project.html
@@ -104,15 +104,15 @@ vim: expandtab tabstop=2
104 <div class="well"> 104 <div class="well">
105 <form class="build-form" ng-submit="buildNamedTarget()"> 105 <form class="build-form" ng-submit="buildNamedTarget()">
106 <div class="input-append controls"> 106 <div class="input-append controls">
107 <input type="text" class="huge input-xxlarge" placeholder="Type the target(s) you want to build" autocomplete="off" ng-model="targetName" typeahead="e.name for e in getAutocompleteSuggestions('targets', $viewValue)|filter:$viewValue" typeahead-template-url="suggestion_details" ng-disabled="!layers.length"/> 107 <input type="text" class="huge input-xxlarge" placeholder="Type the recipe(s) you want to build" autocomplete="off" ng-model="targetName" typeahead="e.name for e in getAutocompleteSuggestions('targets', $viewValue)|filter:$viewValue" typeahead-template-url="suggestion_details" ng-disabled="!layers.length"/>
108 <button type="submit" class="btn btn-large btn-primary" ng-disabled="!targetName.length"> 108 <button type="submit" class="btn btn-large btn-primary" ng-disabled="!targetName.length">
109 Build 109 Build
110 </button> 110 </button>
111 </div> 111 </div>
112 <i class="icon-question-sign get-help get-help-blue" title="Type the name of one or more targets you want to build, separated by a space. You can also specify a task by appending a semicolon and a task name to a target 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 targets</a> 114 <a href="{% url 'all-targets' %}">View all compatible recipes</a>
115 <i class="icon-question-sign get-help get-help-blue heading-help" title="View all the targets 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>
118 {% endif %} 118 {% endif %}
@@ -309,24 +309,24 @@ vim: expandtab tabstop=2
309 <!-- project targets --> 309 <!-- project targets -->
310 <div id="target-container" class="well well-transparent span4"> 310 <div id="target-container" class="well well-transparent span4">
311 <h3> 311 <h3>
312 Targets 312 Recipes
313 <i class="icon-question-sign get-help heading-help" title="What you build, often a recipe producing a root file system file (an image). Something like <code>core-image-minimal</code> or <code>core-image-sato</code>"></i> 313 <i class="icon-question-sign get-help heading-help" title="What you build, often an image recipe that produces a root file system file. Something like <code>core-image-minimal</code> or <code>core-image-sato</code>"></i>
314 </h3> 314 </h3>
315 <form ng-submit="buildNamedTarget()"> 315 <form ng-submit="buildNamedTarget()">
316 <div class="input-append"> 316 <div class="input-append">
317 <input type="text" class="input-xlarge" placeholder="Type the target(s) you want to build" autocomplete="off" data-minLength="1" ng-model="targetName1" typeahead="e.name for e in getAutocompleteSuggestions('targets', $viewValue)|filter:$viewValue" typeahead-template-url="suggestion_details" ng-disabled="!layers.length"> 317 <input type="text" class="input-xlarge" placeholder="Type the recipe(s) you want to build" autocomplete="off" data-minLength="1" ng-model="targetName1" typeahead="e.name for e in getAutocompleteSuggestions('targets', $viewValue)|filter:$viewValue" typeahead-template-url="suggestion_details" ng-disabled="!layers.length">
318 <button type="submit" class="btn btn-primary" ng-disabled="!targetName1.length"> 318 <button type="submit" class="btn btn-primary" ng-disabled="!targetName1.length">
319 Build </button> 319 Build </button>
320 </div> 320 </div>
321 {% csrf_token %} 321 {% csrf_token %}
322 </form> 322 </form>
323 <p> 323 <p>
324 <a href="{% url 'all-targets' %}">View all compatible targets</a> 324 <a href="{% url 'all-targets' %}">View all compatible recipes</a>
325 <i class="icon-question-sign get-help" title="View all the targets 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">
328 <h4 class="air"> 328 <h4 class="air">
329 Most built targets 329 Most built recipes
330 </h4> 330 </h4>
331 <ul class="unstyled configuration-list {[mutedtargets]}"> 331 <ul class="unstyled configuration-list {[mutedtargets]}">
332 <li ng-repeat="t in frequenttargets"> 332 <li ng-repeat="t in frequenttargets">
@@ -335,7 +335,7 @@ vim: expandtab tabstop=2
335 </label> 335 </label>
336 </li> 336 </li>
337 </ul> 337 </ul>
338 <button class="btn btn-large btn-primary" ng-disabled="enableBuildSelectedTargets()" ng-click="buildSelectedTargets()">Build selected targets</button> 338 <button class="btn btn-large btn-primary" ng-disabled="enableBuildSelectedTargets()" ng-click="buildSelectedTargets()">Build selected recipes</button>
339 </div> 339 </div>
340 </div> 340 </div>
341 341
diff --git a/bitbake/lib/toaster/toastergui/templates/targets.html b/bitbake/lib/toaster/toastergui/templates/targets.html
index 6f59a6cdab..c27292095d 100644
--- a/bitbake/lib/toaster/toastergui/templates/targets.html
+++ b/bitbake/lib/toaster/toastergui/templates/targets.html
@@ -3,20 +3,20 @@
3{% load humanize %} 3{% load humanize %}
4 4
5{% block localbreadcrumb %} 5{% block localbreadcrumb %}
6<li>All compatible targets</li> 6<li>All compatible recipes</li>
7{% endblock %} 7{% endblock %}
8 8
9{% block projectinfomain %} 9{% block projectinfomain %}
10 <div class="page-header"> 10 <div class="page-header">
11 <h1> 11 <h1>
12 {% if request.GET.filter and objects.paginator.count > 0 or request.GET.search and objects.paginator.count > 0 %} 12 {% if request.GET.filter and objects.paginator.count > 0 or request.GET.search and objects.paginator.count > 0 %}
13 {{objects.paginator.count}} target{{objects.paginator.count|pluralize}} found 13 {{objects.paginator.count}} recipe{{objects.paginator.count|pluralize}} found
14 {% elif request.GET.filter and objects.paginator.count == 0 or request.GET.search and objects.paginator.count == 0 %} 14 {% elif request.GET.filter and objects.paginator.count == 0 or request.GET.search and objects.paginator.count == 0 %}
15 No targets found 15 No recipes found
16 {%else%} 16 {%else%}
17 All compatible targets 17 All compatible recipes
18 {%endif%} 18 {%endif%}
19 <i class="icon-question-sign get-help heading-help" title="This page lists all the targets compatible with the release selected for this project, which is {{project.release.description}}"></i> 19 <i class="icon-question-sign get-help heading-help" title="This page lists all the recipes compatible with the release selected for this project, which is {{project.release.description}}"></i>
20 </h1> 20 </h1>
21 </div> 21 </div>
22 22
@@ -31,13 +31,13 @@
31 <form class="no-results input-append" id="searchform"> 31 <form class="no-results input-append" id="searchform">
32 <input id="search" name="search" class="input-xxlarge" type="text" value="{{request.GET.search}}"/>{% if request.GET.search %}<a href="javascript:$('#search').val('');searchform.submit()" class="add-on btn" tabindex="-1"><i class="icon-remove"></i></a>{% endif %} 32 <input id="search" name="search" class="input-xxlarge" type="text" value="{{request.GET.search}}"/>{% if request.GET.search %}<a href="javascript:$('#search').val('');searchform.submit()" class="add-on btn" tabindex="-1"><i class="icon-remove"></i></a>{% endif %}
33 <button class="btn" type="submit" value="Search">Search</button> 33 <button class="btn" type="submit" value="Search">Search</button>
34 <button class="btn btn-link" onclick="javascript:$('#search').val('');searchform.submit()">Show all targets</button> 34 <button class="btn btn-link" onclick="javascript:$('#search').val('');searchform.submit()">Show all recipes</button>
35 </form> 35 </form>
36 </div> 36 </div>
37 </div> 37 </div>
38 {% else %} 38 {% else %}
39 <div class="alert alert-info lead"> 39 <div class="alert alert-info lead">
40 <p>Toaster has no target information. To generate target information you can:</p> 40 <p>Toaster has no recipe information. To generate recipe information you can:</p>
41 <ul> 41 <ul>
42 <li><a href="http://www.yoctoproject.org/docs/latest/toaster-manual/toaster-manual.html#layer-source">Configure a layer source</a></li> 42 <li><a href="http://www.yoctoproject.org/docs/latest/toaster-manual/toaster-manual.html#layer-source">Configure a layer source</a></li>
43 <li><a href="{% url 'importlayer' %}">Import a layer</a>, then run a build</li> 43 <li><a href="{% url 'importlayer' %}">Import a layer</a>, then run a build</li>
@@ -78,7 +78,7 @@
78 <td class="add-layer" value="{{o.pk}}" layerversion_id="{{o.preffered_layerversion.pk}}"> 78 <td class="add-layer" value="{{o.pk}}" layerversion_id="{{o.preffered_layerversion.pk}}">
79 <div id="layer-tooltip-{{o.pk}}" style="display: none; font-size: 11px; line-height: 1.3;" class="tooltip-inner">layer was modified</div> 79 <div id="layer-tooltip-{{o.pk}}" style="display: none; font-size: 11px; line-height: 1.3;" class="tooltip-inner">layer was modified</div>
80 <a href="{% url 'project' project.id %}#/targetbuild={{o.name}}" id="target-build-{{o.pk}}" class="btn btn-block remove-layer" style="display:none;" > 80 <a href="{% url 'project' project.id %}#/targetbuild={{o.name}}" id="target-build-{{o.pk}}" class="btn btn-block remove-layer" style="display:none;" >
81 Build target 81 Build recipe
82 </a> 82 </a>
83 <a id="layer-add-{{o.pk}}" class="btn btn-block" style="display:none;" href="javascript:layerAdd({{o.preffered_layerversion.pk}}, '{{o.preffered_layerversion.layer.name}}', '{%url 'layerdetails' o.preffered_layerversion.pk%}', {{o.pk}})" > 83 <a id="layer-add-{{o.pk}}" class="btn btn-block" style="display:none;" href="javascript:layerAdd({{o.preffered_layerversion.pk}}, '{{o.preffered_layerversion.layer.name}}', '{%url 'layerdetails' o.preffered_layerversion.pk%}', {{o.pk}})" >
84 <i class="icon-plus"></i> 84 <i class="icon-plus"></i>
diff --git a/bitbake/lib/toaster/toastergui/views.py b/bitbake/lib/toaster/toastergui/views.py
index 2f8fb1a8e3..48c65d85be 100755
--- a/bitbake/lib/toaster/toastergui/views.py
+++ b/bitbake/lib/toaster/toastergui/views.py
@@ -2005,8 +2005,8 @@ if toastermain.settings.MANAGED:
2005 ] 2005 ]
2006 } 2006 }
2007 }, 2007 },
2008 {'name': 'Target', # default column, disabled box, with just the name in the list 2008 {'name': 'Recipe', # default column, disabled box, with just the name in the list
2009 'qhelp': "This is the build target or build targets (i.e. one or more recipes or image recipes)", 2009 'qhelp': "What you built (i.e. one or more recipes or image recipes)",
2010 'orderfield': _get_toggle_order(request, "brtarget__target"), 2010 'orderfield': _get_toggle_order(request, "brtarget__target"),
2011 'ordericon':_get_toggle_order_icon(request, "brtarget__target"), 2011 'ordericon':_get_toggle_order_icon(request, "brtarget__target"),
2012 }, 2012 },
@@ -2884,15 +2884,15 @@ if toastermain.settings.MANAGED:
2884 context = { 2884 context = {
2885 'projectlayerset' : jsonfilter(map(lambda x: x.layercommit.id, prj.projectlayer_set.all().select_related("layercommit"))), 2885 'projectlayerset' : jsonfilter(map(lambda x: x.layercommit.id, prj.projectlayer_set.all().select_related("layercommit"))),
2886 'objects' : target_info, 2886 'objects' : target_info,
2887 'objectname' : "targets", 2887 'objectname' : "recipes",
2888 'default_orderby' : 'name:+', 2888 'default_orderby' : 'name:+',
2889 2889
2890 'tablecols' : [ 2890 'tablecols' : [
2891 { 'name': 'Target', 2891 { 'name': 'Recipe',
2892 'orderfield': _get_toggle_order(request, "name"), 2892 'orderfield': _get_toggle_order(request, "name"),
2893 'ordericon' : _get_toggle_order_icon(request, "name"), 2893 'ordericon' : _get_toggle_order_icon(request, "name"),
2894 }, 2894 },
2895 { 'name': 'Target version', 2895 { 'name': 'Recipe version',
2896 'dclass': 'span2', 2896 'dclass': 'span2',
2897 }, 2897 },
2898 { 'name': 'Description', 2898 { 'name': 'Description',
@@ -3316,8 +3316,8 @@ if toastermain.settings.MANAGED:
3316 {'name': 'Last build outcome', 'clclass': 'loutcome', 3316 {'name': 'Last build outcome', 'clclass': 'loutcome',
3317 'qhelp': "Tells you if the last project build completed successfully or failed", 3317 'qhelp': "Tells you if the last project build completed successfully or failed",
3318 }, 3318 },
3319 {'name': 'Target', 'clclass': 'ltarget', 3319 {'name': 'Recipe', 'clclass': 'ltarget',
3320 'qhelp': "The last project build target(s): one or more recipes or image recipes", 3320 'qhelp': "The last recipe that was built in this project",
3321 }, 3321 },
3322 {'name': 'Errors', 'clclass': 'lerrors', 3322 {'name': 'Errors', 'clclass': 'lerrors',
3323 'qhelp': "How many errors were encountered during the last project build (if any)", 3323 'qhelp': "How many errors were encountered during the last project build (if any)",
@@ -3431,8 +3431,8 @@ else:
3431 ] 3431 ]
3432 } 3432 }
3433 }, 3433 },
3434 {'name': 'Target', # default column, disabled box, with just the name in the list 3434 {'name': 'Recipe', # default column, disabled box, with just the name in the list
3435 'qhelp': "This is the build target or build targets (i.e. one or more recipes or image recipes)", 3435 'qhelp': "What you built (i.e. one or more recipes or image recipes)",
3436 'orderfield': _get_toggle_order(request, "target__target"), 3436 'orderfield': _get_toggle_order(request, "target__target"),
3437 'ordericon':_get_toggle_order_icon(request, "target__target"), 3437 'ordericon':_get_toggle_order_icon(request, "target__target"),
3438 }, 3438 },