mirror of
https://github.com/inventree/InvenTree
synced 2024-08-30 18:33:04 +00:00
Merge pull request #644 from SchrodingersGat/supplier-part-tabs
Supplier part tabs
This commit is contained in:
commit
f03f6c4386
@ -1,172 +0,0 @@
|
||||
{% extends "base.html" %}
|
||||
{% load static %}
|
||||
{% load i18n %}
|
||||
|
||||
{% block page_title %}
|
||||
InvenTree | {{ company.name }} - {% trans "Parts" %}
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
<div class='row'>
|
||||
<div class='col-sm-6'>
|
||||
<h3>{% trans "Supplier Part" %}</h3>
|
||||
<div class='btn-row'>
|
||||
<div class='btn-group'>
|
||||
<button type='button' class='btn btn-default btn-glyph' id='edit-part' title='Edit supplier part'>
|
||||
<span class='glyphicon glyphicon-edit'/>
|
||||
</button>
|
||||
<button type='button' class='btn btn-default btn-glyph' id='delete-part' title='Delete supplier part'>
|
||||
<span class='glyphicon glyphicon-trash'/>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class='col-sm-6'>
|
||||
<div class='media-left'>
|
||||
<img class='part-thumb'
|
||||
{% if part.part.image %}
|
||||
src='{{ part.part.image.url }}'
|
||||
{% else %}
|
||||
src="{% static 'img/blank_image.png' %}"
|
||||
{% endif %}/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<hr>
|
||||
|
||||
<div class='row'>
|
||||
<div class='col-sm-6'>
|
||||
<h4>{% trans "Supplier Part Details" %}</h4>
|
||||
<table class="table table-striped table-condensed">
|
||||
<tr>
|
||||
<td>{% trans "Internal Part" %}</td>
|
||||
<td>
|
||||
{% if part.part %}
|
||||
<a href="{% url 'part-suppliers' part.part.id %}">{{ part.part.full_name }}</a>
|
||||
{% endif %}
|
||||
</td>
|
||||
</tr>
|
||||
<tr><td>{% trans "Supplier" %}</td><td><a href="{% url 'company-detail-parts' part.supplier.id %}">{{ part.supplier.name }}</a></td></tr>
|
||||
<tr><td>{% trans "SKU" %}</td><td>{{ part.SKU }}</tr></tr>
|
||||
{% if part.URL %}
|
||||
<tr><td>{% trans "URL" %}</td><td><a href="{{ part.URL }}">{{ part.URL }}</a></td></tr>
|
||||
{% endif %}
|
||||
{% if part.description %}
|
||||
<tr><td>{% trans "Description" %}</td><td>{{ part.description }}</td></tr>
|
||||
{% endif %}
|
||||
{% if part.manufacturer %}
|
||||
<tr><td>{% trans "Manufacturer" %}</td><td>{{ part.manufacturer }}</td></tr>
|
||||
<tr><td>{% trans "MPN" %}</td><td>{{ part.MPN }}</td></tr>
|
||||
{% endif %}
|
||||
{% if part.note %}
|
||||
<tr><td>{% trans "Note" %}</td><td>{{ part.note }}</td></tr>
|
||||
{% endif %}
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div class='col-sm-6'>
|
||||
<h4>{% trans "Pricing Information" %}</h4>
|
||||
<table class="table table-striped table-condensed">
|
||||
<tr><td>{% trans "Order Multiple" %}</td><td>{{ part.multiple }}</td></tr>
|
||||
{% if part.base_cost > 0 %}
|
||||
<tr><td>{% trans "Base Price (Flat Fee)" %}</td><td>{{ part.base_cost }}</td></tr>
|
||||
{% endif %}
|
||||
<tr>
|
||||
<th>{% trans "Price Breaks" %}</th>
|
||||
<th>
|
||||
<div style='float: right;'>
|
||||
<button class='btn btn-primary' id='new-price-break' type='button'>{% trans "New Price Break" %}</button>
|
||||
</div>
|
||||
</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>{% trans "Quantity" %}</th>
|
||||
<th>{% trans "Price" %}</th>
|
||||
</tr>
|
||||
{% if part.price_breaks.all %}
|
||||
{% for pb in part.price_breaks.all %}
|
||||
<tr>
|
||||
<td>{{ pb.quantity }}</td>
|
||||
<td>
|
||||
{% if pb.currency %}{{ pb.currency.symbol }}{% endif %}
|
||||
{{ pb.cost }}
|
||||
{% if pb.currency %}{{ pb.currency.suffix }}{% endif %}
|
||||
<div class='btn-group' style='float: right;'>
|
||||
<button title='Edit Price Break' class='btn btn-default btn-sm pb-edit-button' type='button' url="{% url 'price-break-edit' pb.id %}"><span class='glyphicon glyphicon-edit'></span></button>
|
||||
<button title='Delete Price Break' class='btn btn-default btn-sm pb-delete-button' type='button' url="{% url 'price-break-delete' pb.id %}"><span class='glyphicon glyphicon-trash'></span></button>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
{% else %}
|
||||
<tr>
|
||||
<td colspan='2'>
|
||||
<span class='warning-msg'><i>{% trans "No price breaks have been added for this part" %}</i></span>
|
||||
</td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<hr>
|
||||
|
||||
<h4>{% trans "Purchase Orders" %}</h4>
|
||||
{% include "order/po_table.html" with orders=part.purchase_orders %}
|
||||
|
||||
{% endblock %}
|
||||
|
||||
{% block js_ready %}
|
||||
{{ block.super }}
|
||||
$('#edit-part').click(function () {
|
||||
launchModalForm(
|
||||
"{% url 'supplier-part-edit' part.id %}",
|
||||
{
|
||||
reload: true
|
||||
}
|
||||
);
|
||||
});
|
||||
|
||||
$('#delete-part').click(function() {
|
||||
launchModalForm(
|
||||
"{% url 'supplier-part-delete' %}?part={{ part.id }}",
|
||||
{
|
||||
redirect: "{% url 'company-detail-parts' part.supplier.id %}"
|
||||
}
|
||||
);
|
||||
});
|
||||
|
||||
$('#new-price-break').click(function() {
|
||||
launchModalForm("{% url 'price-break-create' %}",
|
||||
{
|
||||
reload: true,
|
||||
data: {
|
||||
part: {{ part.id }},
|
||||
}
|
||||
}
|
||||
);
|
||||
});
|
||||
|
||||
$('.pb-edit-button').click(function() {
|
||||
var button = $(this);
|
||||
|
||||
launchModalForm(button.attr('url'),
|
||||
{
|
||||
reload: true,
|
||||
}
|
||||
);
|
||||
});
|
||||
|
||||
$('.pb-delete-button').click(function() {
|
||||
var button = $(this);
|
||||
|
||||
launchModalForm(button.attr('url'),
|
||||
{
|
||||
reload: true,
|
||||
}
|
||||
);
|
||||
});
|
||||
|
||||
{% endblock %}
|
68
InvenTree/company/templates/company/supplier_part_base.html
Normal file
68
InvenTree/company/templates/company/supplier_part_base.html
Normal file
@ -0,0 +1,68 @@
|
||||
{% extends "base.html" %}
|
||||
{% load static %}
|
||||
{% load i18n %}
|
||||
|
||||
{% block page_title %}
|
||||
InvenTree | {% trans "Supplier Part" %}
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
<div class='row'>
|
||||
<div class='col-sm-6'>
|
||||
<h3>{% trans "Supplier Part" %}</h3>
|
||||
<div class='btn-row'>
|
||||
<div class='btn-group'>
|
||||
<button type='button' class='btn btn-default btn-glyph' id='edit-part' title='Edit supplier part'>
|
||||
<span class='glyphicon glyphicon-edit'/>
|
||||
</button>
|
||||
<button type='button' class='btn btn-default btn-glyph' id='delete-part' title='Delete supplier part'>
|
||||
<span class='glyphicon glyphicon-trash'/>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class='col-sm-6'>
|
||||
<div class='media-left'>
|
||||
<img class='part-thumb'
|
||||
{% if part.part.image %}
|
||||
src='{{ part.part.image.url }}'
|
||||
{% else %}
|
||||
src="{% static 'img/blank_image.png' %}"
|
||||
{% endif %}/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<hr>
|
||||
|
||||
<div class='container-fluid'>
|
||||
{% block details %}
|
||||
<!-- Particular SupplierPart page goes here ... -->
|
||||
{% endblock %}
|
||||
</div>
|
||||
|
||||
{% endblock %}
|
||||
|
||||
{% block js_ready %}
|
||||
{{ block.super }}
|
||||
|
||||
$('#edit-part').click(function () {
|
||||
launchModalForm(
|
||||
"{% url 'supplier-part-edit' part.id %}",
|
||||
{
|
||||
reload: true
|
||||
}
|
||||
);
|
||||
});
|
||||
|
||||
$('#delete-part').click(function() {
|
||||
launchModalForm(
|
||||
"{% url 'supplier-part-delete' %}?part={{ part.id }}",
|
||||
{
|
||||
redirect: "{% url 'company-detail-parts' part.supplier.id %}"
|
||||
}
|
||||
);
|
||||
});
|
||||
|
||||
{% endblock %}
|
@ -0,0 +1,44 @@
|
||||
{% extends "company/supplier_part_base.html" %}
|
||||
{% load static %}
|
||||
{% load i18n %}
|
||||
|
||||
{% block details %}
|
||||
|
||||
{% include "company/supplier_part_tabs.html" with tab='details' %}
|
||||
|
||||
<hr>
|
||||
|
||||
<h4>{% trans "Supplier Part Details" %}</h4>
|
||||
<table class="table table-striped table-condensed">
|
||||
<tr>
|
||||
<td>{% trans "Internal Part" %}</td>
|
||||
<td>
|
||||
{% if part.part %}
|
||||
<a href="{% url 'part-suppliers' part.part.id %}">{{ part.part.full_name }}</a>
|
||||
{% endif %}
|
||||
</td>
|
||||
</tr>
|
||||
<tr><td>{% trans "Supplier" %}</td><td><a href="{% url 'company-detail-parts' part.supplier.id %}">{{ part.supplier.name }}</a></td></tr>
|
||||
<tr><td>{% trans "SKU" %}</td><td>{{ part.SKU }}</tr></tr>
|
||||
{% if part.URL %}
|
||||
<tr><td>{% trans "URL" %}</td><td><a href="{{ part.URL }}">{{ part.URL }}</a></td></tr>
|
||||
{% endif %}
|
||||
{% if part.description %}
|
||||
<tr><td>{% trans "Description" %}</td><td>{{ part.description }}</td></tr>
|
||||
{% endif %}
|
||||
{% if part.manufacturer %}
|
||||
<tr><td>{% trans "Manufacturer" %}</td><td>{{ part.manufacturer }}</td></tr>
|
||||
<tr><td>{% trans "MPN" %}</td><td>{{ part.MPN }}</td></tr>
|
||||
{% endif %}
|
||||
{% if part.note %}
|
||||
<tr><td>{% trans "Note" %}</td><td>{{ part.note }}</td></tr>
|
||||
{% endif %}
|
||||
</table>
|
||||
|
||||
{% endblock %}
|
||||
|
||||
{% block js_ready %}
|
||||
{{ block.super }}
|
||||
|
||||
|
||||
{% endblock %}
|
@ -0,0 +1,31 @@
|
||||
{% extends "company/supplier_part_base.html" %}
|
||||
{% load static %}
|
||||
{% load i18n %}
|
||||
|
||||
{% block details %}
|
||||
|
||||
{% include "company/supplier_part_tabs.html" with tab='orders' %}
|
||||
|
||||
<hr>
|
||||
|
||||
<h4>{% trans "Supplier Part Orders" %}</h4>
|
||||
|
||||
<div id='button-bar'>
|
||||
<div class='btn-group'>
|
||||
<button class='btn btn-primary' type='button' id='part-order2' title='Order part'>Order Part</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<table class='table table-striped table-condensed po-table' id='purchase-order-table' data-toolbar='#button-bar'>
|
||||
</table>
|
||||
|
||||
{% endblock %}
|
||||
|
||||
{% block js_ready %}
|
||||
{{ block.super }}
|
||||
|
||||
loadPurchaseOrderTable($("#purchase-order-table"), {
|
||||
url: "{% url 'api-po-list' %}?supplier_part={{ part.id }}",
|
||||
});
|
||||
|
||||
{% endblock %}
|
@ -0,0 +1,92 @@
|
||||
{% extends "company/supplier_part_base.html" %}
|
||||
{% load static %}
|
||||
{% load i18n %}
|
||||
{% load inventree_extras %}
|
||||
|
||||
{% block details %}
|
||||
|
||||
{% include "company/supplier_part_tabs.html" with tab='pricing' %}
|
||||
|
||||
<hr>
|
||||
|
||||
<h4>{% trans "Pricing Information" %}</h4>
|
||||
<table class="table table-striped table-condensed">
|
||||
<tr><td>{% trans "Order Multiple" %}</td><td>{{ part.multiple }}</td></tr>
|
||||
{% if part.base_cost > 0 %}
|
||||
<tr><td>{% trans "Base Price (Flat Fee)" %}</td><td>{{ part.base_cost }}</td></tr>
|
||||
{% endif %}
|
||||
<tr>
|
||||
<th>{% trans "Price Breaks" %}</th>
|
||||
<th>
|
||||
<div style='float: right;'>
|
||||
<button class='btn btn-primary' id='new-price-break' type='button'>{% trans "New Price Break" %}</button>
|
||||
</div>
|
||||
</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>{% trans "Quantity" %}</th>
|
||||
<th>{% trans "Price" %}</th>
|
||||
</tr>
|
||||
{% if part.price_breaks.all %}
|
||||
{% for pb in part.price_breaks.all %}
|
||||
<tr>
|
||||
<td>{% decimal pb.quantity %}</td>
|
||||
<td>
|
||||
{% if pb.currency %}{{ pb.currency.symbol }}{% endif %}
|
||||
{% decimal pb.cost %}
|
||||
{% if pb.currency %}{{ pb.currency.suffix }}{% endif %}
|
||||
<div class='btn-group' style='float: right;'>
|
||||
<button title='Edit Price Break' class='btn btn-default btn-sm pb-edit-button' type='button' url="{% url 'price-break-edit' pb.id %}"><span class='glyphicon glyphicon-edit'></span></button>
|
||||
<button title='Delete Price Break' class='btn btn-default btn-sm pb-delete-button' type='button' url="{% url 'price-break-delete' pb.id %}"><span class='glyphicon glyphicon-trash'></span></button>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
{% else %}
|
||||
<tr>
|
||||
<td colspan='2'>
|
||||
<span class='warning-msg'><i>{% trans "No price breaks have been added for this part" %}</i></span>
|
||||
</td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
</table>
|
||||
|
||||
{% endblock %}
|
||||
|
||||
{% block js_ready %}
|
||||
{{ block.super }}
|
||||
|
||||
|
||||
|
||||
$('#new-price-break').click(function() {
|
||||
launchModalForm("{% url 'price-break-create' %}",
|
||||
{
|
||||
reload: true,
|
||||
data: {
|
||||
part: {{ part.id }},
|
||||
}
|
||||
}
|
||||
);
|
||||
});
|
||||
|
||||
$('.pb-edit-button').click(function() {
|
||||
var button = $(this);
|
||||
|
||||
launchModalForm(button.attr('url'),
|
||||
{
|
||||
reload: true,
|
||||
}
|
||||
);
|
||||
});
|
||||
|
||||
$('.pb-delete-button').click(function() {
|
||||
var button = $(this);
|
||||
|
||||
launchModalForm(button.attr('url'),
|
||||
{
|
||||
reload: true,
|
||||
}
|
||||
);
|
||||
});
|
||||
|
||||
{% endblock %}
|
72
InvenTree/company/templates/company/supplier_part_stock.html
Normal file
72
InvenTree/company/templates/company/supplier_part_stock.html
Normal file
@ -0,0 +1,72 @@
|
||||
{% extends "company/supplier_part_base.html" %}
|
||||
{% load static %}
|
||||
{% load i18n %}
|
||||
|
||||
{% block details %}
|
||||
|
||||
{% include "company/supplier_part_tabs.html" with tab='stock' %}
|
||||
|
||||
<hr>
|
||||
|
||||
<h4>{% trans "Supplier Part Stock" %}</h4>
|
||||
|
||||
{% include "stock_table.html" %}
|
||||
|
||||
{% endblock %}
|
||||
|
||||
{% block js_load %}
|
||||
{{ block.super }}
|
||||
<script type='text/javascript' src="{% static 'script/inventree/stock.js' %}"></script>
|
||||
{% endblock %}
|
||||
|
||||
{% block js_ready %}
|
||||
{{ block.super }}
|
||||
|
||||
loadStockTable($("#stock-table"), {
|
||||
params: {
|
||||
supplier_part: {{ part.id }},
|
||||
location_detail: true,
|
||||
part_detail: true,
|
||||
},
|
||||
groupByField: 'location',
|
||||
buttons: ['#stock-options'],
|
||||
url: "{% url 'api-stock-list' %}",
|
||||
});
|
||||
|
||||
$("#stock-export").click(function() {
|
||||
launchModalForm("{% url 'stock-export-options' %}", {
|
||||
submit_text: '{% trans "Export" %}',
|
||||
success: function(response) {
|
||||
var url = "{% url 'stock-export' %}";
|
||||
|
||||
url += "?format=" + response.format;
|
||||
url += "&cascade=" + response.cascade;
|
||||
url += "&supplier_part={{ part.id }}";
|
||||
|
||||
location.href = url;
|
||||
},
|
||||
});
|
||||
});
|
||||
|
||||
$("#item-create").click(function() {
|
||||
launchModalForm("{% url 'stock-item-create' %}", {
|
||||
reload: true,
|
||||
data: {
|
||||
part: {{ part.part.id }},
|
||||
supplier_part: {{ part.id }},
|
||||
},
|
||||
secondary: [
|
||||
{
|
||||
field: 'location',
|
||||
label: '{% trans "New Location" %}',
|
||||
title: '{% trans "Create New Location" %}',
|
||||
url: "{% url 'stock-location-create' %}",
|
||||
}
|
||||
]
|
||||
});
|
||||
|
||||
return false;
|
||||
});
|
||||
|
||||
|
||||
{% endblock %}
|
16
InvenTree/company/templates/company/supplier_part_tabs.html
Normal file
16
InvenTree/company/templates/company/supplier_part_tabs.html
Normal file
@ -0,0 +1,16 @@
|
||||
{% load i18n %}
|
||||
|
||||
<ul class='nav nav-tabs'>
|
||||
<li{% if tab == 'details' %} class='active'{% endif %}>
|
||||
<a href="{% url 'supplier-part-detail' part.id %}">{% trans "Details" %}</a>
|
||||
</li>
|
||||
<li{% if tab == 'pricing' %} class='active'{% endif %}>
|
||||
<a href="{% url 'supplier-part-pricing' part.id %}">{% trans "Pricing" %}</a>
|
||||
</li>
|
||||
<li{% if tab == 'stock' %} class='active'{% endif %}>
|
||||
<a href="{% url 'supplier-part-stock' part.id %}">{% trans "Stock" %}</a>
|
||||
</li>
|
||||
<li {% if tab == 'orders' %} class='active'{% endif %}>
|
||||
<a href="{% url 'supplier-part-orders' part.id %}">{% trans "Orders" %}</a>
|
||||
</li>
|
||||
</ul>
|
@ -47,7 +47,11 @@ price_break_urls = [
|
||||
]
|
||||
|
||||
supplier_part_detail_urls = [
|
||||
url(r'edit/?', views.SupplierPartEdit.as_view(), name='supplier-part-edit'),
|
||||
url(r'^edit/?', views.SupplierPartEdit.as_view(), name='supplier-part-edit'),
|
||||
|
||||
url(r'^pricing/', views.SupplierPartDetail.as_view(template_name='company/supplier_part_pricing.html'), name='supplier-part-pricing'),
|
||||
url(r'^orders/', views.SupplierPartDetail.as_view(template_name='company/supplier_part_orders.html'), name='supplier-part-orders'),
|
||||
url(r'^stock/', views.SupplierPartDetail.as_view(template_name='company/supplier_part_stock.html'), name='supplier-part-stock'),
|
||||
|
||||
url('^.*$', views.SupplierPartDetail.as_view(), name='supplier-part-detail'),
|
||||
]
|
||||
|
@ -149,7 +149,7 @@ class CompanyDelete(AjaxDeleteView):
|
||||
class SupplierPartDetail(DetailView):
|
||||
""" Detail view for SupplierPart """
|
||||
model = SupplierPart
|
||||
template_name = 'company/partdetail.html'
|
||||
template_name = 'company/supplier_part_detail.html'
|
||||
context_object_name = 'part'
|
||||
queryset = SupplierPart.objects.all()
|
||||
|
||||
|
@ -6,7 +6,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-02-11 23:25+0000\n"
|
||||
"POT-Creation-Date: 2020-02-12 00:31+0000\n"
|
||||
"PO-Revision-Date: 2020-02-02 08:07+0100\n"
|
||||
"Last-Translator: Christian Schlüter <chschlue@gmail.com>\n"
|
||||
"Language-Team: C <kde-i18n-doc@kde.org>\n"
|
||||
@ -254,7 +254,7 @@ msgstr "Teile bestellen"
|
||||
|
||||
#: build/templates/build/allocate_view.html:18
|
||||
#: company/templates/company/index.html:54
|
||||
#: company/templates/company/partdetail.html:57
|
||||
#: company/templates/company/supplier_part_detail.html:27
|
||||
#: order/templates/order/purchase_order_detail.html:26
|
||||
#: part/templates/part/detail.html:33
|
||||
msgid "Description"
|
||||
@ -281,7 +281,7 @@ msgid "Title"
|
||||
msgstr "Titel"
|
||||
|
||||
#: build/templates/build/detail.html:20
|
||||
#: company/templates/company/partdetail.html:85
|
||||
#: company/templates/company/supplier_part_pricing.html:27
|
||||
#: order/templates/order/purchase_order_detail.html:29
|
||||
#: stock/templates/stock/item_base.html:90
|
||||
#: stock/templates/stock/stock_adjust.html:18
|
||||
@ -308,7 +308,7 @@ msgstr "Los"
|
||||
|
||||
#: build/templates/build/detail.html:42
|
||||
#: company/templates/company/detail_part.html:90
|
||||
#: company/templates/company/partdetail.html:54
|
||||
#: company/templates/company/supplier_part_detail.html:24
|
||||
#: part/templates/part/detail.html:50 part/templates/part/part_base.html:81
|
||||
#: stock/templates/stock/item_base.html:120
|
||||
msgid "URL"
|
||||
@ -351,8 +351,9 @@ msgstr "Speichern"
|
||||
msgid "Edit notes"
|
||||
msgstr "Bermerkungen bearbeiten"
|
||||
|
||||
#: build/templates/build/tabs.html:5 company/templates/company/tabs.html:5
|
||||
#: part/templates/part/tabs.html:6
|
||||
#: build/templates/build/tabs.html:5
|
||||
#: company/templates/company/supplier_part_tabs.html:5
|
||||
#: company/templates/company/tabs.html:5 part/templates/part/tabs.html:6
|
||||
msgid "Details"
|
||||
msgstr "Details"
|
||||
|
||||
@ -438,7 +439,7 @@ msgstr "Bau-Fertigstellung bestätigen"
|
||||
msgid "Invalid location selected"
|
||||
msgstr "Ungültige Teileauswahl"
|
||||
|
||||
#: build/views.py:290 stock/views.py:884
|
||||
#: build/views.py:290 stock/views.py:916
|
||||
#, python-brace-format
|
||||
msgid "The following serial numbers already exist: ({sn})"
|
||||
msgstr "Die folgende Seriennummer existiert bereits: ({sn})"
|
||||
@ -600,7 +601,7 @@ msgid "Supplier stock keeping unit"
|
||||
msgstr "Stock Keeping Units (SKU) des Zulieferers"
|
||||
|
||||
#: company/models.py:240 company/templates/company/detail_part.html:81
|
||||
#: company/templates/company/partdetail.html:60
|
||||
#: company/templates/company/supplier_part_detail.html:30
|
||||
msgid "Manufacturer"
|
||||
msgstr "Hersteller"
|
||||
|
||||
@ -662,7 +663,7 @@ msgstr "Kunde"
|
||||
|
||||
#: company/templates/company/detail.html:17
|
||||
#: company/templates/company/index.html:46
|
||||
#: company/templates/company/partdetail.html:51
|
||||
#: company/templates/company/supplier_part_detail.html:21
|
||||
#: order/templates/order/order_base.html:67
|
||||
#: stock/templates/stock/item_base.html:126
|
||||
msgid "Supplier"
|
||||
@ -674,12 +675,13 @@ msgid "Supplier Parts"
|
||||
msgstr "Zulieferer-Teile"
|
||||
|
||||
#: company/templates/company/detail_part.html:13
|
||||
#: part/templates/part/stock.html:81
|
||||
#, fuzzy
|
||||
#| msgid "Supplier Part"
|
||||
msgid "New Supplier Part"
|
||||
msgstr "Zulieferer-Teil"
|
||||
|
||||
#: company/templates/company/detail_part.html:15
|
||||
#: company/templates/company/detail_part.html:15 templates/stock_table.html:10
|
||||
msgid "Options"
|
||||
msgstr ""
|
||||
|
||||
@ -690,12 +692,11 @@ msgid "Delete Parts"
|
||||
msgstr "Anhang löschen"
|
||||
|
||||
#: company/templates/company/detail_part.html:73
|
||||
#: company/templates/company/partdetail.html:52
|
||||
#: company/templates/company/supplier_part_detail.html:22
|
||||
msgid "SKU"
|
||||
msgstr ""
|
||||
|
||||
#: company/templates/company/detail_purchase_orders.html:8
|
||||
#: company/templates/company/partdetail.html:116
|
||||
#: company/templates/company/tabs.html:15 part/templates/part/tabs.html:43
|
||||
msgid "Purchase Orders"
|
||||
msgstr "Bestellungen"
|
||||
@ -713,6 +714,8 @@ msgid "Supplier Stock"
|
||||
msgstr "Zulieferer-Teil"
|
||||
|
||||
#: company/templates/company/detail_stock.html:33
|
||||
#: company/templates/company/supplier_part_stock.html:38
|
||||
#: part/templates/part/stock.html:53 templates/stock_table.html:5
|
||||
msgid "Export"
|
||||
msgstr ""
|
||||
|
||||
@ -733,10 +736,8 @@ msgstr "Zulieferer"
|
||||
msgid "ID"
|
||||
msgstr ""
|
||||
|
||||
#: company/templates/company/index.html:69
|
||||
#: company/templates/company/partdetail.html:6
|
||||
#: part/templates/part/category.html:73 templates/navbar.html:10
|
||||
#: templates/stats.html:7 templates/stats.html:10
|
||||
#: company/templates/company/index.html:69 part/templates/part/category.html:73
|
||||
#: templates/navbar.html:10 templates/stats.html:7 templates/stats.html:10
|
||||
msgid "Parts"
|
||||
msgstr "Teile"
|
||||
|
||||
@ -750,71 +751,112 @@ msgid "Are you sure you want to delete the following Supplier Parts?"
|
||||
msgstr ""
|
||||
"Sind Sie sicher, dass sie die folgenden Zulieferer-Teile löschen möchten?"
|
||||
|
||||
#: company/templates/company/partdetail.html:13
|
||||
#: company/templates/company/supplier_part_base.html:6
|
||||
#: company/templates/company/supplier_part_base.html:13
|
||||
#: stock/templates/stock/item_base.html:130
|
||||
msgid "Supplier Part"
|
||||
msgstr "Zulieferer-Teil"
|
||||
|
||||
#: company/templates/company/partdetail.html:41
|
||||
#: company/templates/company/supplier_part_detail.html:11
|
||||
#, fuzzy
|
||||
#| msgid "Supplier Parts"
|
||||
msgid "Supplier Part Details"
|
||||
msgstr "Zulieferer-Teile"
|
||||
|
||||
#: company/templates/company/partdetail.html:44
|
||||
#: company/templates/company/supplier_part_detail.html:14
|
||||
#, fuzzy
|
||||
#| msgid "Internal Part Number"
|
||||
msgid "Internal Part"
|
||||
msgstr "Interne Teilenummer"
|
||||
|
||||
#: company/templates/company/partdetail.html:61
|
||||
#: company/templates/company/supplier_part_detail.html:31
|
||||
#, fuzzy
|
||||
#| msgid "IPN"
|
||||
msgid "MPN"
|
||||
msgstr "IPN (Interne Produktnummer)"
|
||||
|
||||
#: company/templates/company/partdetail.html:64
|
||||
#: company/templates/company/supplier_part_detail.html:34
|
||||
#: order/templates/order/purchase_order_detail.html:33
|
||||
msgid "Note"
|
||||
msgstr "Notiz"
|
||||
|
||||
#: company/templates/company/partdetail.html:70
|
||||
#: company/templates/company/supplier_part_orders.html:11
|
||||
#, fuzzy
|
||||
#| msgid "Supplier Parts"
|
||||
msgid "Supplier Part Orders"
|
||||
msgstr "Zulieferer-Teile"
|
||||
|
||||
#: company/templates/company/supplier_part_pricing.html:12
|
||||
#, fuzzy
|
||||
#| msgid "Show pricing information"
|
||||
msgid "Pricing Information"
|
||||
msgstr "Kosteninformationen ansehen"
|
||||
|
||||
#: company/templates/company/partdetail.html:72
|
||||
#: company/templates/company/supplier_part_pricing.html:14
|
||||
#, fuzzy
|
||||
#| msgid "Order notes"
|
||||
msgid "Order Multiple"
|
||||
msgstr "Bestell-Notizen"
|
||||
|
||||
#: company/templates/company/partdetail.html:74
|
||||
#: company/templates/company/supplier_part_pricing.html:16
|
||||
msgid "Base Price (Flat Fee)"
|
||||
msgstr ""
|
||||
|
||||
#: company/templates/company/partdetail.html:77
|
||||
#: company/templates/company/supplier_part_pricing.html:19
|
||||
msgid "Price Breaks"
|
||||
msgstr ""
|
||||
|
||||
#: company/templates/company/partdetail.html:80
|
||||
#: company/templates/company/supplier_part_pricing.html:22
|
||||
msgid "New Price Break"
|
||||
msgstr ""
|
||||
|
||||
#: company/templates/company/partdetail.html:86
|
||||
#: company/templates/company/supplier_part_pricing.html:28
|
||||
msgid "Price"
|
||||
msgstr ""
|
||||
|
||||
#: company/templates/company/partdetail.html:106
|
||||
#: company/templates/company/supplier_part_pricing.html:48
|
||||
msgid "No price breaks have been added for this part"
|
||||
msgstr ""
|
||||
|
||||
#: company/templates/company/supplier_part_stock.html:11
|
||||
#, fuzzy
|
||||
#| msgid "Supplier part"
|
||||
msgid "Supplier Part Stock"
|
||||
msgstr "Zulieferer-Teil"
|
||||
|
||||
#: company/templates/company/supplier_part_stock.html:61
|
||||
#: part/templates/part/stock.html:90
|
||||
#, fuzzy
|
||||
#| msgid "Location"
|
||||
msgid "New Location"
|
||||
msgstr "Standort"
|
||||
|
||||
#: company/templates/company/supplier_part_stock.html:62
|
||||
#: part/templates/part/stock.html:91
|
||||
#, fuzzy
|
||||
#| msgid "Create new Stock Location"
|
||||
msgid "Create New Location"
|
||||
msgstr "Neuen Lager-Standort erstellen"
|
||||
|
||||
#: company/templates/company/supplier_part_tabs.html:8
|
||||
#, fuzzy
|
||||
#| msgid "Part packaging"
|
||||
msgid "Pricing"
|
||||
msgstr "Teile-Packaging"
|
||||
|
||||
#: company/templates/company/supplier_part_tabs.html:11
|
||||
#: company/templates/company/tabs.html:12 part/templates/part/tabs.html:17
|
||||
#: templates/navbar.html:11
|
||||
msgid "Stock"
|
||||
msgstr "Lagerbestand"
|
||||
|
||||
#: company/templates/company/supplier_part_tabs.html:14
|
||||
#: templates/navbar.html:14
|
||||
#, fuzzy
|
||||
#| msgid "On Order"
|
||||
msgid "Orders"
|
||||
msgstr "bestellt"
|
||||
|
||||
#: company/templates/company/tabs.html:21
|
||||
msgid "Sales Orders"
|
||||
msgstr "Bestellungen"
|
||||
@ -871,7 +913,7 @@ msgstr "Firmenadresse"
|
||||
msgid "Edit Supplier Part"
|
||||
msgstr "Zulieferer-Teil"
|
||||
|
||||
#: company/views.py:179
|
||||
#: company/views.py:179 part/templates/part/stock.html:82
|
||||
#, fuzzy
|
||||
#| msgid "Supplier Part"
|
||||
msgid "Create new Supplier Part"
|
||||
@ -1547,6 +1589,18 @@ msgstr "Teil auswählen"
|
||||
msgid "Upload new image"
|
||||
msgstr ""
|
||||
|
||||
#: part/templates/part/stock.html:75
|
||||
#, fuzzy
|
||||
#| msgid "Part"
|
||||
msgid "New Part"
|
||||
msgstr "Teil"
|
||||
|
||||
#: part/templates/part/stock.html:76
|
||||
#, fuzzy
|
||||
#| msgid "Create new Stock Item"
|
||||
msgid "Create New Part"
|
||||
msgstr "Neues Lagerobjekt hinzufügen"
|
||||
|
||||
#: part/templates/part/tabs.html:9
|
||||
msgid "Parameters"
|
||||
msgstr "Parameter"
|
||||
@ -2041,135 +2095,135 @@ msgstr "QR-Code für diesen Standort"
|
||||
msgid "Stock Export Options"
|
||||
msgstr "Lagerbestandsexportoptionen"
|
||||
|
||||
#: stock/views.py:264
|
||||
#: stock/views.py:278
|
||||
msgid "Stock Item QR Code"
|
||||
msgstr "Lagerobjekt-QR-Code"
|
||||
|
||||
#: stock/views.py:287
|
||||
#: stock/views.py:301
|
||||
msgid "Adjust Stock"
|
||||
msgstr "Lagerbestand anpassen"
|
||||
|
||||
#: stock/views.py:396
|
||||
#: stock/views.py:410
|
||||
msgid "Move Stock Items"
|
||||
msgstr "Lagerobjekte bewegen"
|
||||
|
||||
#: stock/views.py:397
|
||||
#: stock/views.py:411
|
||||
msgid "Count Stock Items"
|
||||
msgstr "Lagerobjekte zählen"
|
||||
|
||||
#: stock/views.py:398
|
||||
#: stock/views.py:412
|
||||
msgid "Remove From Stock"
|
||||
msgstr "Aus Lagerbestand entfernen"
|
||||
|
||||
#: stock/views.py:399
|
||||
#: stock/views.py:413
|
||||
msgid "Add Stock Items"
|
||||
msgstr "Lagerobjekte hinzufügen"
|
||||
|
||||
#: stock/views.py:400
|
||||
#: stock/views.py:414
|
||||
msgid "Delete Stock Items"
|
||||
msgstr "Lagerobjekte löschen"
|
||||
|
||||
#: stock/views.py:428
|
||||
#: stock/views.py:442
|
||||
msgid "Must enter integer value"
|
||||
msgstr "Nur Ganzzahl eingeben"
|
||||
|
||||
#: stock/views.py:433
|
||||
#: stock/views.py:447
|
||||
msgid "Quantity must be positive"
|
||||
msgstr "Anzahl muss positiv sein"
|
||||
|
||||
#: stock/views.py:440
|
||||
#: stock/views.py:454
|
||||
#, python-brace-format
|
||||
msgid "Quantity must not exceed {x}"
|
||||
msgstr "Anzahl darf {x} nicht überschreiten"
|
||||
|
||||
#: stock/views.py:448
|
||||
#: stock/views.py:462
|
||||
msgid "Confirm stock adjustment"
|
||||
msgstr "Bestands-Anpassung bestätigen"
|
||||
|
||||
#: stock/views.py:519
|
||||
#: stock/views.py:533
|
||||
#, python-brace-format
|
||||
msgid "Added stock to {n} items"
|
||||
msgstr "Vorrat zu {n} Lagerobjekten hinzugefügt"
|
||||
|
||||
#: stock/views.py:534
|
||||
#: stock/views.py:548
|
||||
#, python-brace-format
|
||||
msgid "Removed stock from {n} items"
|
||||
msgstr "Vorrat von {n} Lagerobjekten entfernt"
|
||||
|
||||
#: stock/views.py:547
|
||||
#: stock/views.py:561
|
||||
#, python-brace-format
|
||||
msgid "Counted stock for {n} items"
|
||||
msgstr "Bestand für {n} Objekte erfasst"
|
||||
|
||||
#: stock/views.py:575
|
||||
#: stock/views.py:589
|
||||
msgid "No items were moved"
|
||||
msgstr "Keine Lagerobjekte wurden bewegt"
|
||||
|
||||
#: stock/views.py:578
|
||||
#: stock/views.py:592
|
||||
#, python-brace-format
|
||||
msgid "Moved {n} items to {dest}"
|
||||
msgstr "{n} Teile nach {dest} bewegt"
|
||||
|
||||
#: stock/views.py:597
|
||||
#: stock/views.py:611
|
||||
#, python-brace-format
|
||||
msgid "Deleted {n} stock items"
|
||||
msgstr "{n} Teile im Lager gelöscht"
|
||||
|
||||
#: stock/views.py:609
|
||||
#: stock/views.py:623
|
||||
msgid "Edit Stock Item"
|
||||
msgstr "Lagerobjekt bearbeiten"
|
||||
|
||||
#: stock/views.py:645
|
||||
#: stock/views.py:659
|
||||
msgid "Create new Stock Location"
|
||||
msgstr "Neuen Lager-Standort erstellen"
|
||||
|
||||
#: stock/views.py:666
|
||||
#: stock/views.py:680
|
||||
msgid "Serialize Stock"
|
||||
msgstr "Lagerbestand erfassen"
|
||||
|
||||
#: stock/views.py:746
|
||||
#: stock/views.py:760
|
||||
msgid "Create new Stock Item"
|
||||
msgstr "Neues Lagerobjekt hinzufügen"
|
||||
|
||||
#: stock/views.py:810
|
||||
#: stock/views.py:824
|
||||
msgid "Copy Stock Item"
|
||||
msgstr "Lagerobjekt kopieren"
|
||||
|
||||
#: stock/views.py:860
|
||||
#: stock/views.py:892
|
||||
msgid "Invalid quantity"
|
||||
msgstr "Ungültige Menge"
|
||||
|
||||
#: stock/views.py:863
|
||||
#: stock/views.py:895
|
||||
msgid "Invalid part selection"
|
||||
msgstr "Ungültige Teileauswahl"
|
||||
|
||||
#: stock/views.py:910
|
||||
#: stock/views.py:942
|
||||
#, fuzzy, python-brace-format
|
||||
#| msgid "Created new stock item"
|
||||
msgid "Created {n} new stock items"
|
||||
msgstr "Neues Lagerobjekt erstellt"
|
||||
|
||||
#: stock/views.py:927 stock/views.py:940
|
||||
#: stock/views.py:959 stock/views.py:972
|
||||
msgid "Created new stock item"
|
||||
msgstr "Neues Lagerobjekt erstellt"
|
||||
|
||||
#: stock/views.py:957
|
||||
#: stock/views.py:989
|
||||
msgid "Delete Stock Location"
|
||||
msgstr "Standort löschen"
|
||||
|
||||
#: stock/views.py:970
|
||||
#: stock/views.py:1002
|
||||
msgid "Delete Stock Item"
|
||||
msgstr "Lagerobjekt löschen"
|
||||
|
||||
#: stock/views.py:981
|
||||
#: stock/views.py:1013
|
||||
msgid "Delete Stock Tracking Entry"
|
||||
msgstr "Lagerbestands-Tracking-Eintrag löschen"
|
||||
|
||||
#: stock/views.py:998
|
||||
#: stock/views.py:1030
|
||||
msgid "Edit Stock Tracking Entry"
|
||||
msgstr "Lagerbestands-Tracking-Eintrag bearbeiten"
|
||||
|
||||
#: stock/views.py:1007
|
||||
#: stock/views.py:1039
|
||||
msgid "Add Stock Tracking Entry"
|
||||
msgstr "Lagerbestands-Tracking-Eintrag hinzufügen"
|
||||
|
||||
@ -2207,12 +2261,6 @@ msgstr "InvenTree-Dokumentation"
|
||||
msgid "View Code on GitHub"
|
||||
msgstr "Code auf GitHub ansehen"
|
||||
|
||||
#: templates/navbar.html:14
|
||||
#, fuzzy
|
||||
#| msgid "On Order"
|
||||
msgid "Orders"
|
||||
msgstr "bestellt"
|
||||
|
||||
#: templates/navbar.html:23
|
||||
msgid "Admin"
|
||||
msgstr ""
|
||||
@ -2240,3 +2288,45 @@ msgstr ""
|
||||
#| msgid "Status"
|
||||
msgid "Statistics"
|
||||
msgstr "Status"
|
||||
|
||||
#: templates/stock_table.html:7
|
||||
#, fuzzy
|
||||
#| msgid "Stock Item"
|
||||
msgid "New Stock Item"
|
||||
msgstr "Lagerobjekt"
|
||||
|
||||
#: templates/stock_table.html:12
|
||||
#, fuzzy
|
||||
#| msgid "Add Stock Items"
|
||||
msgid "Add stock"
|
||||
msgstr "Lagerobjekte hinzufügen"
|
||||
|
||||
#: templates/stock_table.html:13
|
||||
#, fuzzy
|
||||
#| msgid "Remove From Stock"
|
||||
msgid "Remove stock"
|
||||
msgstr "Aus Lagerbestand entfernen"
|
||||
|
||||
#: templates/stock_table.html:14
|
||||
#, fuzzy
|
||||
#| msgid "Count Stock Items"
|
||||
msgid "Count stock"
|
||||
msgstr "Lagerobjekte zählen"
|
||||
|
||||
#: templates/stock_table.html:15
|
||||
#, fuzzy
|
||||
#| msgid "Move Stock Items"
|
||||
msgid "Move stock"
|
||||
msgstr "Lagerobjekte bewegen"
|
||||
|
||||
#: templates/stock_table.html:16
|
||||
#, fuzzy
|
||||
#| msgid "On Order"
|
||||
msgid "Order stock"
|
||||
msgstr "bestellt"
|
||||
|
||||
#: templates/stock_table.html:17
|
||||
#, fuzzy
|
||||
#| msgid "Delete Stock Item"
|
||||
msgid "Delete Stock"
|
||||
msgstr "Lagerobjekt löschen"
|
||||
|
@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-02-11 23:25+0000\n"
|
||||
"POT-Creation-Date: 2020-02-12 00:31+0000\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
@ -250,7 +250,7 @@ msgstr ""
|
||||
|
||||
#: build/templates/build/allocate_view.html:18
|
||||
#: company/templates/company/index.html:54
|
||||
#: company/templates/company/partdetail.html:57
|
||||
#: company/templates/company/supplier_part_detail.html:27
|
||||
#: order/templates/order/purchase_order_detail.html:26
|
||||
#: part/templates/part/detail.html:33
|
||||
msgid "Description"
|
||||
@ -274,7 +274,7 @@ msgid "Title"
|
||||
msgstr ""
|
||||
|
||||
#: build/templates/build/detail.html:20
|
||||
#: company/templates/company/partdetail.html:85
|
||||
#: company/templates/company/supplier_part_pricing.html:27
|
||||
#: order/templates/order/purchase_order_detail.html:29
|
||||
#: stock/templates/stock/item_base.html:90
|
||||
#: stock/templates/stock/stock_adjust.html:18
|
||||
@ -301,7 +301,7 @@ msgstr ""
|
||||
|
||||
#: build/templates/build/detail.html:42
|
||||
#: company/templates/company/detail_part.html:90
|
||||
#: company/templates/company/partdetail.html:54
|
||||
#: company/templates/company/supplier_part_detail.html:24
|
||||
#: part/templates/part/detail.html:50 part/templates/part/part_base.html:81
|
||||
#: stock/templates/stock/item_base.html:120
|
||||
msgid "URL"
|
||||
@ -344,8 +344,9 @@ msgstr ""
|
||||
msgid "Edit notes"
|
||||
msgstr ""
|
||||
|
||||
#: build/templates/build/tabs.html:5 company/templates/company/tabs.html:5
|
||||
#: part/templates/part/tabs.html:6
|
||||
#: build/templates/build/tabs.html:5
|
||||
#: company/templates/company/supplier_part_tabs.html:5
|
||||
#: company/templates/company/tabs.html:5 part/templates/part/tabs.html:6
|
||||
msgid "Details"
|
||||
msgstr ""
|
||||
|
||||
@ -415,7 +416,7 @@ msgstr ""
|
||||
msgid "Invalid location selected"
|
||||
msgstr ""
|
||||
|
||||
#: build/views.py:290 stock/views.py:884
|
||||
#: build/views.py:290 stock/views.py:916
|
||||
#, python-brace-format
|
||||
msgid "The following serial numbers already exist: ({sn})"
|
||||
msgstr ""
|
||||
@ -561,7 +562,7 @@ msgid "Supplier stock keeping unit"
|
||||
msgstr ""
|
||||
|
||||
#: company/models.py:240 company/templates/company/detail_part.html:81
|
||||
#: company/templates/company/partdetail.html:60
|
||||
#: company/templates/company/supplier_part_detail.html:30
|
||||
msgid "Manufacturer"
|
||||
msgstr ""
|
||||
|
||||
@ -621,7 +622,7 @@ msgstr ""
|
||||
|
||||
#: company/templates/company/detail.html:17
|
||||
#: company/templates/company/index.html:46
|
||||
#: company/templates/company/partdetail.html:51
|
||||
#: company/templates/company/supplier_part_detail.html:21
|
||||
#: order/templates/order/order_base.html:67
|
||||
#: stock/templates/stock/item_base.html:126
|
||||
msgid "Supplier"
|
||||
@ -633,10 +634,11 @@ msgid "Supplier Parts"
|
||||
msgstr ""
|
||||
|
||||
#: company/templates/company/detail_part.html:13
|
||||
#: part/templates/part/stock.html:81
|
||||
msgid "New Supplier Part"
|
||||
msgstr ""
|
||||
|
||||
#: company/templates/company/detail_part.html:15
|
||||
#: company/templates/company/detail_part.html:15 templates/stock_table.html:10
|
||||
msgid "Options"
|
||||
msgstr ""
|
||||
|
||||
@ -645,12 +647,11 @@ msgid "Delete Parts"
|
||||
msgstr ""
|
||||
|
||||
#: company/templates/company/detail_part.html:73
|
||||
#: company/templates/company/partdetail.html:52
|
||||
#: company/templates/company/supplier_part_detail.html:22
|
||||
msgid "SKU"
|
||||
msgstr ""
|
||||
|
||||
#: company/templates/company/detail_purchase_orders.html:8
|
||||
#: company/templates/company/partdetail.html:116
|
||||
#: company/templates/company/tabs.html:15 part/templates/part/tabs.html:43
|
||||
msgid "Purchase Orders"
|
||||
msgstr ""
|
||||
@ -664,6 +665,8 @@ msgid "Supplier Stock"
|
||||
msgstr ""
|
||||
|
||||
#: company/templates/company/detail_stock.html:33
|
||||
#: company/templates/company/supplier_part_stock.html:38
|
||||
#: part/templates/part/stock.html:53 templates/stock_table.html:5
|
||||
msgid "Export"
|
||||
msgstr ""
|
||||
|
||||
@ -680,10 +683,8 @@ msgstr ""
|
||||
msgid "ID"
|
||||
msgstr ""
|
||||
|
||||
#: company/templates/company/index.html:69
|
||||
#: company/templates/company/partdetail.html:6
|
||||
#: part/templates/part/category.html:73 templates/navbar.html:10
|
||||
#: templates/stats.html:7 templates/stats.html:10
|
||||
#: company/templates/company/index.html:69 part/templates/part/category.html:73
|
||||
#: templates/navbar.html:10 templates/stats.html:7 templates/stats.html:10
|
||||
msgid "Parts"
|
||||
msgstr ""
|
||||
|
||||
@ -696,61 +697,90 @@ msgstr ""
|
||||
msgid "Are you sure you want to delete the following Supplier Parts?"
|
||||
msgstr ""
|
||||
|
||||
#: company/templates/company/partdetail.html:13
|
||||
#: company/templates/company/supplier_part_base.html:6
|
||||
#: company/templates/company/supplier_part_base.html:13
|
||||
#: stock/templates/stock/item_base.html:130
|
||||
msgid "Supplier Part"
|
||||
msgstr ""
|
||||
|
||||
#: company/templates/company/partdetail.html:41
|
||||
#: company/templates/company/supplier_part_detail.html:11
|
||||
msgid "Supplier Part Details"
|
||||
msgstr ""
|
||||
|
||||
#: company/templates/company/partdetail.html:44
|
||||
#: company/templates/company/supplier_part_detail.html:14
|
||||
msgid "Internal Part"
|
||||
msgstr ""
|
||||
|
||||
#: company/templates/company/partdetail.html:61
|
||||
#: company/templates/company/supplier_part_detail.html:31
|
||||
msgid "MPN"
|
||||
msgstr ""
|
||||
|
||||
#: company/templates/company/partdetail.html:64
|
||||
#: company/templates/company/supplier_part_detail.html:34
|
||||
#: order/templates/order/purchase_order_detail.html:33
|
||||
msgid "Note"
|
||||
msgstr ""
|
||||
|
||||
#: company/templates/company/partdetail.html:70
|
||||
#: company/templates/company/supplier_part_orders.html:11
|
||||
msgid "Supplier Part Orders"
|
||||
msgstr ""
|
||||
|
||||
#: company/templates/company/supplier_part_pricing.html:12
|
||||
msgid "Pricing Information"
|
||||
msgstr ""
|
||||
|
||||
#: company/templates/company/partdetail.html:72
|
||||
#: company/templates/company/supplier_part_pricing.html:14
|
||||
msgid "Order Multiple"
|
||||
msgstr ""
|
||||
|
||||
#: company/templates/company/partdetail.html:74
|
||||
#: company/templates/company/supplier_part_pricing.html:16
|
||||
msgid "Base Price (Flat Fee)"
|
||||
msgstr ""
|
||||
|
||||
#: company/templates/company/partdetail.html:77
|
||||
#: company/templates/company/supplier_part_pricing.html:19
|
||||
msgid "Price Breaks"
|
||||
msgstr ""
|
||||
|
||||
#: company/templates/company/partdetail.html:80
|
||||
#: company/templates/company/supplier_part_pricing.html:22
|
||||
msgid "New Price Break"
|
||||
msgstr ""
|
||||
|
||||
#: company/templates/company/partdetail.html:86
|
||||
#: company/templates/company/supplier_part_pricing.html:28
|
||||
msgid "Price"
|
||||
msgstr ""
|
||||
|
||||
#: company/templates/company/partdetail.html:106
|
||||
#: company/templates/company/supplier_part_pricing.html:48
|
||||
msgid "No price breaks have been added for this part"
|
||||
msgstr ""
|
||||
|
||||
#: company/templates/company/supplier_part_stock.html:11
|
||||
msgid "Supplier Part Stock"
|
||||
msgstr ""
|
||||
|
||||
#: company/templates/company/supplier_part_stock.html:61
|
||||
#: part/templates/part/stock.html:90
|
||||
msgid "New Location"
|
||||
msgstr ""
|
||||
|
||||
#: company/templates/company/supplier_part_stock.html:62
|
||||
#: part/templates/part/stock.html:91
|
||||
msgid "Create New Location"
|
||||
msgstr ""
|
||||
|
||||
#: company/templates/company/supplier_part_tabs.html:8
|
||||
msgid "Pricing"
|
||||
msgstr ""
|
||||
|
||||
#: company/templates/company/supplier_part_tabs.html:11
|
||||
#: company/templates/company/tabs.html:12 part/templates/part/tabs.html:17
|
||||
#: templates/navbar.html:11
|
||||
msgid "Stock"
|
||||
msgstr ""
|
||||
|
||||
#: company/templates/company/supplier_part_tabs.html:14
|
||||
#: templates/navbar.html:14
|
||||
msgid "Orders"
|
||||
msgstr ""
|
||||
|
||||
#: company/templates/company/tabs.html:21
|
||||
msgid "Sales Orders"
|
||||
msgstr ""
|
||||
@ -791,7 +821,7 @@ msgstr ""
|
||||
msgid "Edit Supplier Part"
|
||||
msgstr ""
|
||||
|
||||
#: company/views.py:179
|
||||
#: company/views.py:179 part/templates/part/stock.html:82
|
||||
msgid "Create new Supplier Part"
|
||||
msgstr ""
|
||||
|
||||
@ -1437,6 +1467,14 @@ msgstr ""
|
||||
msgid "Upload new image"
|
||||
msgstr ""
|
||||
|
||||
#: part/templates/part/stock.html:75
|
||||
msgid "New Part"
|
||||
msgstr ""
|
||||
|
||||
#: part/templates/part/stock.html:76
|
||||
msgid "Create New Part"
|
||||
msgstr ""
|
||||
|
||||
#: part/templates/part/tabs.html:9
|
||||
msgid "Parameters"
|
||||
msgstr ""
|
||||
@ -1868,134 +1906,134 @@ msgstr ""
|
||||
msgid "Stock Export Options"
|
||||
msgstr ""
|
||||
|
||||
#: stock/views.py:264
|
||||
#: stock/views.py:278
|
||||
msgid "Stock Item QR Code"
|
||||
msgstr ""
|
||||
|
||||
#: stock/views.py:287
|
||||
#: stock/views.py:301
|
||||
msgid "Adjust Stock"
|
||||
msgstr ""
|
||||
|
||||
#: stock/views.py:396
|
||||
#: stock/views.py:410
|
||||
msgid "Move Stock Items"
|
||||
msgstr ""
|
||||
|
||||
#: stock/views.py:397
|
||||
#: stock/views.py:411
|
||||
msgid "Count Stock Items"
|
||||
msgstr ""
|
||||
|
||||
#: stock/views.py:398
|
||||
#: stock/views.py:412
|
||||
msgid "Remove From Stock"
|
||||
msgstr ""
|
||||
|
||||
#: stock/views.py:399
|
||||
#: stock/views.py:413
|
||||
msgid "Add Stock Items"
|
||||
msgstr ""
|
||||
|
||||
#: stock/views.py:400
|
||||
#: stock/views.py:414
|
||||
msgid "Delete Stock Items"
|
||||
msgstr ""
|
||||
|
||||
#: stock/views.py:428
|
||||
#: stock/views.py:442
|
||||
msgid "Must enter integer value"
|
||||
msgstr ""
|
||||
|
||||
#: stock/views.py:433
|
||||
#: stock/views.py:447
|
||||
msgid "Quantity must be positive"
|
||||
msgstr ""
|
||||
|
||||
#: stock/views.py:440
|
||||
#: stock/views.py:454
|
||||
#, python-brace-format
|
||||
msgid "Quantity must not exceed {x}"
|
||||
msgstr ""
|
||||
|
||||
#: stock/views.py:448
|
||||
#: stock/views.py:462
|
||||
msgid "Confirm stock adjustment"
|
||||
msgstr ""
|
||||
|
||||
#: stock/views.py:519
|
||||
#: stock/views.py:533
|
||||
#, python-brace-format
|
||||
msgid "Added stock to {n} items"
|
||||
msgstr ""
|
||||
|
||||
#: stock/views.py:534
|
||||
#: stock/views.py:548
|
||||
#, python-brace-format
|
||||
msgid "Removed stock from {n} items"
|
||||
msgstr ""
|
||||
|
||||
#: stock/views.py:547
|
||||
#: stock/views.py:561
|
||||
#, python-brace-format
|
||||
msgid "Counted stock for {n} items"
|
||||
msgstr ""
|
||||
|
||||
#: stock/views.py:575
|
||||
#: stock/views.py:589
|
||||
msgid "No items were moved"
|
||||
msgstr ""
|
||||
|
||||
#: stock/views.py:578
|
||||
#: stock/views.py:592
|
||||
#, python-brace-format
|
||||
msgid "Moved {n} items to {dest}"
|
||||
msgstr ""
|
||||
|
||||
#: stock/views.py:597
|
||||
#: stock/views.py:611
|
||||
#, python-brace-format
|
||||
msgid "Deleted {n} stock items"
|
||||
msgstr ""
|
||||
|
||||
#: stock/views.py:609
|
||||
#: stock/views.py:623
|
||||
msgid "Edit Stock Item"
|
||||
msgstr ""
|
||||
|
||||
#: stock/views.py:645
|
||||
#: stock/views.py:659
|
||||
msgid "Create new Stock Location"
|
||||
msgstr ""
|
||||
|
||||
#: stock/views.py:666
|
||||
#: stock/views.py:680
|
||||
msgid "Serialize Stock"
|
||||
msgstr ""
|
||||
|
||||
#: stock/views.py:746
|
||||
#: stock/views.py:760
|
||||
msgid "Create new Stock Item"
|
||||
msgstr ""
|
||||
|
||||
#: stock/views.py:810
|
||||
#: stock/views.py:824
|
||||
msgid "Copy Stock Item"
|
||||
msgstr ""
|
||||
|
||||
#: stock/views.py:860
|
||||
#: stock/views.py:892
|
||||
msgid "Invalid quantity"
|
||||
msgstr ""
|
||||
|
||||
#: stock/views.py:863
|
||||
#: stock/views.py:895
|
||||
msgid "Invalid part selection"
|
||||
msgstr ""
|
||||
|
||||
#: stock/views.py:910
|
||||
#: stock/views.py:942
|
||||
#, python-brace-format
|
||||
msgid "Created {n} new stock items"
|
||||
msgstr ""
|
||||
|
||||
#: stock/views.py:927 stock/views.py:940
|
||||
#: stock/views.py:959 stock/views.py:972
|
||||
msgid "Created new stock item"
|
||||
msgstr ""
|
||||
|
||||
#: stock/views.py:957
|
||||
#: stock/views.py:989
|
||||
msgid "Delete Stock Location"
|
||||
msgstr ""
|
||||
|
||||
#: stock/views.py:970
|
||||
#: stock/views.py:1002
|
||||
msgid "Delete Stock Item"
|
||||
msgstr ""
|
||||
|
||||
#: stock/views.py:981
|
||||
#: stock/views.py:1013
|
||||
msgid "Delete Stock Tracking Entry"
|
||||
msgstr ""
|
||||
|
||||
#: stock/views.py:998
|
||||
#: stock/views.py:1030
|
||||
msgid "Edit Stock Tracking Entry"
|
||||
msgstr ""
|
||||
|
||||
#: stock/views.py:1007
|
||||
#: stock/views.py:1039
|
||||
msgid "Add Stock Tracking Entry"
|
||||
msgstr ""
|
||||
|
||||
@ -2031,10 +2069,6 @@ msgstr ""
|
||||
msgid "View Code on GitHub"
|
||||
msgstr ""
|
||||
|
||||
#: templates/navbar.html:14
|
||||
msgid "Orders"
|
||||
msgstr ""
|
||||
|
||||
#: templates/navbar.html:23
|
||||
msgid "Admin"
|
||||
msgstr ""
|
||||
@ -2058,3 +2092,31 @@ msgstr ""
|
||||
#: templates/navbar.html:33
|
||||
msgid "Statistics"
|
||||
msgstr ""
|
||||
|
||||
#: templates/stock_table.html:7
|
||||
msgid "New Stock Item"
|
||||
msgstr ""
|
||||
|
||||
#: templates/stock_table.html:12
|
||||
msgid "Add stock"
|
||||
msgstr ""
|
||||
|
||||
#: templates/stock_table.html:13
|
||||
msgid "Remove stock"
|
||||
msgstr ""
|
||||
|
||||
#: templates/stock_table.html:14
|
||||
msgid "Count stock"
|
||||
msgstr ""
|
||||
|
||||
#: templates/stock_table.html:15
|
||||
msgid "Move stock"
|
||||
msgstr ""
|
||||
|
||||
#: templates/stock_table.html:16
|
||||
msgid "Order stock"
|
||||
msgstr ""
|
||||
|
||||
#: templates/stock_table.html:17
|
||||
msgid "Delete Stock"
|
||||
msgstr ""
|
||||
|
@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-02-11 23:25+0000\n"
|
||||
"POT-Creation-Date: 2020-02-12 00:31+0000\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
@ -250,7 +250,7 @@ msgstr ""
|
||||
|
||||
#: build/templates/build/allocate_view.html:18
|
||||
#: company/templates/company/index.html:54
|
||||
#: company/templates/company/partdetail.html:57
|
||||
#: company/templates/company/supplier_part_detail.html:27
|
||||
#: order/templates/order/purchase_order_detail.html:26
|
||||
#: part/templates/part/detail.html:33
|
||||
msgid "Description"
|
||||
@ -274,7 +274,7 @@ msgid "Title"
|
||||
msgstr ""
|
||||
|
||||
#: build/templates/build/detail.html:20
|
||||
#: company/templates/company/partdetail.html:85
|
||||
#: company/templates/company/supplier_part_pricing.html:27
|
||||
#: order/templates/order/purchase_order_detail.html:29
|
||||
#: stock/templates/stock/item_base.html:90
|
||||
#: stock/templates/stock/stock_adjust.html:18
|
||||
@ -301,7 +301,7 @@ msgstr ""
|
||||
|
||||
#: build/templates/build/detail.html:42
|
||||
#: company/templates/company/detail_part.html:90
|
||||
#: company/templates/company/partdetail.html:54
|
||||
#: company/templates/company/supplier_part_detail.html:24
|
||||
#: part/templates/part/detail.html:50 part/templates/part/part_base.html:81
|
||||
#: stock/templates/stock/item_base.html:120
|
||||
msgid "URL"
|
||||
@ -344,8 +344,9 @@ msgstr ""
|
||||
msgid "Edit notes"
|
||||
msgstr ""
|
||||
|
||||
#: build/templates/build/tabs.html:5 company/templates/company/tabs.html:5
|
||||
#: part/templates/part/tabs.html:6
|
||||
#: build/templates/build/tabs.html:5
|
||||
#: company/templates/company/supplier_part_tabs.html:5
|
||||
#: company/templates/company/tabs.html:5 part/templates/part/tabs.html:6
|
||||
msgid "Details"
|
||||
msgstr ""
|
||||
|
||||
@ -415,7 +416,7 @@ msgstr ""
|
||||
msgid "Invalid location selected"
|
||||
msgstr ""
|
||||
|
||||
#: build/views.py:290 stock/views.py:884
|
||||
#: build/views.py:290 stock/views.py:916
|
||||
#, python-brace-format
|
||||
msgid "The following serial numbers already exist: ({sn})"
|
||||
msgstr ""
|
||||
@ -561,7 +562,7 @@ msgid "Supplier stock keeping unit"
|
||||
msgstr ""
|
||||
|
||||
#: company/models.py:240 company/templates/company/detail_part.html:81
|
||||
#: company/templates/company/partdetail.html:60
|
||||
#: company/templates/company/supplier_part_detail.html:30
|
||||
msgid "Manufacturer"
|
||||
msgstr ""
|
||||
|
||||
@ -621,7 +622,7 @@ msgstr ""
|
||||
|
||||
#: company/templates/company/detail.html:17
|
||||
#: company/templates/company/index.html:46
|
||||
#: company/templates/company/partdetail.html:51
|
||||
#: company/templates/company/supplier_part_detail.html:21
|
||||
#: order/templates/order/order_base.html:67
|
||||
#: stock/templates/stock/item_base.html:126
|
||||
msgid "Supplier"
|
||||
@ -633,10 +634,11 @@ msgid "Supplier Parts"
|
||||
msgstr ""
|
||||
|
||||
#: company/templates/company/detail_part.html:13
|
||||
#: part/templates/part/stock.html:81
|
||||
msgid "New Supplier Part"
|
||||
msgstr ""
|
||||
|
||||
#: company/templates/company/detail_part.html:15
|
||||
#: company/templates/company/detail_part.html:15 templates/stock_table.html:10
|
||||
msgid "Options"
|
||||
msgstr ""
|
||||
|
||||
@ -645,12 +647,11 @@ msgid "Delete Parts"
|
||||
msgstr ""
|
||||
|
||||
#: company/templates/company/detail_part.html:73
|
||||
#: company/templates/company/partdetail.html:52
|
||||
#: company/templates/company/supplier_part_detail.html:22
|
||||
msgid "SKU"
|
||||
msgstr ""
|
||||
|
||||
#: company/templates/company/detail_purchase_orders.html:8
|
||||
#: company/templates/company/partdetail.html:116
|
||||
#: company/templates/company/tabs.html:15 part/templates/part/tabs.html:43
|
||||
msgid "Purchase Orders"
|
||||
msgstr ""
|
||||
@ -664,6 +665,8 @@ msgid "Supplier Stock"
|
||||
msgstr ""
|
||||
|
||||
#: company/templates/company/detail_stock.html:33
|
||||
#: company/templates/company/supplier_part_stock.html:38
|
||||
#: part/templates/part/stock.html:53 templates/stock_table.html:5
|
||||
msgid "Export"
|
||||
msgstr ""
|
||||
|
||||
@ -680,10 +683,8 @@ msgstr ""
|
||||
msgid "ID"
|
||||
msgstr ""
|
||||
|
||||
#: company/templates/company/index.html:69
|
||||
#: company/templates/company/partdetail.html:6
|
||||
#: part/templates/part/category.html:73 templates/navbar.html:10
|
||||
#: templates/stats.html:7 templates/stats.html:10
|
||||
#: company/templates/company/index.html:69 part/templates/part/category.html:73
|
||||
#: templates/navbar.html:10 templates/stats.html:7 templates/stats.html:10
|
||||
msgid "Parts"
|
||||
msgstr ""
|
||||
|
||||
@ -696,61 +697,90 @@ msgstr ""
|
||||
msgid "Are you sure you want to delete the following Supplier Parts?"
|
||||
msgstr ""
|
||||
|
||||
#: company/templates/company/partdetail.html:13
|
||||
#: company/templates/company/supplier_part_base.html:6
|
||||
#: company/templates/company/supplier_part_base.html:13
|
||||
#: stock/templates/stock/item_base.html:130
|
||||
msgid "Supplier Part"
|
||||
msgstr ""
|
||||
|
||||
#: company/templates/company/partdetail.html:41
|
||||
#: company/templates/company/supplier_part_detail.html:11
|
||||
msgid "Supplier Part Details"
|
||||
msgstr ""
|
||||
|
||||
#: company/templates/company/partdetail.html:44
|
||||
#: company/templates/company/supplier_part_detail.html:14
|
||||
msgid "Internal Part"
|
||||
msgstr ""
|
||||
|
||||
#: company/templates/company/partdetail.html:61
|
||||
#: company/templates/company/supplier_part_detail.html:31
|
||||
msgid "MPN"
|
||||
msgstr ""
|
||||
|
||||
#: company/templates/company/partdetail.html:64
|
||||
#: company/templates/company/supplier_part_detail.html:34
|
||||
#: order/templates/order/purchase_order_detail.html:33
|
||||
msgid "Note"
|
||||
msgstr ""
|
||||
|
||||
#: company/templates/company/partdetail.html:70
|
||||
#: company/templates/company/supplier_part_orders.html:11
|
||||
msgid "Supplier Part Orders"
|
||||
msgstr ""
|
||||
|
||||
#: company/templates/company/supplier_part_pricing.html:12
|
||||
msgid "Pricing Information"
|
||||
msgstr ""
|
||||
|
||||
#: company/templates/company/partdetail.html:72
|
||||
#: company/templates/company/supplier_part_pricing.html:14
|
||||
msgid "Order Multiple"
|
||||
msgstr ""
|
||||
|
||||
#: company/templates/company/partdetail.html:74
|
||||
#: company/templates/company/supplier_part_pricing.html:16
|
||||
msgid "Base Price (Flat Fee)"
|
||||
msgstr ""
|
||||
|
||||
#: company/templates/company/partdetail.html:77
|
||||
#: company/templates/company/supplier_part_pricing.html:19
|
||||
msgid "Price Breaks"
|
||||
msgstr ""
|
||||
|
||||
#: company/templates/company/partdetail.html:80
|
||||
#: company/templates/company/supplier_part_pricing.html:22
|
||||
msgid "New Price Break"
|
||||
msgstr ""
|
||||
|
||||
#: company/templates/company/partdetail.html:86
|
||||
#: company/templates/company/supplier_part_pricing.html:28
|
||||
msgid "Price"
|
||||
msgstr ""
|
||||
|
||||
#: company/templates/company/partdetail.html:106
|
||||
#: company/templates/company/supplier_part_pricing.html:48
|
||||
msgid "No price breaks have been added for this part"
|
||||
msgstr ""
|
||||
|
||||
#: company/templates/company/supplier_part_stock.html:11
|
||||
msgid "Supplier Part Stock"
|
||||
msgstr ""
|
||||
|
||||
#: company/templates/company/supplier_part_stock.html:61
|
||||
#: part/templates/part/stock.html:90
|
||||
msgid "New Location"
|
||||
msgstr ""
|
||||
|
||||
#: company/templates/company/supplier_part_stock.html:62
|
||||
#: part/templates/part/stock.html:91
|
||||
msgid "Create New Location"
|
||||
msgstr ""
|
||||
|
||||
#: company/templates/company/supplier_part_tabs.html:8
|
||||
msgid "Pricing"
|
||||
msgstr ""
|
||||
|
||||
#: company/templates/company/supplier_part_tabs.html:11
|
||||
#: company/templates/company/tabs.html:12 part/templates/part/tabs.html:17
|
||||
#: templates/navbar.html:11
|
||||
msgid "Stock"
|
||||
msgstr ""
|
||||
|
||||
#: company/templates/company/supplier_part_tabs.html:14
|
||||
#: templates/navbar.html:14
|
||||
msgid "Orders"
|
||||
msgstr ""
|
||||
|
||||
#: company/templates/company/tabs.html:21
|
||||
msgid "Sales Orders"
|
||||
msgstr ""
|
||||
@ -791,7 +821,7 @@ msgstr ""
|
||||
msgid "Edit Supplier Part"
|
||||
msgstr ""
|
||||
|
||||
#: company/views.py:179
|
||||
#: company/views.py:179 part/templates/part/stock.html:82
|
||||
msgid "Create new Supplier Part"
|
||||
msgstr ""
|
||||
|
||||
@ -1437,6 +1467,14 @@ msgstr ""
|
||||
msgid "Upload new image"
|
||||
msgstr ""
|
||||
|
||||
#: part/templates/part/stock.html:75
|
||||
msgid "New Part"
|
||||
msgstr ""
|
||||
|
||||
#: part/templates/part/stock.html:76
|
||||
msgid "Create New Part"
|
||||
msgstr ""
|
||||
|
||||
#: part/templates/part/tabs.html:9
|
||||
msgid "Parameters"
|
||||
msgstr ""
|
||||
@ -1868,134 +1906,134 @@ msgstr ""
|
||||
msgid "Stock Export Options"
|
||||
msgstr ""
|
||||
|
||||
#: stock/views.py:264
|
||||
#: stock/views.py:278
|
||||
msgid "Stock Item QR Code"
|
||||
msgstr ""
|
||||
|
||||
#: stock/views.py:287
|
||||
#: stock/views.py:301
|
||||
msgid "Adjust Stock"
|
||||
msgstr ""
|
||||
|
||||
#: stock/views.py:396
|
||||
#: stock/views.py:410
|
||||
msgid "Move Stock Items"
|
||||
msgstr ""
|
||||
|
||||
#: stock/views.py:397
|
||||
#: stock/views.py:411
|
||||
msgid "Count Stock Items"
|
||||
msgstr ""
|
||||
|
||||
#: stock/views.py:398
|
||||
#: stock/views.py:412
|
||||
msgid "Remove From Stock"
|
||||
msgstr ""
|
||||
|
||||
#: stock/views.py:399
|
||||
#: stock/views.py:413
|
||||
msgid "Add Stock Items"
|
||||
msgstr ""
|
||||
|
||||
#: stock/views.py:400
|
||||
#: stock/views.py:414
|
||||
msgid "Delete Stock Items"
|
||||
msgstr ""
|
||||
|
||||
#: stock/views.py:428
|
||||
#: stock/views.py:442
|
||||
msgid "Must enter integer value"
|
||||
msgstr ""
|
||||
|
||||
#: stock/views.py:433
|
||||
#: stock/views.py:447
|
||||
msgid "Quantity must be positive"
|
||||
msgstr ""
|
||||
|
||||
#: stock/views.py:440
|
||||
#: stock/views.py:454
|
||||
#, python-brace-format
|
||||
msgid "Quantity must not exceed {x}"
|
||||
msgstr ""
|
||||
|
||||
#: stock/views.py:448
|
||||
#: stock/views.py:462
|
||||
msgid "Confirm stock adjustment"
|
||||
msgstr ""
|
||||
|
||||
#: stock/views.py:519
|
||||
#: stock/views.py:533
|
||||
#, python-brace-format
|
||||
msgid "Added stock to {n} items"
|
||||
msgstr ""
|
||||
|
||||
#: stock/views.py:534
|
||||
#: stock/views.py:548
|
||||
#, python-brace-format
|
||||
msgid "Removed stock from {n} items"
|
||||
msgstr ""
|
||||
|
||||
#: stock/views.py:547
|
||||
#: stock/views.py:561
|
||||
#, python-brace-format
|
||||
msgid "Counted stock for {n} items"
|
||||
msgstr ""
|
||||
|
||||
#: stock/views.py:575
|
||||
#: stock/views.py:589
|
||||
msgid "No items were moved"
|
||||
msgstr ""
|
||||
|
||||
#: stock/views.py:578
|
||||
#: stock/views.py:592
|
||||
#, python-brace-format
|
||||
msgid "Moved {n} items to {dest}"
|
||||
msgstr ""
|
||||
|
||||
#: stock/views.py:597
|
||||
#: stock/views.py:611
|
||||
#, python-brace-format
|
||||
msgid "Deleted {n} stock items"
|
||||
msgstr ""
|
||||
|
||||
#: stock/views.py:609
|
||||
#: stock/views.py:623
|
||||
msgid "Edit Stock Item"
|
||||
msgstr ""
|
||||
|
||||
#: stock/views.py:645
|
||||
#: stock/views.py:659
|
||||
msgid "Create new Stock Location"
|
||||
msgstr ""
|
||||
|
||||
#: stock/views.py:666
|
||||
#: stock/views.py:680
|
||||
msgid "Serialize Stock"
|
||||
msgstr ""
|
||||
|
||||
#: stock/views.py:746
|
||||
#: stock/views.py:760
|
||||
msgid "Create new Stock Item"
|
||||
msgstr ""
|
||||
|
||||
#: stock/views.py:810
|
||||
#: stock/views.py:824
|
||||
msgid "Copy Stock Item"
|
||||
msgstr ""
|
||||
|
||||
#: stock/views.py:860
|
||||
#: stock/views.py:892
|
||||
msgid "Invalid quantity"
|
||||
msgstr ""
|
||||
|
||||
#: stock/views.py:863
|
||||
#: stock/views.py:895
|
||||
msgid "Invalid part selection"
|
||||
msgstr ""
|
||||
|
||||
#: stock/views.py:910
|
||||
#: stock/views.py:942
|
||||
#, python-brace-format
|
||||
msgid "Created {n} new stock items"
|
||||
msgstr ""
|
||||
|
||||
#: stock/views.py:927 stock/views.py:940
|
||||
#: stock/views.py:959 stock/views.py:972
|
||||
msgid "Created new stock item"
|
||||
msgstr ""
|
||||
|
||||
#: stock/views.py:957
|
||||
#: stock/views.py:989
|
||||
msgid "Delete Stock Location"
|
||||
msgstr ""
|
||||
|
||||
#: stock/views.py:970
|
||||
#: stock/views.py:1002
|
||||
msgid "Delete Stock Item"
|
||||
msgstr ""
|
||||
|
||||
#: stock/views.py:981
|
||||
#: stock/views.py:1013
|
||||
msgid "Delete Stock Tracking Entry"
|
||||
msgstr ""
|
||||
|
||||
#: stock/views.py:998
|
||||
#: stock/views.py:1030
|
||||
msgid "Edit Stock Tracking Entry"
|
||||
msgstr ""
|
||||
|
||||
#: stock/views.py:1007
|
||||
#: stock/views.py:1039
|
||||
msgid "Add Stock Tracking Entry"
|
||||
msgstr ""
|
||||
|
||||
@ -2031,10 +2069,6 @@ msgstr ""
|
||||
msgid "View Code on GitHub"
|
||||
msgstr ""
|
||||
|
||||
#: templates/navbar.html:14
|
||||
msgid "Orders"
|
||||
msgstr ""
|
||||
|
||||
#: templates/navbar.html:23
|
||||
msgid "Admin"
|
||||
msgstr ""
|
||||
@ -2058,3 +2092,31 @@ msgstr ""
|
||||
#: templates/navbar.html:33
|
||||
msgid "Statistics"
|
||||
msgstr ""
|
||||
|
||||
#: templates/stock_table.html:7
|
||||
msgid "New Stock Item"
|
||||
msgstr ""
|
||||
|
||||
#: templates/stock_table.html:12
|
||||
msgid "Add stock"
|
||||
msgstr ""
|
||||
|
||||
#: templates/stock_table.html:13
|
||||
msgid "Remove stock"
|
||||
msgstr ""
|
||||
|
||||
#: templates/stock_table.html:14
|
||||
msgid "Count stock"
|
||||
msgstr ""
|
||||
|
||||
#: templates/stock_table.html:15
|
||||
msgid "Move stock"
|
||||
msgstr ""
|
||||
|
||||
#: templates/stock_table.html:16
|
||||
msgid "Order stock"
|
||||
msgstr ""
|
||||
|
||||
#: templates/stock_table.html:17
|
||||
msgid "Delete Stock"
|
||||
msgstr ""
|
||||
|
@ -18,6 +18,7 @@ from InvenTree.status_codes import OrderStatus
|
||||
import os
|
||||
|
||||
from part.models import Part
|
||||
from company.models import SupplierPart
|
||||
|
||||
from .models import PurchaseOrder, PurchaseOrderLineItem
|
||||
from .serializers import POSerializer, POLineItemSerializer
|
||||
@ -62,6 +63,14 @@ class POList(generics.ListCreateAPIView):
|
||||
except (Part.DoesNotExist, ValueError):
|
||||
pass
|
||||
|
||||
# Attempt to filter by supplier part
|
||||
if 'supplier_part' in request.GET:
|
||||
try:
|
||||
supplier_part = SupplierPart.objects.get(pk=request.GET['supplier_part'])
|
||||
queryset = queryset.filter(id__in=[p.id for p in supplier_part.purchase_orders()])
|
||||
except (ValueError, SupplierPart.DoesNotExist):
|
||||
pass
|
||||
|
||||
data = queryset.values(
|
||||
'pk',
|
||||
'supplier',
|
||||
|
@ -1,5 +1,6 @@
|
||||
{% extends "part/part_base.html" %}
|
||||
{% load static %}
|
||||
{% load i18n %}
|
||||
{% block details %}
|
||||
|
||||
{% include 'part/tabs.html' with tab='stock' %}
|
||||
@ -49,7 +50,7 @@
|
||||
|
||||
$("#stock-export").click(function() {
|
||||
launchModalForm("{% url 'stock-export-options' %}", {
|
||||
submit_text: "Export",
|
||||
submit_text: "{% trans 'Export' %}",
|
||||
success: function(response) {
|
||||
var url = "{% url 'stock-export' %}";
|
||||
|
||||
@ -71,14 +72,14 @@
|
||||
secondary: [
|
||||
{
|
||||
field: 'part',
|
||||
label: 'New Part',
|
||||
title: 'Create New Part',
|
||||
label: '{% trans "New Part" %}',
|
||||
title: '{% trans "Create New Part" %}',
|
||||
url: "{% url 'part-create' %}",
|
||||
},
|
||||
{
|
||||
field: 'supplier_part',
|
||||
label: 'New Supplier Part',
|
||||
title: 'Create new Supplier Part',
|
||||
label: '{% trans "New Supplier Part" %}',
|
||||
title: '{% trans "Create new Supplier Part" %}',
|
||||
url: "{% url 'supplier-part-create' %}",
|
||||
data: {
|
||||
part: {{ part.id }}
|
||||
@ -86,8 +87,8 @@
|
||||
},
|
||||
{
|
||||
field: 'location',
|
||||
label: 'New Location',
|
||||
title: 'Create New Location',
|
||||
label: '{% trans "New Location" %}',
|
||||
title: '{% trans "Create New Location" %}',
|
||||
url: "{% url 'stock-location-create' %}",
|
||||
}
|
||||
]
|
||||
|
@ -301,6 +301,7 @@ class StockList(generics.ListCreateAPIView):
|
||||
'part__category',
|
||||
'part__category__name',
|
||||
'part__category__description',
|
||||
'supplier_part',
|
||||
)
|
||||
|
||||
# Reduce the number of lookups we need to do for categories
|
||||
@ -371,7 +372,13 @@ class StockList(generics.ListCreateAPIView):
|
||||
except PartCategory.DoesNotExist:
|
||||
pass
|
||||
|
||||
# Filter by supplier
|
||||
# Filter by supplier_part ID
|
||||
supplier_part_id = self.request.query_params.get('supplier_part', None)
|
||||
|
||||
if supplier_part_id:
|
||||
stock_list = stock_list.filter(supplier_part=supplier_part_id)
|
||||
|
||||
# Filter by supplier ID
|
||||
supplier_id = self.request.query_params.get('supplier', None)
|
||||
|
||||
if supplier_id:
|
||||
|
@ -24,7 +24,7 @@ from InvenTree.helpers import ExtractSerialNumbers
|
||||
from decimal import Decimal, InvalidOperation
|
||||
from datetime import datetime
|
||||
|
||||
from company.models import Company
|
||||
from company.models import Company, SupplierPart
|
||||
from part.models import Part
|
||||
from .models import StockItem, StockLocation, StockItemTracking
|
||||
|
||||
@ -212,6 +212,16 @@ class StockExport(AjaxView):
|
||||
except (ValueError, Company.DoesNotExist):
|
||||
pass
|
||||
|
||||
# Check if a particular supplier_part was specified
|
||||
sup_part_id = request.GET.get('supplier_part', None)
|
||||
supplier_part = None
|
||||
|
||||
if sup_part_id:
|
||||
try:
|
||||
supplier_part = SupplierPart.objects.get(pk=sup_part_id)
|
||||
except (ValueError, SupplierPart.DoesNotExist):
|
||||
pass
|
||||
|
||||
# Check if a particular part was specified
|
||||
part_id = request.GET.get('part', None)
|
||||
part = None
|
||||
@ -244,7 +254,11 @@ class StockExport(AjaxView):
|
||||
if supplier:
|
||||
stock_items = stock_items.filter(supplier_part__supplier=supplier)
|
||||
|
||||
if supplier_part:
|
||||
stock_items = stock_items.filter(supplier_part=supplier_part)
|
||||
|
||||
# Filter out stock items that are not 'in stock'
|
||||
# TODO - This might need some more thought in the future...
|
||||
stock_items = stock_items.filter(customer=None)
|
||||
stock_items = stock_items.filter(belongs_to=None)
|
||||
|
||||
@ -816,6 +830,11 @@ class StockItemCreate(AjaxCreateView):
|
||||
|
||||
part_id = self.request.GET.get('part', None)
|
||||
loc_id = self.request.GET.get('location', None)
|
||||
sup_part_id = self.request.GET.get('supplier_part', None)
|
||||
|
||||
part = None
|
||||
location = None
|
||||
supplier_part = None
|
||||
|
||||
# Part field has been specified
|
||||
if part_id:
|
||||
@ -824,14 +843,27 @@ class StockItemCreate(AjaxCreateView):
|
||||
initials['part'] = part
|
||||
initials['location'] = part.get_default_location()
|
||||
initials['supplier_part'] = part.default_supplier
|
||||
except Part.DoesNotExist:
|
||||
except (ValueError, Part.DoesNotExist):
|
||||
pass
|
||||
|
||||
# SupplierPart field has been specified
|
||||
# It must match the Part, if that has been supplied
|
||||
if sup_part_id:
|
||||
try:
|
||||
supplier_part = SupplierPart.objects.get(pk=sup_part_id)
|
||||
|
||||
if part is None or supplier_part.part == part:
|
||||
initials['supplier_part'] = supplier_part
|
||||
|
||||
except (ValueError, SupplierPart.DoesNotExist):
|
||||
pass
|
||||
|
||||
# Location has been specified
|
||||
if loc_id:
|
||||
try:
|
||||
initials['location'] = StockLocation.objects.get(pk=loc_id)
|
||||
except StockLocation.DoesNotExist:
|
||||
location = StockLocation.objects.get(pk=loc_id)
|
||||
initials['location'] = location
|
||||
except (ValueError, StockLocation.DoesNotExist):
|
||||
pass
|
||||
|
||||
return initials
|
||||
|
@ -1,18 +1,18 @@
|
||||
{% load i18n %}
|
||||
|
||||
<div id='button-toolbar'>
|
||||
<div class='button-toolbar container-fluid' style='float: right;'>
|
||||
<button class='btn btn-default' id='stock-export' title='Export Stock Information'>Export</button>
|
||||
{% if not part or part.is_template == False %}
|
||||
<button class="btn btn-success" id='item-create'>New Stock Item</button>
|
||||
{% endif %}
|
||||
<button class='btn btn-default' id='stock-export' title='Export Stock Information'>{% trans "Export" %}</button>
|
||||
<button class="btn btn-success" id='item-create'>{% trans "New Stock Item" %}</button>
|
||||
<div class="dropdown" style='float: right;'>
|
||||
<button id='stock-options' class="btn btn-primary dropdown-toggle" type="button" data-toggle="dropdown">Options<span class="caret"></span></button>
|
||||
<button id='stock-options' class="btn btn-primary dropdown-toggle" type="button" data-toggle="dropdown">{% trans "Options" %}<span class="caret"></span></button>
|
||||
<ul class="dropdown-menu">
|
||||
<li><a href="#" id='multi-item-add' title='Add to selected stock items'>Add stock</a></li>
|
||||
<li><a href="#" id='multi-item-remove' title='Remove from selected stock items'>Remove stock</a></li>
|
||||
<li><a href="#" id='multi-item-stocktake' title='Stocktake selected stock items'>Count stock</a></li>
|
||||
<li><a href='#' id='multi-item-move' title='Move selected stock items'>Move stock</a></li>
|
||||
<li><a href='#' id='multi-item-order' title='Order selected items'>Order stock</a></li>
|
||||
<li><a href='#' id='multi-item-delete' title='Delete selected items'>Delete Stock</a></li>
|
||||
<li><a href="#" id='multi-item-add' title='Add to selected stock items'>{% trans "Add stock" %}</a></li>
|
||||
<li><a href="#" id='multi-item-remove' title='Remove from selected stock items'>{% trans "Remove stock" %}</a></li>
|
||||
<li><a href="#" id='multi-item-stocktake' title='Stocktake selected stock items'>{% trans "Count stock" %}</a></li>
|
||||
<li><a href='#' id='multi-item-move' title='Move selected stock items'>{% trans "Move stock" %}</a></li>
|
||||
<li><a href='#' id='multi-item-order' title='Order selected items'>{% trans "Order stock" %}</a></li>
|
||||
<li><a href='#' id='multi-item-delete' title='Delete selected items'>{% trans "Delete Stock" %}</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
Loading…
Reference in New Issue
Block a user