diff options
Diffstat (limited to 'bitbake/lib/toaster/toastergui/templates/layerdetails.html')
| -rw-r--r-- | bitbake/lib/toaster/toastergui/templates/layerdetails.html | 594 |
1 files changed, 183 insertions, 411 deletions
diff --git a/bitbake/lib/toaster/toastergui/templates/layerdetails.html b/bitbake/lib/toaster/toastergui/templates/layerdetails.html index 7b62b64893..259a59ea0a 100644 --- a/bitbake/lib/toaster/toastergui/templates/layerdetails.html +++ b/bitbake/lib/toaster/toastergui/templates/layerdetails.html | |||
| @@ -36,13 +36,15 @@ | |||
| 36 | projectBuildUrl : "{% url 'xhr_build' %}", | 36 | projectBuildUrl : "{% url 'xhr_build' %}", |
| 37 | layerDetailsUrl : "{% url 'base_layerdetails' project.id %}", | 37 | layerDetailsUrl : "{% url 'base_layerdetails' project.id %}", |
| 38 | xhrUpdateLayerUrl : "{% url 'xhr_updatelayer' %}", | 38 | xhrUpdateLayerUrl : "{% url 'xhr_updatelayer' %}", |
| 39 | numTargets : {{total_targets}}, | ||
| 40 | numMachines: {{machines|length}}, | ||
| 41 | layerVersion : { | 39 | layerVersion : { |
| 42 | name : "{{layerversion.layer.name}}", | 40 | name : "{{layerversion.layer.name}}", |
| 43 | id : {{layerversion.id}}, | 41 | id : {{layerversion.id}}, |
| 44 | commit: "{{layerversion.get_vcs_reference}}", | 42 | commit: "{{layerversion.get_vcs_reference}}", |
| 45 | inCurrentPrj : {{layer_in_project}}, | 43 | {%if layerversion.id in projectlayers %} |
| 44 | inCurrentPrj : true, | ||
| 45 | {% else %} | ||
| 46 | inCurrentPrj : false, | ||
| 47 | {% endif %} | ||
| 46 | url : "{% url 'layerdetails' project.id layerversion.id %}", | 48 | url : "{% url 'layerdetails' project.id layerversion.id %}", |
| 47 | sourceId: {{layerversion.layer_source_id|json}}, | 49 | sourceId: {{layerversion.layer_source_id|json}}, |
| 48 | } | 50 | } |
| @@ -57,437 +59,207 @@ | |||
| 57 | }); | 59 | }); |
| 58 | </script> | 60 | </script> |
| 59 | 61 | ||
| 60 | <div class="row-fluid span11"> | 62 | <div class="row-fluid span11"> |
| 61 | <div class="page-header"> | 63 | <div class="page-header"> |
| 62 | <h1>{{layerversion.layer.name}} <small class="commit" | 64 | <h1>{{layerversion.layer.name}} <small class="commit" |
| 63 | {% if layerversion.get_vcs_reference|length > 13 %} | 65 | {% if layerversion.get_vcs_reference|length > 13 %} |
| 64 | data-toggle="tooltip" title="{{layerversion.get_vcs_reference}}" | 66 | data-toggle="tooltip" title="{{layerversion.get_vcs_reference}}" |
| 65 | {% endif %}> | 67 | {% endif %}> |
| 66 | ({{layerversion.get_vcs_reference|truncatechars:13}})</small></h1> | 68 | ({{layerversion.get_vcs_reference|truncatechars:13}})</small></h1> |
| 67 | </div> | ||
| 68 | </div> | 69 | </div> |
| 70 | </div> | ||
| 69 | 71 | ||
| 70 | <div class="row-fluid span7 tabbable"> | 72 | <!-- container for tabs --> |
| 71 | <div class="alert alert-info lead" id="alert-area" style="display:none"> | 73 | <div class="row-fluid span7 tabbable"> |
| 72 | <button type="button" class="close" id="dismiss-alert">×</button> | 74 | <div class="alert alert-info lead" id="alert-area" style="display:none"> |
| 73 | <span id="alert-msg"></span> | 75 | <button type="button" class="close" id="dismiss-alert">×</button> |
| 74 | </div> | 76 | <span id="alert-msg"></span> |
| 75 | <ul class="nav nav-pills"> | 77 | </div> |
| 76 | <li class="active"> | 78 | <ul class="nav nav-pills"> |
| 77 | <a data-toggle="tab" href="#information" id="details-tab">Layer details</a> | 79 | <li class="active"> |
| 78 | </li> | 80 | <a data-toggle="tab" href="#information" id="details-tab">Layer details</a> |
| 79 | <li> | 81 | </li> |
| 80 | <a data-toggle="tab" href="#targets" id="targets-tab">Recipes ({{total_targets}})</a> | 82 | <li> |
| 81 | </li> | 83 | <a data-toggle="tab" href="#recipes" class="muted" id="targets-tab">Recipes (<span class="table-count-recipestable"></span>)</a> |
| 82 | <li> | 84 | </li> |
| 83 | <a data-toggle="tab" href="#machines" id="machines-tab">Machines ({{total_machines}})</a> | 85 | <li> |
| 84 | </li> | 86 | <a data-toggle="tab" href="#machines" class="muted" id="machines-tab">Machines (<span class="table-count-machinestable"></span>)</a> |
| 85 | </ul> | 87 | </li> |
| 86 | <div class="tab-content"> | 88 | </ul> |
| 87 | <span class="button-place"> | 89 | <div class="tab-content"> |
| 88 | {% if layer_in_project == 0 %} | 90 | <span class="button-place"> |
| 89 | <button id="add-remove-layer-btn" data-directive="add" class="btn btn-large btn-block"> | 91 | {% if layerversion.id not in projectlayers %} |
| 90 | <span class="icon-plus"></span> | 92 | <button id="add-remove-layer-btn" data-directive="add" class="btn btn-large btn-block"> |
| 91 | Add the {{layerversion.layer.name}} layer to your project | 93 | <span class="icon-plus"></span> |
| 92 | </button> | 94 | Add the {{layerversion.layer.name}} layer to your project |
| 93 | {% else %} | 95 | </button> |
| 94 | <button id="add-remove-layer-btn" data-directive="remove" class="btn btn-block btn-large btn-danger"> | 96 | {% else %} |
| 95 | <span class="icon-trash"></span> | 97 | <button id="add-remove-layer-btn" data-directive="remove" class="btn btn-block btn-large btn-danger"> |
| 96 | Delete the {{layerversion.layer.name}} layer from your project | 98 | <span class="icon-trash"></span> |
| 97 | </button> | 99 | Delete the {{layerversion.layer.name}} layer from your project |
| 98 | {% endif %} | 100 | </button> |
| 99 | </span> | 101 | {% endif %} |
| 102 | </span> | ||
| 100 | 103 | ||
| 101 | <!-- layer details pane --> | 104 | <!-- layer details pane --> |
| 102 | <div id="information" class="tab-pane active"> | 105 | <div id="information" class="tab-pane active"> |
| 103 | <dl class="dl-horizontal"> | 106 | <dl class="dl-horizontal"> |
| 104 | <dt class=""> | 107 | <dt class=""> |
| 105 | <i class="icon-question-sign get-help" title="Fetch/clone URL of the repository"></i> | 108 | <i class="icon-question-sign get-help" title="Fetch/clone URL of the repository"></i> |
| 106 | Repository URL | 109 | Repository URL |
| 110 | </dt> | ||
| 111 | <dd> | ||
| 112 | <span class="current-value">{{layerversion.layer.vcs_url}}</span> | ||
| 113 | {% if layerversion.get_vcs_link_url %} | ||
| 114 | <a href="{{layerversion.get_vcs_link_url}}/" class="icon-share get-info" target="_blank"></a> | ||
| 115 | {% endif %} | ||
| 116 | <form id="change-repo-form" class="control-group" style="display:none"> | ||
| 117 | <div class="input-append"> | ||
| 118 | <input type="text" class="input-xlarge" value="{{layerversion.layer.vcs_url}}"> | ||
| 119 | <button data-layer-prop="vcs_url" class="btn change-btn" type="button">Save</button> | ||
| 120 | <a href="#" style="display:none" class="btn btn-link cancel">Cancel</a> | ||
| 121 | </div> | ||
| 122 | </form> | ||
| 123 | <i class="icon-pencil" ></i> | ||
| 124 | </dd> | ||
| 125 | <dt> | ||
| 126 | <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> | ||
| 127 | Repository subdirectory | ||
| 128 | </dt> | ||
| 129 | <dd> | ||
| 130 | <span class="muted" style="display:none">Not set</span> | ||
| 131 | <span class="current-value">{{layerversion.dirpath}}</span> | ||
| 132 | {% if layerversion.get_vcs_dirpath_link_url %} | ||
| 133 | <a href="{{layerversion.get_vcs_dirpath_link_url}}" class="icon-share get-info" target="_blank"></a> | ||
| 134 | {% endif %} | ||
| 135 | <form id="change-subdir-form" style="display:none;"> | ||
| 136 | <div class="input-append"> | ||
| 137 | <input type="text" value="{{layerversion.dirpath}}"> | ||
| 138 | <button data-layer-prop="dirpath" class="btn change-btn" type="button">Save</button> | ||
| 139 | <a href="#" style="display:none" class="btn btn-link cancel">Cancel</a> | ||
| 140 | </div> | ||
| 141 | </form> | ||
| 142 | <i id="change-subdir" class="icon-pencil"></i> | ||
| 143 | <span class="icon-trash delete-current-value" data-toggle="tooltip" title="Delete"></span> | ||
| 144 | </dd> | ||
| 145 | <dt> | ||
| 146 | <i class="icon-question-sign get-help" title="The Git branch, tag or commit"></i> | ||
| 147 | Revision | ||
| 107 | </dt> | 148 | </dt> |
| 108 | <dd> | 149 | <dd> |
| 109 | <span class="current-value">{{layerversion.layer.vcs_url}}</span> | 150 | <span class="current-value">{{layerversion.get_vcs_reference}}</span> |
| 110 | {% if layerversion.get_vcs_link_url %} | 151 | <form style="display:none;"> |
| 111 | <a href="{{layerversion.get_vcs_link_url}}/" class="icon-share get-info" target="_blank"></a> | ||
| 112 | {% endif %} | ||
| 113 | <form id="change-repo-form" class="control-group" style="display:none"> | ||
| 114 | <div class="input-append"> | 152 | <div class="input-append"> |
| 115 | <input type="text" class="input-xlarge" value="{{layerversion.layer.vcs_url}}"> | 153 | <input type="text" value="{{layerversion.get_vcs_reference}}"> |
| 116 | <button data-layer-prop="vcs_url" class="btn change-btn" type="button">Save</button> | 154 | <button data-layer-prop="commit" class="btn change-btn" type="button">Save</button> |
| 117 | <a href="#" style="display:none" class="btn btn-link cancel">Cancel</a> | 155 | <a href="#" style="display:none" class="btn btn-link cancel">Cancel</a> |
| 118 | </div> | 156 | </div> |
| 119 | </form> | 157 | </form> |
| 120 | <i class="icon-pencil" ></i> | 158 | <i class="icon-pencil"></i> |
| 121 | </dd> | 159 | </dd> |
| 122 | <dt> | 160 | <dt> |
| 123 | <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> | 161 | <i class="icon-question-sign get-help" title="Other layers this layer depends upon"></i> |
| 124 | Repository subdirectory | 162 | Layer dependencies |
| 125 | </dt> | 163 | </dt> |
| 126 | <dd> | 164 | <dd> |
| 127 | <span class="muted" style="display:none">Not set</span> | 165 | <ul class="unstyled current-value" id="layer-deps-list"> |
| 128 | <span class="current-value">{{layerversion.dirpath}}</span> | 166 | {% for ld in layerversion.dependencies.all %} |
| 129 | {% if layerversion.get_vcs_dirpath_link_url %} | 167 | <li data-layer-id="{{ld.depends_on.id}}"> |
| 130 | <a href="{{layerversion.get_vcs_dirpath_link_url}}" class="icon-share get-info" target="_blank"></a> | 168 | <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> |
| 131 | {% endif %} | 169 | <span class="icon-trash " data-toggle="tooltip" title="Delete"></span> |
| 132 | <form id="change-subdir-form" style="display:none;"> | 170 | </li> |
| 133 | <div class="input-append"> | 171 | {% endfor %} |
| 134 | <input type="text" value="{{layerversion.dirpath}}"> | 172 | </ul> |
| 135 | <button data-layer-prop="dirpath" class="btn change-btn" type="button">Save</button> | 173 | <div class="input-append add-deps"> |
| 136 | <a href="#" style="display:none" class="btn btn-link cancel">Cancel</a> | 174 | <input type="text" autocomplete="off" data-minLength="1" data-autocomplete="off" placeholder="Type a layer name" id="layer-dep-input"> |
| 137 | </div> | 175 | <a class="btn" id="add-layer-dependency-btn" > |
| 138 | </form> | 176 | Add layer |
| 139 | <i id="change-subdir" class="icon-pencil"></i> | 177 | </a> |
| 140 | <span class="icon-trash delete-current-value" data-toggle="tooltip" title="Delete"></span> | ||
| 141 | </dd> | ||
| 142 | <dt> | ||
| 143 | <i class="icon-question-sign get-help" title="The Git branch, tag or commit"></i> | ||
| 144 | Revision | ||
| 145 | </dt> | ||
| 146 | <dd> | ||
| 147 | <span class="current-value">{{layerversion.get_vcs_reference}}</span> | ||
| 148 | <form style="display:none;"> | ||
| 149 | <div class="input-append"> | ||
| 150 | <input type="text" value="{{layerversion.get_vcs_reference}}"> | ||
| 151 | <button data-layer-prop="commit" class="btn change-btn" type="button">Save</button> | ||
| 152 | <a href="#" style="display:none" class="btn btn-link cancel">Cancel</a> | ||
| 153 | </div> | ||
| 154 | </form> | ||
| 155 | <i class="icon-pencil"></i> | ||
| 156 | </dd> | ||
| 157 | <dt> | ||
| 158 | <i class="icon-question-sign get-help" title="Other layers this layer depends upon"></i> | ||
| 159 | Layer dependencies | ||
| 160 | </dt> | ||
| 161 | <dd> | ||
| 162 | <ul class="unstyled current-value" id="layer-deps-list"> | ||
| 163 | {% for ld in layerversion.dependencies.all %} | ||
| 164 | <li data-layer-id="{{ld.depends_on.id}}"> | ||
| 165 | <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> | ||
| 166 | <span class="icon-trash " data-toggle="tooltip" title="Delete"></span> | ||
| 167 | </li> | ||
| 168 | {% endfor %} | ||
| 169 | </ul> | ||
| 170 | <div class="input-append add-deps"> | ||
| 171 | <input type="text" autocomplete="off" data-minLength="1" data-autocomplete="off" placeholder="Type a layer name" id="layer-dep-input"> | ||
| 172 | <a class="btn" id="add-layer-dependency-btn" > | ||
| 173 | Add layer | ||
| 174 | </a> | ||
| 175 | </div> | ||
| 176 | <span class="help-block add-deps">You can only add layers Toaster knows about</span> | ||
| 177 | </dd> | ||
| 178 | </dl> | ||
| 179 | </div> | ||
| 180 | <!-- targets tab --> | ||
| 181 | <div id="targets" class="tab-pane"> | ||
| 182 | {% if total_targets == 0 %} | ||
| 183 | <div class="alert alert-info"> | ||
| 184 | <p>Toaster does not have recipe information for the <strong> {{layerversion.layer.name}} </strong> layer.</p> | ||
| 185 | <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> | ||
| 186 | </div> | ||
| 187 | {% else %} | ||
| 188 | |||
| 189 | <div class="row-fluid"> | ||
| 190 | |||
| 191 | {% if targets.paginator.count == 0 %} | ||
| 192 | <div class="alert"> | ||
| 193 | <h3>No targets found</h3> | ||
| 194 | {% endif %} | ||
| 195 | |||
| 196 | {# only show the search form if we have more than 10 results #} | ||
| 197 | {% if targets.paginator.count > 10 or request.GET.targets_search %} | ||
| 198 | {% if targets.paginator.count == 0 %} | ||
| 199 | <form class="input-append"> | ||
| 200 | {% else %} | ||
| 201 | <form class="navbar-search input-append pull-left"> | ||
| 202 | {% endif %} | ||
| 203 | |||
| 204 | <input type="text" id="target-search" name="targets_search" placeholder="Search recipes" class="input-xlarge" value="{{request.GET.targets_search}}"> | ||
| 205 | {% if request.GET.targets_search %} | ||
| 206 | <a class="add-on btn target-search-clear"> | ||
| 207 | <i class="icon-remove"></i> | ||
| 208 | </a> | ||
| 209 | {% endif %} | ||
| 210 | <button type="submit" class="btn">Search</button> | ||
| 211 | {% if targets.paginator.count == 0 %} | ||
| 212 | <button type="submit" class="btn btn-link target-search-clear">Show all targets</a> | ||
| 213 | {% endif %} | ||
| 214 | </form> | ||
| 215 | {% endif %} | ||
| 216 | |||
| 217 | {% if targets.paginator.count == 0 %} | ||
| 218 | <!-- end alert --> | ||
| 219 | </div> | ||
| 220 | <!-- end row-fluid --> | ||
| 221 | </div> | ||
| 222 | {% else %} | ||
| 223 | |||
| 224 | {% if total_targets > 10 %} | ||
| 225 | <div class="pull-right"> | ||
| 226 | <span class="help-inline" style="padding-top:5px;">Show rows:</span> | ||
| 227 | <select style="margin-top:5px;margin-bottom:0px;" class="pagesize"> | ||
| 228 | {% with "10 25 50 100 150" as list%} | ||
| 229 | {% for i in list.split %} | ||
| 230 | {% if request.session.limit == i %} | ||
| 231 | <option value="{{i}}" selected>{{i}}</option> | ||
| 232 | {% else %} | ||
| 233 | <option value="{{i}}">{{i}}</option> | ||
| 234 | {% endif %} | ||
| 235 | {% endfor %} | ||
| 236 | {% endwith %} | ||
| 237 | </select> | ||
| 238 | </div> | ||
| 239 | {% endif %} | ||
| 240 | </div> | ||
| 241 | |||
| 242 | <table class="table table-bordered table-hover"> | ||
| 243 | <thead> | ||
| 244 | <tr> | ||
| 245 | <th> | ||
| 246 | <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> | ||
| 247 | Recipe | ||
| 248 | {% if request.GET.targets_search %} | ||
| 249 | <span class="badge badge-info">{{targets.paginator.count}}</span> | ||
| 250 | {% endif %} | ||
| 251 | </th> | ||
| 252 | <th> | ||
| 253 | <i class="icon-question-sign get-help" title="The recipe version and revision"></i> | ||
| 254 | Recipe version | ||
| 255 | </th> | ||
| 256 | <th class="span4">Summary</th> | ||
| 257 | <th class="span2">Build recipe</th> | ||
| 258 | </tr> | ||
| 259 | </thead> | ||
| 260 | <tbody> | ||
| 261 | {% for target in targets %} | ||
| 262 | <tr> | ||
| 263 | <td> | ||
| 264 | {{target.name}} | ||
| 265 | {% if target.up_id %} | ||
| 266 | <a href="{{target.get_layersource_view_url}}" class="icon-share get-info" target="_blank"></a> | ||
| 267 | {% endif %} | ||
| 268 | </td> | ||
| 269 | <td>{{target.version}}</td> | ||
| 270 | <td>{{target.summary}}</td> | ||
| 271 | <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> | ||
| 272 | </tr> | ||
| 273 | {% endfor %} | ||
| 274 | </tbody> | ||
| 275 | </table> | ||
| 276 | |||
| 277 | {% if total_targets > 10 %} | ||
| 278 | <!-- Show pagination controls --> | ||
| 279 | <div class="pagination"> | ||
| 280 | <ul> | ||
| 281 | {%if targets.has_previous %} | ||
| 282 | <li><a href="?tpage={{targets.previous_page_number}}{{request.GET.limit}}#targets">«</a></li> | ||
| 283 | {%else%} | ||
| 284 | <li class="disabled"><a href="#">«</a></li> | ||
| 285 | {%endif%} | ||
| 286 | {% for i in targets.page_range %} | ||
| 287 | <li {%if i == targets.number %} class="active" {%endif%}><a href="?tpage={{i}}#targets">{{i}}</a></li> | ||
| 288 | {% endfor %} | ||
| 289 | {%if targets.has_next%} | ||
| 290 | <li><a href="?tpage={{targets.next_page_number}}#targets">»</a></li> | ||
| 291 | {%else%} | ||
| 292 | <li class="disabled"><a href="#">»</a></li> | ||
| 293 | {%endif%} | ||
| 294 | </ul> | ||
| 295 | <div class="pull-right"> | ||
| 296 | <span class="help-inline" style="padding-bottom:10px;">Show rows:</span> | ||
| 297 | <select class="pagesize"> | ||
| 298 | {% with "10 25 50 100 150" as list%} | ||
| 299 | {% for i in list.split %} | ||
| 300 | {% if request.session.limit == i %} | ||
| 301 | <option value="{{i}}" selected>{{i}}</option> | ||
| 302 | {% else %} | ||
| 303 | <option value="{{i}}">{{i}}</option> | ||
| 304 | {% endif %} | ||
| 305 | {% endfor %} | ||
| 306 | {% endwith %} | ||
| 307 | </select> | ||
| 308 | </div> | ||
| 309 | </div> | ||
| 310 | {% endif %} | ||
| 311 | {% endif %} | ||
| 312 | {% endif %} | ||
| 313 | </div> | ||
| 314 | |||
| 315 | |||
| 316 | <div id="machines" class="tab-pane"> | ||
| 317 | {% if total_machines == 0 %} | ||
| 318 | <div class="alert alert-info"> | ||
| 319 | <p>Toaster does not have machine information for the <strong> {{layerversion.layer.name}} </strong> layer.</p> | ||
| 320 | <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> | ||
| 321 | </div> | 178 | </div> |
| 322 | {% else %} | 179 | <span class="help-block add-deps">You can only add layers Toaster knows about</span> |
| 323 | 180 | </dd> | |
| 324 | <div class="row-fluid"> | 181 | </dl> |
| 325 | 182 | </div> | |
| 326 | {% if machines.paginator.count == 0 %} | 183 | <!-- end layerdetails tab --> |
| 327 | <div class="alert"> | 184 | <!-- targets tab --> |
| 328 | <h3>No machines found</h3> | 185 | <div id="recipes" class="tab-pane"> |
| 329 | {% endif %} | 186 | <!-- Recipe table --> |
| 330 | 187 | <div id="no-recipes-yet" class="alert alert-info" style="display:none"> | |
| 331 | {# only show the search form if we have more than 10 results #} | 188 | <p>Toaster does not have recipe information for the <strong> {{layerversion.layer.name}} </strong> layer.</p> |
| 332 | {% if machines.paginator.count > 10 or request.GET.machines_search %} | 189 | <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> |
| 333 | {% if machines.paginator.count == 0 %} | 190 | </div> |
| 334 | <form class="input-append"> | ||
| 335 | {% else %} | ||
| 336 | <form class="navbar-search input-append pull-left"> | ||
| 337 | {% endif %} | ||
| 338 | 191 | ||
| 339 | <input type="text" id="machine-search" name="machines_search" placeholder="Search machines" class="input-xlarge" value="{{request.GET.machines_search}}"> | ||
| 340 | {% if request.GET.machines_search %} | ||
| 341 | <a class="add-on btn machine-search-clear"> | ||
| 342 | <i class="icon-remove"></i> | ||
| 343 | </a> | ||
| 344 | {% endif %} | ||
| 345 | <button type="submit" class="btn">Search</button> | ||
| 346 | {% if machines.paginator.count == 0 %} | ||
| 347 | <button type="submit" class="btn btn-link machine-search-clear">Show all machines</a> | ||
| 348 | {% endif %} | ||
| 349 | </form> | ||
| 350 | {% endif %} | ||
| 351 | 192 | ||
| 352 | {% if machines.paginator.count == 0 %} | ||
| 353 | <!-- end alert --> | ||
| 354 | </div> | ||
| 355 | <!-- end row-fluid --> | ||
| 356 | </div> | ||
| 357 | 193 | ||
| 358 | {% else %} | 194 | {% url 'layerrecipestable' project.id layerversion.id as xhr_table_url %} |
| 195 | {% with "recipestable" as table_name %} | ||
| 196 | {% with "Recipes" as title %} | ||
| 197 | {% include 'toastertable-simple.html' %} | ||
| 198 | {% endwith %} | ||
| 199 | {% endwith %} | ||
| 200 | </div> | ||
| 359 | 201 | ||
| 360 | {% if total_machines > 10 %} | 202 | <div id="machines" class="tab-pane"> |
| 361 | <div class="pull-right"> | ||
| 362 | <span class="help-inline" style="padding-top:5px;">Show rows:</span> | ||
| 363 | <select style="margin-top:5px;margin-bottom:0px;" class="pagesize"> | ||
| 364 | {% with "10 25 50 100 150" as list%} | ||
| 365 | {% for i in list.split %} | ||
| 366 | {% if request.session.limit == i %} | ||
| 367 | <option value="{{i}}" selected>{{i}}</option> | ||
| 368 | {% else %} | ||
| 369 | <option value="{{i}}">{{i}}</option> | ||
| 370 | {% endif %} | ||
| 371 | {% endfor %} | ||
| 372 | {% endwith %} | ||
| 373 | </select> | ||
| 374 | </div> | ||
| 375 | {% endif %} | ||
| 376 | 203 | ||
| 377 | </div> | 204 | <div id="no-machines-yet" class="alert alert-info" style="display:none"> |
| 205 | <p>Toaster does not have machine information for the <strong> {{layerversion.layer.name}} </strong> layer.</p> | ||
| 206 | <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> | ||
| 207 | </div> | ||
| 378 | 208 | ||
| 379 | <table class="table table-bordered table-hover"> | ||
| 380 | <thead> | ||
| 381 | <tr> | ||
| 382 | <th> | ||
| 383 | <i class="icon-question-sign get-help" title="The machine is the hardware for which you are building"></i> | ||
| 384 | Machine | ||
| 385 | {% if request.GET.machines_search %} | ||
| 386 | <span class="badge badge-info">{{machines.paginator.count}}</span> | ||
| 387 | {% endif %} | ||
| 388 | </th> | ||
| 389 | <th>Description</th> | ||
| 390 | <th class="span2">Select machine</th> | ||
| 391 | </tr> | ||
| 392 | </thead> | ||
| 393 | <tbody> | ||
| 394 | {% for machine in machines %} | ||
| 395 | <tr> | ||
| 396 | <td> | ||
| 397 | {{machine.name}} | ||
| 398 | {% if machine.get_vcs_machine_file_link_url %} | ||
| 399 | <a href="{{machine.get_vcs_machine_file_link_url}}" target="_blank"><i class="icon-share get-info"></i></a> | ||
| 400 | {% endif %} | ||
| 401 | </td> | ||
| 402 | <td>{{machine.description}}</td> | ||
| 403 | <td> | ||
| 404 | <a href="{% url 'project' project.id %}#/machineselect={{machine.name}}" class="btn btn-block select-machine-btn" {% if layer_in_project == 0 %}disabled="disabled"{% endif %}>Select machine</a> | ||
| 405 | </tr> | ||
| 406 | {% endfor %} | ||
| 407 | </tbody> | ||
| 408 | </table> | ||
| 409 | 209 | ||
| 410 | {% if total_machines > 10 %} | 210 | <!-- Machines table --> |
| 411 | <!-- Show pagination controls --> | 211 | {% url 'layermachinestable' project.id layerversion.id as xhr_table_url %} |
| 412 | <div class="pagination"> | 212 | {% with "machinestable" as table_name %} |
| 413 | <ul> | 213 | {% with "Machines" as title %} |
| 414 | {%if machines.has_previous %} | 214 | {% include 'toastertable-simple.html' %} |
| 415 | <li><a href="?mpage={{machines.previous_page_number}}{{request.GET.limit}}#machines">«</a></li> | 215 | {% endwith %} |
| 416 | {%else%} | 216 | {% endwith %} |
| 417 | <li class="disabled"><a href="#">«</a></li> | ||
| 418 | {%endif%} | ||
| 419 | {% for i in machines.page_range %} | ||
| 420 | <li {%if i == machines.number %} class="active" {%endif%}><a href="?mpage={{i}}#machines">{{i}}</a></li> | ||
| 421 | {% endfor %} | ||
| 422 | {%if machines.has_next%} | ||
| 423 | <li><a href="?mpage={{machines.next_page_number}}#machines">»</a></li> | ||
| 424 | {%else%} | ||
| 425 | <li class="disabled"><a href="#">»</a></li> | ||
| 426 | {%endif%} | ||
| 427 | </ul> | ||
| 428 | <div class="pull-right"> | ||
| 429 | <span class="help-inline" style="padding-bottom:10px;">Show rows:</span> | ||
| 430 | <select class="pagesize"> | ||
| 431 | {% with "10 25 50 100 150" as list%} | ||
| 432 | {% for i in list.split %} | ||
| 433 | {% if request.session.limit == i %} | ||
| 434 | <option value="{{i}}" selected>{{i}}</option> | ||
| 435 | {% else %} | ||
| 436 | <option value="{{i}}">{{i}}</option> | ||
| 437 | {% endif %} | ||
| 438 | {% endfor %} | ||
| 439 | {% endwith %} | ||
| 440 | </select> | ||
| 441 | </div> | ||
| 442 | </div> | ||
| 443 | {% endif %} | ||
| 444 | {% endif %} | ||
| 445 | {% endif %} | ||
| 446 | </div> | ||
| 447 | </div> | ||
| 448 | </div> | 217 | </div> |
| 449 | <div class="row-fluid span4 well"> | 218 | </div> <!-- end tab content --> |
| 450 | <h2>About {{layerversion.layer.name}}</h2> | 219 | </div> <!-- end tabable --> |
| 451 | <dl class="item-info"> | ||
| 452 | 220 | ||
| 453 | <dt> | 221 | <div class="row-fluid span4 well"> <!-- info side panel --> |
| 454 | Summary | 222 | <h2>About {{layerversion.layer.name}}</h2> |
| 455 | <i class="icon-question-sign get-help" title="One-line description of the layer"></i> | 223 | <dl class="item-info"> |
| 456 | </dt> | ||
| 457 | <dd> | ||
| 458 | <span class="muted" style="display:none">Not set</span> | ||
| 459 | <span class="current-value">{{layerversion.layer.summary|default_if_none:''}}</span> | ||
| 460 | <form style="display:none; margin-bottom:20px"> | ||
| 461 | <textarea class="span12" rows="2">{% if layerversion.layer.summary %}{{layerversion.layer.summary}}{% endif %}</textarea> | ||
| 462 | <button class="btn change-btn" data-layer-prop="summary" type="button">Save</button> | ||
| 463 | <a href="#" class="btn btn-link cancel">Cancel</a> | ||
| 464 | </form> | ||
| 465 | <i class="icon-pencil"></i> | ||
| 466 | <span class="icon-trash delete-current-value" data-toggle="tooltip" title="Delete"></span> | ||
| 467 | </dd> | ||
| 468 | <dt> | ||
| 469 | Description | ||
| 470 | </dt> | ||
| 471 | <dd> | ||
| 472 | <span class="muted" style="display:none">Not set</span> | ||
| 473 | <span class="current-value">{{layerversion.layer.description|default_if_none:''}}</span> | ||
| 474 | <form style="display:none; margin-bottom:20px"> | ||
| 475 | <textarea class="span12" rows="6">{% if layerversion.layer.description %}{{layerversion.layer.description}}{% endif %}</textarea> | ||
| 476 | <button class="btn change-btn" data-layer-prop="description" type="button" >Save</button> | ||
| 477 | <a href="#" class="btn btn-link cancel">Cancel</a> | ||
| 478 | </form> | ||
| 479 | <i class="icon-pencil"></i> | ||
| 480 | <span class="icon-trash delete-current-value" data-toggle="tooltip" title="Delete"></span> | ||
| 481 | </dd> | ||
| 482 | {% if layerversion.layer.up_id %} | ||
| 483 | <dt>Layer index</dt> | ||
| 484 | <dd> | ||
| 485 | <a href="http://layers.openembedded.org/layerindex/branch/{{layerversion.up_branch.name}}/layer/{{layerversion.layer.name}}"/>layer index link</a> | ||
| 486 | 224 | ||
| 487 | </dd> | 225 | <dt> |
| 488 | {% endif %} | 226 | Summary |
| 227 | <i class="icon-question-sign get-help" title="One-line description of the layer"></i> | ||
| 228 | </dt> | ||
| 229 | <dd> | ||
| 230 | <span class="muted" style="display:none">Not set</span> | ||
| 231 | <span class="current-value">{{layerversion.layer.summary|default_if_none:''}}</span> | ||
| 232 | <form style="display:none; margin-bottom:20px"> | ||
| 233 | <textarea class="span12" rows="2">{% if layerversion.layer.summary %}{{layerversion.layer.summary}}{% endif %}</textarea> | ||
| 234 | <button class="btn change-btn" data-layer-prop="summary" type="button">Save</button> | ||
| 235 | <a href="#" class="btn btn-link cancel">Cancel</a> | ||
| 236 | </form> | ||
| 237 | <i class="icon-pencil"></i> | ||
| 238 | <span class="icon-trash delete-current-value" data-toggle="tooltip" title="Delete"></span> | ||
| 239 | </dd> | ||
| 240 | <dt> | ||
| 241 | Description | ||
| 242 | </dt> | ||
| 243 | <dd> | ||
| 244 | <span class="muted" style="display:none">Not set</span> | ||
| 245 | <span class="current-value">{{layerversion.layer.description|default_if_none:''}}</span> | ||
| 246 | <form style="display:none; margin-bottom:20px"> | ||
| 247 | <textarea class="span12" rows="6">{% if layerversion.layer.description %}{{layerversion.layer.description}}{% endif %}</textarea> | ||
| 248 | <button class="btn change-btn" data-layer-prop="description" type="button" >Save</button> | ||
| 249 | <a href="#" class="btn btn-link cancel">Cancel</a> | ||
| 250 | </form> | ||
| 251 | <i class="icon-pencil"></i> | ||
| 252 | <span class="icon-trash delete-current-value" data-toggle="tooltip" title="Delete"></span> | ||
| 253 | </dd> | ||
| 254 | {% if layerversion.layer.up_id %} | ||
| 255 | <dt>Layer index</dt> | ||
| 256 | <dd> | ||
| 257 | <a href="http://layers.openembedded.org/layerindex/branch/{{layerversion.up_branch.name}}/layer/{{layerversion.layer.name}}">layer index link</a> | ||
| 258 | |||
| 259 | </dd> | ||
| 260 | {% endif %} | ||
| 489 | 261 | ||
| 490 | </dl> | 262 | </dl> |
| 491 | </div> | 263 | </div> |
| 492 | 264 | ||
| 493 | {% endblock %} | 265 | {% endblock %} |
