{% load i18n %} /* * This file contains functions for rendering various InvenTree database models, * in particular for displaying them in modal forms in a 'select2' context. * * Each renderer is provided with three arguments: * * - name: The 'name' of the model instance in the referring model * - data: JSON data which represents the model instance. Returned via a GET request. * - parameters: The field parameters provided via an OPTIONS request to the endpoint. * - options: User options provided by the client */ // Renderer for "Company" model function renderCompany(name, data, parameters, options) { var html = `${data.name} - ${data.description}`; html += `{% trans "Company ID" %}: ${data.pk}`; return html; } // Renderer for "StockItem" model function renderStockItem(name, data, parameters, options) { var image = data.part_detail.thumbnail || data.part_detail.image; if (!image) { image = `/static/img/blank_image.png`; } var html = ``; html += ` ${data.part_detail.full_name || data.part_detail.name}`; if (data.serial && data.quantity == 1) { html += ` - {% trans "Serial Number" %}: ${data.serial}`; } else { html += ` - {% trans "Quantity" %}: ${data.quantity}`; } if (data.part_detail.description) { html += `

${data.part_detail.description}

`; } return html; } // Renderer for "StockLocation" model function renderStockLocation(name, data, parameters, options) { var html = `${data.name}`; if (data.description) { html += ` - ${data.description}`; } html += `{% trans "Location ID" %}: ${data.pk}`; if (data.pathstring) { html += `

${data.pathstring}

`; } return html; } // Renderer for "Part" model function renderPart(name, data, parameters, options) { var image = data.image; if (!image) { image = `/static/img/blank_image.png`; } var html = ``; html += ` ${data.full_name || data.name}`; if (data.description) { html += ` - ${data.description}`; } html += `{% trans "Part ID" %}: ${data.pk}`; return html; } // Renderer for "Owner" model function renderOwner(name, data, parameters, options) { var html = `${data.name}`; switch (data.label) { case 'user': html += ``; break; case 'group': html += ``; break; default: break; } return html; } // Renderer for "PartCategory" model function renderPartCategory(name, data, parameters, options) { var html = `${data.name}`; if (data.description) { html += ` - ${data.description}`; } html += `{% trans "Category ID" %}: ${data.pk}`; if (data.pathstring) { html += `

${data.pathstring}

`; } return html; } // Rendered for "SupplierPart" model function renderSupplierPart(name, data, parameters, options) { var image = data.supplier_detail.image; if (!image) { image = `/static/img/blank_image.png`; } var html = ``; html += ` ${data.supplier_detail.name} - ${data.SKU}`; html += ` - ${data.part_detail.full_name}`; html += `{% trans "Supplier Part ID" %}: ${data.pk}`; return html; }