diff --git a/InvenTree/company/admin.py b/InvenTree/company/admin.py index 45dd769d67..b339a65c0e 100644 --- a/InvenTree/company/admin.py +++ b/InvenTree/company/admin.py @@ -38,7 +38,9 @@ class CompanyAdmin(ImportExportModelAdmin): class SupplierPartResource(ModelResource): - """ Class for managing SupplierPart data import/export """ + """ + Class for managing SupplierPart data import/export + """ part = Field(attribute='part', widget=widgets.ForeignKeyWidget(Part)) @@ -51,7 +53,7 @@ class SupplierPartResource(ModelResource): class Meta: model = SupplierPart skip_unchanged = True - report_skipped = False + report_skipped = True clean_model_instances = True diff --git a/InvenTree/company/migrations/0031_auto_20210103_2215.py b/InvenTree/company/migrations/0031_auto_20210103_2215.py new file mode 100644 index 0000000000..a8ff0d9d63 --- /dev/null +++ b/InvenTree/company/migrations/0031_auto_20210103_2215.py @@ -0,0 +1,61 @@ +# Generated by Django 3.0.7 on 2021-01-03 11:15 + +import InvenTree.fields +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + ('part', '0060_merge_20201112_1722'), + ('company', '0030_auto_20201112_1112'), + ] + + operations = [ + migrations.AlterField( + model_name='supplierpart', + name='MPN', + field=models.CharField(blank=True, help_text='Manufacturer part number', max_length=100, null=True, verbose_name='MPN'), + ), + migrations.AlterField( + model_name='supplierpart', + name='SKU', + field=models.CharField(help_text='Supplier stock keeping unit', max_length=100, verbose_name='SKU'), + ), + migrations.AlterField( + model_name='supplierpart', + name='description', + field=models.CharField(blank=True, help_text='Supplier part description', max_length=250, null=True, verbose_name='Description'), + ), + migrations.AlterField( + model_name='supplierpart', + name='link', + field=InvenTree.fields.InvenTreeURLField(blank=True, help_text='URL for external supplier part link', null=True, verbose_name='Link'), + ), + migrations.AlterField( + model_name='supplierpart', + name='manufacturer', + field=models.ForeignKey(blank=True, help_text='Select manufacturer', limit_choices_to={'is_manufacturer': True}, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='manufactured_parts', to='company.Company', verbose_name='Manufacturer'), + ), + migrations.AlterField( + model_name='supplierpart', + name='note', + field=models.CharField(blank=True, help_text='Notes', max_length=100, null=True, verbose_name='Note'), + ), + migrations.AlterField( + model_name='supplierpart', + name='packaging', + field=models.CharField(blank=True, help_text='Part packaging', max_length=50, null=True), + ), + migrations.AlterField( + model_name='supplierpart', + name='part', + field=models.ForeignKey(help_text='Select part', limit_choices_to={'purchaseable': True}, on_delete=django.db.models.deletion.CASCADE, related_name='supplier_parts', to='part.Part', verbose_name='Base Part'), + ), + migrations.AlterField( + model_name='supplierpart', + name='supplier', + field=models.ForeignKey(help_text='Select supplier', limit_choices_to={'is_supplier': True}, on_delete=django.db.models.deletion.CASCADE, related_name='supplied_parts', to='company.Company', verbose_name='Supplier'), + ), + ] diff --git a/InvenTree/company/models.py b/InvenTree/company/models.py index 81718a9acd..e4386712c8 100644 --- a/InvenTree/company/models.py +++ b/InvenTree/company/models.py @@ -313,7 +313,6 @@ class SupplierPart(models.Model): verbose_name=_('Base Part'), limit_choices_to={ 'purchaseable': True, - 'is_template': False, }, help_text=_('Select part'), ) @@ -321,31 +320,55 @@ class SupplierPart(models.Model): supplier = models.ForeignKey(Company, on_delete=models.CASCADE, related_name='supplied_parts', limit_choices_to={'is_supplier': True}, + verbose_name=_('Supplier'), help_text=_('Select supplier'), ) - SKU = models.CharField(max_length=100, help_text=_('Supplier stock keeping unit')) + SKU = models.CharField( + max_length=100, + verbose_name=_('SKU'), + help_text=_('Supplier stock keeping unit') + ) manufacturer = models.ForeignKey( Company, on_delete=models.SET_NULL, related_name='manufactured_parts', - limit_choices_to={'is_manufacturer': True}, + limit_choices_to={ + 'is_manufacturer': True + }, + verbose_name=_('Manufacturer'), help_text=_('Select manufacturer'), null=True, blank=True ) - MPN = models.CharField(max_length=100, blank=True, help_text=_('Manufacturer part number')) + MPN = models.CharField( + max_length=100, blank=True, null=True, + verbose_name=_('MPN'), + help_text=_('Manufacturer part number') + ) - link = InvenTreeURLField(blank=True, help_text=_('URL for external supplier part link')) + link = InvenTreeURLField( + blank=True, null=True, + verbose_name=_('Link'), + help_text=_('URL for external supplier part link') + ) - description = models.CharField(max_length=250, blank=True, help_text=_('Supplier part description')) + description = models.CharField( + max_length=250, blank=True, null=True, + verbose_name=_('Description'), + help_text=_('Supplier part description') + ) - note = models.CharField(max_length=100, blank=True, help_text=_('Notes')) + note = models.CharField( + max_length=100, blank=True, null=True, + verbose_name=_('Note'), + help_text=_('Notes') + ) base_cost = models.DecimalField(max_digits=10, decimal_places=3, default=0, validators=[MinValueValidator(0)], help_text=_('Minimum charge (e.g. stocking fee)')) - packaging = models.CharField(max_length=50, blank=True, help_text=_('Part packaging')) + packaging = models.CharField(max_length=50, blank=True, null=True, help_text=_('Part packaging')) multiple = models.PositiveIntegerField(default=1, validators=[MinValueValidator(1)], help_text=('Order multiple')) diff --git a/InvenTree/locale/de/LC_MESSAGES/django.po b/InvenTree/locale/de/LC_MESSAGES/django.po index 5b18692564..74dfaadcaa 100644 --- a/InvenTree/locale/de/LC_MESSAGES/django.po +++ b/InvenTree/locale/de/LC_MESSAGES/django.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-12-16 19:08+1100\n" +"POT-Creation-Date: 2021-01-03 22:16+1100\n" "PO-Revision-Date: 2020-05-03 11:32+0200\n" "Last-Translator: Christian Schlüter \n" "Language-Team: C \n" @@ -25,7 +25,13 @@ msgstr "Keine Aktion angegeben" msgid "No matching action found" msgstr "Keine passende Aktion gefunden" -#: InvenTree/forms.py:110 build/forms.py:91 build/forms.py:179 +#: InvenTree/fields.py:44 +#, fuzzy +#| msgid "Entry notes" +msgid "Enter date" +msgstr "Eintrags-Notizen" + +#: InvenTree/forms.py:110 build/forms.py:90 build/forms.py:178 msgid "Confirm" msgstr "Bestätigen" @@ -55,8 +61,8 @@ msgstr "" msgid "Select Category" msgstr "Teilkategorie auswählen" -#: InvenTree/helpers.py:361 order/models.py:189 order/models.py:271 -#: stock/views.py:1646 +#: InvenTree/helpers.py:361 order/models.py:178 order/models.py:260 +#: stock/views.py:1647 msgid "Invalid quantity provided" msgstr "Keine gültige Menge" @@ -99,7 +105,7 @@ msgstr "Datei zum Anhängen auswählen" msgid "File comment" msgstr "Datei-Kommentar" -#: InvenTree/models.py:68 templates/js/stock.js:738 +#: InvenTree/models.py:68 templates/js/stock.js:744 msgid "User" msgstr "Benutzer" @@ -169,7 +175,7 @@ msgid "Returned" msgstr "Zurückgegeben" #: InvenTree/status_codes.py:136 -#: order/templates/order/sales_order_base.html:106 +#: order/templates/order/sales_order_base.html:121 msgid "Shipped" msgstr "Versendet" @@ -313,15 +319,26 @@ msgstr "" msgid "Barcode associated with StockItem" msgstr "Neues Lagerobjekt hinzufügen" -#: build/forms.py:32 +#: build/forms.py:34 #, fuzzy #| msgid "Order reference" msgid "Build Order reference" msgstr "Bestell-Referenz" -#: build/forms.py:79 build/templates/build/auto_allocate.html:17 +#: build/forms.py:35 +#, fuzzy +#| msgid "No destination set" +msgid "Order target date" +msgstr "Kein Ziel gesetzt" + +#: build/forms.py:39 build/models.py:173 +msgid "" +"Target date for build completion. Build will be overdue after this date." +msgstr "" + +#: build/forms.py:78 build/templates/build/auto_allocate.html:17 #: build/templates/build/build_base.html:83 -#: build/templates/build/detail.html:29 common/models.py:494 +#: build/templates/build/detail.html:29 common/models.py:496 #: company/forms.py:112 company/templates/company/supplier_part_pricing.html:75 #: order/templates/order/order_wizard/select_parts.html:32 #: order/templates/order/purchase_order_detail.html:179 @@ -334,78 +351,78 @@ msgstr "Bestell-Referenz" #: stock/templates/stock/item_base.html:46 #: stock/templates/stock/item_base.html:197 #: stock/templates/stock/stock_adjust.html:18 templates/js/barcode.js:338 -#: templates/js/bom.js:195 templates/js/build.js:420 templates/js/stock.js:729 -#: templates/js/stock.js:957 +#: templates/js/bom.js:195 templates/js/build.js:420 templates/js/stock.js:735 +#: templates/js/stock.js:963 msgid "Quantity" msgstr "Anzahl" -#: build/forms.py:80 +#: build/forms.py:79 #, fuzzy #| msgid "Serial number for this item" msgid "Enter quantity for build output" msgstr "Seriennummer für dieses Teil" -#: build/forms.py:84 stock/forms.py:111 +#: build/forms.py:83 stock/forms.py:111 #, fuzzy #| msgid "Serial Number" msgid "Serial numbers" msgstr "Seriennummer" -#: build/forms.py:86 +#: build/forms.py:85 #, fuzzy #| msgid "Serial number for this item" msgid "Enter serial numbers for build outputs" msgstr "Seriennummer für dieses Teil" -#: build/forms.py:92 +#: build/forms.py:91 #, fuzzy #| msgid "Confirm completion of build" msgid "Confirm creation of build outut" msgstr "Baufertigstellung bestätigen" -#: build/forms.py:112 +#: build/forms.py:111 #, fuzzy #| msgid "Confirm completion of build" msgid "Confirm deletion of build output" msgstr "Baufertigstellung bestätigen" -#: build/forms.py:133 +#: build/forms.py:132 #, fuzzy #| msgid "Confirm unallocation of build stock" msgid "Confirm unallocation of stock" msgstr "Zuweisungsaufhebung bestätigen" -#: build/forms.py:157 +#: build/forms.py:156 msgid "Confirm stock allocation" msgstr "Lagerbestandszuordnung bestätigen" -#: build/forms.py:180 +#: build/forms.py:179 #, fuzzy #| msgid "Mark order as complete" msgid "Mark build as complete" msgstr "Bestellung als vollständig markieren" -#: build/forms.py:204 +#: build/forms.py:203 #, fuzzy #| msgid "Location Details" msgid "Location of completed parts" msgstr "Standort-Details" -#: build/forms.py:209 +#: build/forms.py:208 #, fuzzy #| msgid "Confirm stock allocation" msgid "Confirm completion with incomplete stock allocation" msgstr "Lagerbestandszuordnung bestätigen" -#: build/forms.py:212 +#: build/forms.py:211 msgid "Confirm build completion" msgstr "Bau-Fertigstellung bestätigen" -#: build/forms.py:232 build/views.py:68 +#: build/forms.py:231 build/views.py:68 msgid "Confirm build cancellation" msgstr "Bauabbruch bestätigen" -#: build/forms.py:246 +#: build/forms.py:245 #, fuzzy #| msgid "Select stock item to allocate" msgid "Select quantity of stock to allocate" @@ -436,16 +453,16 @@ msgid "Reference" msgstr "Referenz" #: build/models.py:83 build/templates/build/detail.html:19 -#: company/templates/company/detail.html:23 +#: company/models.py:359 company/templates/company/detail.html:23 #: company/templates/company/supplier_part_base.html:61 #: company/templates/company/supplier_part_detail.html:27 #: order/templates/order/purchase_order_detail.html:161 #: part/templates/part/detail.html:51 part/templates/part/set_category.html:14 #: templates/InvenTree/search.html:147 templates/js/bom.js:180 #: templates/js/bom.js:517 templates/js/build.js:664 templates/js/company.js:56 -#: templates/js/order.js:175 templates/js/order.js:257 templates/js/part.js:188 +#: templates/js/order.js:175 templates/js/order.js:263 templates/js/part.js:188 #: templates/js/part.js:271 templates/js/part.js:391 templates/js/part.js:572 -#: templates/js/stock.js:494 templates/js/stock.js:710 +#: templates/js/stock.js:500 templates/js/stock.js:716 msgid "Description" msgstr "Beschreibung" @@ -466,7 +483,7 @@ msgstr "Bestellung, die diesem Bau zugwiesen ist" #: build/models.py:101 build/templates/build/auto_allocate.html:16 #: build/templates/build/build_base.html:78 -#: build/templates/build/detail.html:24 order/models.py:530 +#: build/templates/build/detail.html:24 order/models.py:548 #: order/templates/order/order_wizard/select_parts.html:30 #: order/templates/order/purchase_order_detail.html:148 #: order/templates/order/receive_parts.html:19 part/models.py:315 @@ -474,8 +491,8 @@ msgstr "Bestellung, die diesem Bau zugwiesen ist" #: part/templates/part/set_category.html:13 templates/InvenTree/search.html:133 #: templates/js/barcode.js:336 templates/js/bom.js:153 templates/js/bom.js:502 #: templates/js/build.js:669 templates/js/company.js:138 -#: templates/js/part.js:252 templates/js/part.js:357 templates/js/stock.js:468 -#: templates/js/stock.js:1029 +#: templates/js/part.js:252 templates/js/part.js:357 templates/js/stock.js:474 +#: templates/js/stock.js:1035 msgid "Part" msgstr "Teil" @@ -551,15 +568,10 @@ msgstr "Losnummer" msgid "Batch code for this build output" msgstr "Chargennummer für diese Bau-Ausgabe" -#: build/models.py:172 +#: build/models.py:172 order/models.py:329 msgid "Target completion date" msgstr "" -#: build/models.py:173 -msgid "" -"Target date for build completion. Build will be overdue after this date." -msgstr "" - #: build/models.py:186 build/templates/build/detail.html:89 #: company/templates/company/supplier_part_base.html:68 #: company/templates/company/supplier_part_detail.html:24 @@ -572,14 +584,14 @@ msgstr "Externer Link" msgid "Link to external URL" msgstr "Link zu einer externen URL" -#: build/models.py:191 build/templates/build/tabs.html:23 company/models.py:344 +#: build/models.py:191 build/templates/build/tabs.html:23 company/models.py:366 #: company/templates/company/tabs.html:33 order/templates/order/po_tabs.html:18 #: order/templates/order/purchase_order_detail.html:213 #: order/templates/order/so_tabs.html:23 part/templates/part/tabs.html:73 #: stock/forms.py:307 stock/forms.py:339 stock/forms.py:367 stock/models.py:448 #: stock/models.py:1433 stock/templates/stock/tabs.html:26 #: templates/js/barcode.js:391 templates/js/bom.js:263 -#: templates/js/stock.js:116 templates/js/stock.js:582 +#: templates/js/stock.js:116 templates/js/stock.js:588 msgid "Notes" msgstr "Notizen" @@ -630,11 +642,11 @@ msgid "Allocated quantity ({n}) must not exceed available quantity ({q})" msgstr "" "zugewiesene Anzahl ({n}) darf nicht die verfügbare ({q}) Anzahl überschreiten" -#: build/models.py:934 order/models.py:614 +#: build/models.py:934 order/models.py:632 msgid "StockItem is over-allocated" msgstr "Zu viele Lagerobjekte zugewiesen" -#: build/models.py:938 order/models.py:617 +#: build/models.py:938 order/models.py:635 msgid "Allocation quantity must be greater than zero" msgstr "Anzahl muss größer null sein" @@ -745,7 +757,7 @@ msgstr "Lagerobjekt dem Bau zuweisen" #: stock/templates/stock/item_base.html:227 #: stock/templates/stock/stock_adjust.html:17 #: templates/InvenTree/search.html:183 templates/js/barcode.js:337 -#: templates/js/build.js:434 templates/js/stock.js:574 +#: templates/js/build.js:434 templates/js/stock.js:580 msgid "Location" msgstr "Standort" @@ -786,7 +798,10 @@ msgid "Admin view" msgstr "Admin" #: build/templates/build/build_base.html:43 -#: build/templates/build/build_base.html:92 templates/js/table_filters.js:190 +#: build/templates/build/build_base.html:92 +#: order/templates/order/sales_order_base.html:41 +#: order/templates/order/sales_order_base.html:83 +#: templates/js/table_filters.js:190 templates/js/table_filters.js:222 msgid "Overdue" msgstr "" @@ -817,8 +832,8 @@ msgstr "Bau-Status" #: order/templates/order/receive_parts.html:24 #: stock/templates/stock/item_base.html:312 templates/InvenTree/search.html:175 #: templates/js/barcode.js:42 templates/js/build.js:697 -#: templates/js/order.js:180 templates/js/order.js:262 -#: templates/js/stock.js:561 templates/js/stock.js:965 +#: templates/js/order.js:180 templates/js/order.js:268 +#: templates/js/stock.js:567 templates/js/stock.js:971 msgid "Status" msgstr "Status" @@ -832,7 +847,7 @@ msgid "Progress" msgstr "" #: build/templates/build/build_base.html:111 -#: build/templates/build/detail.html:82 order/models.py:528 +#: build/templates/build/detail.html:82 order/models.py:546 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:33 #: order/templates/order/sales_order_notes.html:10 @@ -972,19 +987,21 @@ msgid "Destination location not specified" msgstr "Hat dieses Teil Tracking für einzelne Objekte?" #: build/templates/build/detail.html:68 -#: stock/templates/stock/item_base.html:245 templates/js/stock.js:569 -#: templates/js/stock.js:972 templates/js/table_filters.js:80 +#: stock/templates/stock/item_base.html:245 templates/js/stock.js:575 +#: templates/js/stock.js:978 templates/js/table_filters.js:80 #: templates/js/table_filters.js:151 msgid "Batch" msgstr "Los" #: build/templates/build/detail.html:95 #: order/templates/order/order_base.html:98 -#: order/templates/order/sales_order_base.html:100 templates/js/build.js:705 +#: order/templates/order/sales_order_base.html:108 templates/js/build.js:705 msgid "Created" msgstr "Erstellt" -#: build/templates/build/detail.html:100 templates/js/build.js:710 +#: build/templates/build/detail.html:100 +#: order/templates/order/sales_order_base.html:114 templates/js/build.js:710 +#: templates/js/order.js:281 #, fuzzy #| msgid "Shipment Date" msgid "Target Date" @@ -1083,7 +1100,7 @@ msgstr "Lagerbestand dem Bau zuweisen" msgid "Create Build Output" msgstr "Bau-Ausgabe" -#: build/views.py:207 stock/models.py:828 stock/views.py:1667 +#: build/views.py:207 stock/models.py:828 stock/views.py:1668 #, fuzzy #| msgid "Serial numbers already exist: " msgid "Serial numbers already exist" @@ -1344,7 +1361,7 @@ msgid "Copy category parameter templates when creating a part" msgstr "" #: common/models.py:115 part/models.py:743 part/templates/part/detail.html:168 -#: templates/js/table_filters.js:268 +#: templates/js/table_filters.js:272 msgid "Component" msgstr "Komponente" @@ -1363,7 +1380,7 @@ msgid "Parts are purchaseable by default" msgstr "" #: common/models.py:129 part/models.py:759 part/templates/part/detail.html:198 -#: templates/js/table_filters.js:276 +#: templates/js/table_filters.js:280 msgid "Salable" msgstr "Verkäuflich" @@ -1372,7 +1389,7 @@ msgid "Parts are salable by default" msgstr "" #: common/models.py:136 part/models.py:749 part/templates/part/detail.html:178 -#: templates/js/table_filters.js:31 templates/js/table_filters.js:280 +#: templates/js/table_filters.js:31 templates/js/table_filters.js:284 msgid "Trackable" msgstr "nachverfolgbar" @@ -1414,54 +1431,54 @@ msgstr "Bestellungsreferenz" msgid "Prefix value for sales order reference" msgstr "Bestell-Referenz" -#: common/models.py:159 +#: common/models.py:160 #, fuzzy #| msgid "Order reference" msgid "Purchase Order Reference Prefix" msgstr "Bestell-Referenz" -#: common/models.py:160 +#: common/models.py:161 #, fuzzy #| msgid "Order reference" msgid "Prefix value for purchase order reference" msgstr "Bestell-Referenz" -#: common/models.py:376 +#: common/models.py:378 msgid "Settings key (must be unique - case insensitive" msgstr "" "Einstellungs-Schlüssel (muss einzigartig sein, Groß-/ Kleinschreibung wird " "nicht beachtet)" -#: common/models.py:378 +#: common/models.py:380 msgid "Settings value" msgstr "Einstellungs-Wert" -#: common/models.py:437 +#: common/models.py:439 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:451 +#: common/models.py:453 msgid "Key string must be unique" msgstr "Schlüsseltext muss eindeutig sein" -#: common/models.py:495 company/forms.py:113 +#: common/models.py:497 company/forms.py:113 #, fuzzy #| msgid "Price Breaks" msgid "Price break quantity" msgstr "Preisstaffelung" -#: common/models.py:503 company/templates/company/supplier_part_pricing.html:80 +#: common/models.py:505 company/templates/company/supplier_part_pricing.html:80 #: part/templates/part/sale_prices.html:87 templates/js/bom.js:246 msgid "Price" msgstr "Preis" -#: common/models.py:504 +#: common/models.py:506 #, fuzzy #| msgid "Enter a valid quantity" msgid "Unit price at specified quantity" msgstr "Bitte eine gültige Anzahl eingeben" -#: common/models.py:527 +#: common/models.py:529 #, fuzzy #| msgid "Default Location" msgid "Default" @@ -1587,39 +1604,76 @@ msgstr "Währung bearbeiten" msgid "Base Part" msgstr "Basisteil" -#: company/models.py:318 +#: company/models.py:317 msgid "Select part" msgstr "Teil auswählen" +#: company/models.py:323 company/templates/company/detail.html:57 +#: company/templates/company/supplier_part_base.html:74 +#: company/templates/company/supplier_part_detail.html:21 +#: order/templates/order/order_base.html:79 +#: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:170 +#: stock/templates/stock/item_base.html:287 templates/js/company.js:48 +#: templates/js/company.js:164 templates/js/order.js:162 +msgid "Supplier" +msgstr "Zulieferer" + #: company/models.py:324 msgid "Select supplier" msgstr "Zulieferer auswählen" -#: company/models.py:327 +#: company/models.py:329 company/templates/company/supplier_part_base.html:78 +#: company/templates/company/supplier_part_detail.html:22 part/bom.py:171 +msgid "SKU" +msgstr "SKU" + +#: company/models.py:330 msgid "Supplier stock keeping unit" msgstr "Stock Keeping Units (SKU) des Zulieferers" -#: company/models.py:334 +#: company/models.py:340 company/templates/company/detail.html:52 +#: company/templates/company/supplier_part_base.html:84 +#: company/templates/company/supplier_part_detail.html:30 part/bom.py:172 +#: templates/js/company.js:44 templates/js/company.js:188 +msgid "Manufacturer" +msgstr "Hersteller" + +#: company/models.py:341 msgid "Select manufacturer" msgstr "Hersteller auswählen" -#: company/models.py:338 +#: company/models.py:347 company/templates/company/supplier_part_base.html:88 +#: company/templates/company/supplier_part_detail.html:31 part/bom.py:173 +#: templates/js/company.js:204 +msgid "MPN" +msgstr "MPN" + +#: company/models.py:348 msgid "Manufacturer part number" msgstr "Hersteller-Teilenummer" -#: company/models.py:340 +#: company/models.py:353 templates/js/company.js:208 +msgid "Link" +msgstr "Link" + +#: company/models.py:354 msgid "URL for external supplier part link" msgstr "Teil-URL des Zulieferers" -#: company/models.py:342 +#: company/models.py:360 msgid "Supplier part description" msgstr "Zuliefererbeschreibung des Teils" -#: company/models.py:346 +#: company/models.py:365 company/templates/company/supplier_part_base.html:95 +#: company/templates/company/supplier_part_detail.html:34 +msgid "Note" +msgstr "Notiz" + +#: company/models.py:369 msgid "Minimum charge (e.g. stocking fee)" msgstr "Mindestpreis" -#: company/models.py:348 +#: company/models.py:371 msgid "Part packaging" msgstr "Teile-Packaging" @@ -1662,27 +1716,10 @@ msgstr "Keine Zeilen angegeben" msgid "Uses default currency" msgstr "Währung entfernen" -#: company/templates/company/detail.html:52 -#: company/templates/company/supplier_part_base.html:84 -#: company/templates/company/supplier_part_detail.html:30 part/bom.py:172 -#: templates/js/company.js:44 templates/js/company.js:188 -msgid "Manufacturer" -msgstr "Hersteller" - -#: company/templates/company/detail.html:57 -#: company/templates/company/supplier_part_base.html:74 -#: company/templates/company/supplier_part_detail.html:21 -#: order/templates/order/order_base.html:79 -#: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:170 -#: stock/templates/stock/item_base.html:287 templates/js/company.js:48 -#: templates/js/company.js:164 templates/js/order.js:162 -msgid "Supplier" -msgstr "Zulieferer" - #: company/templates/company/detail.html:62 -#: order/templates/order/sales_order_base.html:81 stock/models.py:373 +#: order/templates/order/sales_order_base.html:89 stock/models.py:373 #: stock/models.py:374 stock/templates/stock/item_base.html:204 -#: templates/js/company.js:40 templates/js/order.js:244 +#: templates/js/company.js:40 templates/js/order.js:250 msgid "Customer" msgstr "Kunde" @@ -1697,7 +1734,7 @@ msgstr "Neues Zuliefererteil anlegen" #: company/templates/company/detail_part.html:18 #: order/templates/order/purchase_order_detail.html:68 -#: part/templates/part/supplier.html:14 templates/js/stock.js:849 +#: part/templates/part/supplier.html:14 templates/js/stock.js:855 msgid "New Supplier Part" msgstr "Neues Zulieferer-Teil" @@ -1725,7 +1762,7 @@ msgid "Delete Parts" msgstr "Teile löschen" #: company/templates/company/detail_part.html:63 -#: part/templates/part/category.html:116 templates/js/stock.js:843 +#: part/templates/part/category.html:116 templates/js/stock.js:849 msgid "New Part" msgstr "Neues Teil" @@ -1846,22 +1883,6 @@ msgstr "Zuliefererteildetails" msgid "Internal Part" msgstr "Internes Teil" -#: company/templates/company/supplier_part_base.html:78 -#: company/templates/company/supplier_part_detail.html:22 part/bom.py:171 -msgid "SKU" -msgstr "SKU" - -#: company/templates/company/supplier_part_base.html:88 -#: company/templates/company/supplier_part_detail.html:31 part/bom.py:173 -#: templates/js/company.js:204 -msgid "MPN" -msgstr "MPN" - -#: company/templates/company/supplier_part_base.html:95 -#: company/templates/company/supplier_part_detail.html:34 -msgid "Note" -msgstr "Notiz" - #: company/templates/company/supplier_part_orders.html:9 msgid "Supplier Part Orders" msgstr "Zuliefererbestellungen" @@ -1913,7 +1934,7 @@ msgstr "Bepreisung" #: company/templates/company/tabs.html:12 part/templates/part/tabs.html:18 #: stock/templates/stock/location.html:17 templates/InvenTree/search.html:155 #: templates/InvenTree/settings/tabs.html:25 templates/js/part.js:192 -#: templates/js/part.js:418 templates/js/stock.js:502 templates/navbar.html:22 +#: templates/js/part.js:418 templates/js/stock.js:508 templates/navbar.html:22 #: users/models.py:29 msgid "Stock" msgstr "Lagerbestand" @@ -1996,7 +2017,7 @@ msgstr "Firma gelöscht" msgid "Edit Supplier Part" msgstr "Zuliefererteil bearbeiten" -#: company/views.py:295 templates/js/stock.js:850 +#: company/views.py:295 templates/js/stock.js:856 msgid "Create new Supplier Part" msgstr "Neues Zuliefererteil anlegen" @@ -2046,164 +2067,169 @@ msgstr "" msgid "Enabled" msgstr "" -#: order/forms.py:24 order/templates/order/order_base.html:39 +#: order/forms.py:25 order/templates/order/order_base.html:39 msgid "Place order" msgstr "Bestellung aufgeben" -#: order/forms.py:35 order/templates/order/order_base.html:46 +#: order/forms.py:36 order/templates/order/order_base.html:46 msgid "Mark order as complete" msgstr "Bestellung als vollständig markieren" -#: order/forms.py:46 order/forms.py:57 order/templates/order/order_base.html:51 -#: order/templates/order/sales_order_base.html:53 +#: order/forms.py:47 order/forms.py:58 order/templates/order/order_base.html:51 +#: order/templates/order/sales_order_base.html:56 msgid "Cancel order" msgstr "Bestellung stornieren" -#: order/forms.py:68 order/templates/order/sales_order_base.html:50 +#: order/forms.py:69 order/templates/order/sales_order_base.html:53 msgid "Ship order" msgstr "Bestellung versenden" -#: order/forms.py:79 +#: order/forms.py:80 msgid "Receive parts to this location" msgstr "Teile in diesen Ort empfangen" -#: order/forms.py:99 +#: order/forms.py:100 #, fuzzy #| msgid "Order reference" msgid "Purchase Order reference" msgstr "Bestell-Referenz" -#: order/forms.py:126 +#: order/forms.py:128 #, fuzzy #| msgid "Cancel sales order" msgid "Enter sales order number" msgstr "Auftrag stornieren" -#: order/models.py:110 +#: order/forms.py:134 order/models.py:330 +msgid "" +"Target date for order completion. Order will be overdue after this date." +msgstr "" + +#: order/models.py:98 msgid "Order reference" msgstr "Bestell-Referenz" -#: order/models.py:112 +#: order/models.py:100 msgid "Order description" msgstr "Bestellungs-Beschreibung" -#: order/models.py:114 +#: order/models.py:102 msgid "Link to external page" msgstr "Link auf externe Seite" -#: order/models.py:124 +#: order/models.py:112 msgid "Order notes" msgstr "Bestell-Notizen" -#: order/models.py:142 order/models.py:328 +#: order/models.py:131 order/models.py:323 #, fuzzy #| msgid "Purchase Order Details" msgid "Purchase order status" msgstr "Bestelldetails" -#: order/models.py:150 +#: order/models.py:139 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:153 +#: order/models.py:142 msgid "Supplier order reference code" msgstr "Bestellreferenz" -#: order/models.py:162 +#: order/models.py:151 msgid "Date order was issued" msgstr "" -#: order/models.py:164 +#: order/models.py:153 #, fuzzy #| msgid "Mark order as complete" msgid "Date order was completed" msgstr "Bestellung als vollständig markieren" -#: order/models.py:187 order/models.py:269 part/views.py:1494 +#: order/models.py:176 order/models.py:258 part/views.py:1494 #: stock/models.py:244 stock/models.py:812 msgid "Quantity must be greater than zero" msgstr "Anzahl muss größer Null sein" -#: order/models.py:192 +#: order/models.py:181 msgid "Part supplier must match PO supplier" msgstr "Teile-Zulieferer muss dem Zulieferer des Kaufvertrags entsprechen" -#: order/models.py:264 +#: order/models.py:253 msgid "Lines can only be received against an order marked as 'Placed'" msgstr "Nur Teile aufgegebener Bestllungen können empfangen werden" -#: order/models.py:324 +#: order/models.py:319 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:330 +#: order/models.py:325 msgid "Customer order reference code" msgstr "Bestellreferenz" -#: order/models.py:369 +#: order/models.py:387 msgid "SalesOrder cannot be shipped as it is not currently pending" msgstr "Bestellung kann nicht versendet werden weil sie nicht anhängig ist" -#: order/models.py:456 +#: order/models.py:474 msgid "Item quantity" msgstr "Anzahl" -#: order/models.py:458 +#: order/models.py:476 msgid "Line item reference" msgstr "Position - Referenz" -#: order/models.py:460 +#: order/models.py:478 msgid "Line item notes" msgstr "Position - Notizen" -#: order/models.py:486 order/templates/order/order_base.html:9 +#: order/models.py:504 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:24 #: stock/templates/stock/item_base.html:259 templates/js/order.js:146 msgid "Purchase Order" msgstr "Kaufvertrag" -#: order/models.py:499 +#: order/models.py:517 msgid "Supplier part" msgstr "Zulieferer-Teil" -#: order/models.py:502 +#: order/models.py:520 msgid "Number of items received" msgstr "Empfangene Objekt-Anzahl" -#: order/models.py:509 stock/models.py:458 +#: order/models.py:527 stock/models.py:458 #: stock/templates/stock/item_base.html:266 #, fuzzy #| msgid "Purchase Order" msgid "Purchase Price" msgstr "Kaufvertrag" -#: order/models.py:510 +#: order/models.py:528 #, fuzzy #| msgid "Purchase Order" msgid "Unit purchase price" msgstr "Kaufvertrag" -#: order/models.py:605 +#: order/models.py:623 msgid "Cannot allocate stock item to a line with a different part" msgstr "Kann Lagerobjekt keiner Zeile mit einem anderen Teil hinzufügen" -#: order/models.py:607 +#: order/models.py:625 msgid "Cannot allocate stock to a line without a part" msgstr "Kann Lagerobjekt keiner Zeile ohne Teil hinzufügen" -#: order/models.py:610 +#: order/models.py:628 msgid "Allocation quantity cannot exceed stock quantity" msgstr "zugewiesene Anzahl darf nicht die verfügbare Anzahl überschreiten" -#: order/models.py:620 +#: order/models.py:638 msgid "Quantity must be 1 for serialized stock item" msgstr "Anzahl muss 1 für Objekte mit Seriennummer sein" -#: order/models.py:636 +#: order/models.py:654 msgid "Select stock item to allocate" msgstr "Lagerobjekt für Zuordnung auswählen" -#: order/models.py:639 +#: order/models.py:657 msgid "Enter stock allocation quantity" msgstr "Zuordnungsanzahl eingeben" @@ -2234,12 +2260,12 @@ msgid "Purchase Order Details" msgstr "Bestelldetails" #: order/templates/order/order_base.html:69 -#: order/templates/order/sales_order_base.html:71 +#: order/templates/order/sales_order_base.html:74 msgid "Order Reference" msgstr "Bestellreferenz" #: order/templates/order/order_base.html:74 -#: order/templates/order/sales_order_base.html:76 +#: order/templates/order/sales_order_base.html:79 msgid "Order Status" msgstr "Bestellstatus" @@ -2254,7 +2280,7 @@ msgstr "Aufgegeben" #: order/templates/order/order_base.html:111 #: order/templates/order/purchase_order_detail.html:193 #: order/templates/order/receive_parts.html:22 -#: order/templates/order/sales_order_base.html:113 +#: order/templates/order/sales_order_base.html:128 msgid "Received" msgstr "Empfangen" @@ -2304,7 +2330,7 @@ msgid "Select existing purchase orders, or create new orders." msgstr "Bestellungen auswählen oder anlegen." #: order/templates/order/order_wizard/select_pos.html:31 -#: templates/js/order.js:193 templates/js/order.js:280 +#: templates/js/order.js:193 templates/js/order.js:291 msgid "Items" msgstr "Positionen" @@ -2346,7 +2372,7 @@ msgstr "Bestellpositionen" #: order/templates/order/purchase_order_detail.html:39 #: order/templates/order/purchase_order_detail.html:119 #: part/templates/part/category.html:173 part/templates/part/category.html:215 -#: templates/js/stock.js:855 +#: templates/js/stock.js:861 msgid "New Location" msgstr "Neuer Standort" @@ -2411,15 +2437,15 @@ msgstr "" msgid "This SalesOrder has not been fully allocated" msgstr "Dieser Auftrag ist nicht vollständig zugeordnet" -#: order/templates/order/sales_order_base.html:58 +#: order/templates/order/sales_order_base.html:61 msgid "Packing List" msgstr "Packliste" -#: order/templates/order/sales_order_base.html:66 +#: order/templates/order/sales_order_base.html:69 msgid "Sales Order Details" msgstr "Auftragsdetails" -#: order/templates/order/sales_order_base.html:87 templates/js/order.js:251 +#: order/templates/order/sales_order_base.html:95 templates/js/order.js:257 msgid "Customer Reference" msgstr "Kundenreferenz" @@ -2740,7 +2766,7 @@ msgstr "Neues Zulieferer-Teil" msgid "Include part supplier data in exported BOM" msgstr "" -#: part/forms.py:92 part/models.py:1717 +#: part/forms.py:92 part/models.py:1720 msgid "Parent Part" msgstr "Ausgangsteil" @@ -2830,7 +2856,7 @@ msgstr "Vorlagen-Name des Parameters muss eindeutig sein" msgid "Add parameter template to all categories" msgstr "Vorlagen-Name des Parameters muss eindeutig sein" -#: part/forms.py:331 +#: part/forms.py:333 msgid "Input quantity for price calculation" msgstr "Eintragsmenge zur Preisberechnung" @@ -2842,7 +2868,7 @@ msgstr "Standard-Standort für Teile dieser Kategorie" msgid "Default keywords for parts in this category" msgstr "Standard-Stichworte für Teile dieser Kategorie" -#: part/models.py:77 part/models.py:1762 +#: part/models.py:77 part/models.py:1765 #: part/templates/part/part_app_base.html:9 msgid "Part Category" msgstr "Teilkategorie" @@ -2930,7 +2956,7 @@ msgid "Stock keeping units for this part" msgstr "Stock Keeping Units (SKU) für dieses Teil" #: part/models.py:737 part/templates/part/detail.html:158 -#: templates/js/table_filters.js:264 +#: templates/js/table_filters.js:268 msgid "Assembly" msgstr "Baugruppe" @@ -2956,7 +2982,7 @@ msgstr "Kann dieses Teil an Kunden verkauft werden?" #: part/models.py:764 part/templates/part/detail.html:215 #: templates/js/table_filters.js:19 templates/js/table_filters.js:55 -#: templates/js/table_filters.js:186 templates/js/table_filters.js:247 +#: templates/js/table_filters.js:186 templates/js/table_filters.js:251 msgid "Active" msgstr "Aktiv" @@ -2981,13 +3007,13 @@ msgstr "Bemerkungen - unterstüzt Markdown-Formatierung" msgid "Stored BOM checksum" msgstr "Prüfsumme der Stückliste gespeichert" -#: part/models.py:1590 +#: part/models.py:1593 #, fuzzy #| msgid "Stock item cannot be created for a template Part" msgid "Test templates can only be created for trackable parts" msgstr "Lagerobjekt kann nicht für Vorlagen-Teile angelegt werden" -#: part/models.py:1607 +#: part/models.py:1610 #, fuzzy #| msgid "" #| "A stock item with this serial number already exists for template part " @@ -2997,146 +3023,146 @@ msgstr "" "Ein Teil mit dieser Seriennummer existiert bereits für die Teilevorlage " "{part}" -#: part/models.py:1626 templates/js/part.js:567 templates/js/stock.js:92 +#: part/models.py:1629 templates/js/part.js:567 templates/js/stock.js:92 #, fuzzy #| msgid "Instance Name" msgid "Test Name" msgstr "Instanzname" -#: part/models.py:1627 +#: part/models.py:1630 #, fuzzy #| msgid "Serial number for this item" msgid "Enter a name for the test" msgstr "Seriennummer für dieses Teil" -#: part/models.py:1632 +#: part/models.py:1635 #, fuzzy #| msgid "Description" msgid "Test Description" msgstr "Beschreibung" -#: part/models.py:1633 +#: part/models.py:1636 #, fuzzy #| msgid "Brief description of the build" msgid "Enter description for this test" msgstr "Kurze Beschreibung des Baus" -#: part/models.py:1638 templates/js/part.js:576 +#: part/models.py:1641 templates/js/part.js:576 #: templates/js/table_filters.js:172 msgid "Required" msgstr "benötigt" -#: part/models.py:1639 +#: part/models.py:1642 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:1644 templates/js/part.js:584 +#: part/models.py:1647 templates/js/part.js:584 #, fuzzy #| msgid "Required Parts" msgid "Requires Value" msgstr "benötigte Teile" -#: part/models.py:1645 +#: part/models.py:1648 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:1650 templates/js/part.js:591 +#: part/models.py:1653 templates/js/part.js:591 #, fuzzy #| msgid "Delete Attachment" msgid "Requires Attachment" msgstr "Anhang löschen" -#: part/models.py:1651 +#: part/models.py:1654 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:1684 +#: part/models.py:1687 msgid "Parameter template name must be unique" msgstr "Vorlagen-Name des Parameters muss eindeutig sein" -#: part/models.py:1689 +#: part/models.py:1692 msgid "Parameter Name" msgstr "Name des Parameters" -#: part/models.py:1691 +#: part/models.py:1694 msgid "Parameter Units" msgstr "Parameter Einheit" -#: part/models.py:1719 part/models.py:1767 +#: part/models.py:1722 part/models.py:1770 #: templates/InvenTree/settings/category.html:62 msgid "Parameter Template" msgstr "Parameter Vorlage" -#: part/models.py:1721 +#: part/models.py:1724 msgid "Parameter Value" msgstr "Parameter Wert" -#: part/models.py:1771 +#: part/models.py:1774 #, fuzzy #| msgid "Parameter Value" msgid "Default Parameter Value" msgstr "Parameter Wert" -#: part/models.py:1801 +#: part/models.py:1804 msgid "Select parent part" msgstr "Ausgangsteil auswählen" -#: part/models.py:1809 +#: part/models.py:1812 msgid "Select part to be used in BOM" msgstr "Teil für die Nutzung in der Stückliste auswählen" -#: part/models.py:1815 +#: part/models.py:1818 msgid "BOM quantity for this BOM item" msgstr "Stücklisten-Anzahl für dieses Stücklisten-Teil" -#: part/models.py:1817 +#: part/models.py:1820 #, fuzzy #| msgid "Confim BOM item deletion" msgid "This BOM item is optional" msgstr "Löschung von BOM-Position bestätigen" -#: part/models.py:1820 +#: part/models.py:1823 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "Geschätzter Ausschuss (absolut oder prozentual)" -#: part/models.py:1823 +#: part/models.py:1826 msgid "BOM item reference" msgstr "Referenz des Objekts auf der Stückliste" -#: part/models.py:1826 +#: part/models.py:1829 msgid "BOM item notes" msgstr "Notizen zum Stücklisten-Objekt" -#: part/models.py:1828 +#: part/models.py:1831 msgid "BOM line checksum" msgstr "Prüfsumme der Stückliste" -#: part/models.py:1899 part/views.py:1500 part/views.py:1552 +#: part/models.py:1902 part/views.py:1500 part/views.py:1552 #: stock/models.py:234 #, fuzzy #| msgid "Overage must be an integer value or a percentage" msgid "Quantity must be integer value for trackable parts" msgstr "Überschuss muss eine Ganzzahl oder ein Prozentwert sein" -#: part/models.py:1908 part/models.py:1910 +#: part/models.py:1911 part/models.py:1913 #, fuzzy #| msgid "Supplier part description" msgid "Sub part must be specified" msgstr "Zuliefererbeschreibung des Teils" -#: part/models.py:1913 +#: part/models.py:1916 #, fuzzy #| msgid "New BOM Item" msgid "BOM Item" msgstr "Neue Stücklistenposition" -#: part/models.py:2028 +#: part/models.py:2031 #, fuzzy #| msgid "Select a part" msgid "Select Related Part" msgstr "Teil auswählen" -#: part/models.py:2060 +#: part/models.py:2063 msgid "" "Error creating relationship: check that the part is not related to itself " "and that the relationship is unique" @@ -3159,7 +3185,7 @@ msgstr "Bestellung" #: stock/templates/stock/item_base.html:72 #: stock/templates/stock/item_base.html:274 #: stock/templates/stock/stock_adjust.html:16 templates/js/build.js:751 -#: templates/js/stock.js:699 templates/js/stock.js:948 +#: templates/js/stock.js:705 templates/js/stock.js:954 msgid "Stock Item" msgstr "Lagerobjekt" @@ -3450,7 +3476,7 @@ msgstr "Teilkategorie anlegen" msgid "Create new Part Category" msgstr "Teilkategorie anlegen" -#: part/templates/part/category.html:216 stock/views.py:1358 +#: part/templates/part/category.html:216 stock/views.py:1359 msgid "Create new Stock Location" msgstr "Neuen Lager-Standort erstellen" @@ -3522,7 +3548,7 @@ msgstr "Einheiten" msgid "Minimum Stock" msgstr "Minimaler Lagerbestand" -#: part/templates/part/detail.html:114 templates/js/order.js:270 +#: part/templates/part/detail.html:114 templates/js/order.js:276 msgid "Creation Date" msgstr "Erstelldatum" @@ -3543,7 +3569,7 @@ msgid "Part is not a virtual part" msgstr "Teil ist nicht virtuell" #: part/templates/part/detail.html:148 stock/forms.py:249 -#: templates/js/table_filters.js:23 templates/js/table_filters.js:252 +#: templates/js/table_filters.js:23 templates/js/table_filters.js:256 msgid "Template" msgstr "Vorlage" @@ -3956,7 +3982,7 @@ msgstr "Teil kopiert" msgid "Possible matches exist - confirm creation of new part" msgstr "" -#: part/views.py:592 templates/js/stock.js:844 +#: part/views.py:592 templates/js/stock.js:850 msgid "Create New Part" msgstr "Neues Teil anlegen" @@ -4618,7 +4644,7 @@ msgstr "Ist dieses Objekt einem Kunden zugeteilt?" msgid "Return to stock" msgstr "Bestand zählen" -#: stock/templates/stock/item_base.html:138 templates/js/stock.js:985 +#: stock/templates/stock/item_base.html:138 templates/js/stock.js:991 #, fuzzy #| msgid "Installed in Stock Item" msgid "Uninstall stock item" @@ -4840,7 +4866,7 @@ msgstr "Sind Sie sicher, dass Sie diesen Anhang löschen wollen?" msgid "The following stock items will be uninstalled" msgstr "Die folgenden Objekte werden erstellt" -#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:1330 +#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:1331 #, fuzzy #| msgid "Count Stock Items" msgid "Convert Stock Item" @@ -5078,43 +5104,43 @@ msgstr "{n} Teile im Lager gelöscht" msgid "Edit Stock Item" msgstr "Lagerobjekt bearbeiten" -#: stock/views.py:1380 +#: stock/views.py:1381 msgid "Serialize Stock" msgstr "Lagerbestand erfassen" -#: stock/views.py:1474 templates/js/build.js:210 +#: stock/views.py:1475 templates/js/build.js:210 msgid "Create new Stock Item" msgstr "Neues Lagerobjekt hinzufügen" -#: stock/views.py:1578 +#: stock/views.py:1579 #, fuzzy #| msgid "Count stock items" msgid "Duplicate Stock Item" msgstr "Lagerobjekte zählen" -#: stock/views.py:1650 +#: stock/views.py:1651 #, fuzzy #| msgid "Quantity must be greater than zero" msgid "Quantity cannot be negative" msgstr "Anzahl muss größer Null sein" -#: stock/views.py:1736 +#: stock/views.py:1737 msgid "Delete Stock Location" msgstr "Standort löschen" -#: stock/views.py:1750 +#: stock/views.py:1751 msgid "Delete Stock Item" msgstr "Lagerobjekt löschen" -#: stock/views.py:1762 +#: stock/views.py:1763 msgid "Delete Stock Tracking Entry" msgstr "Lagerbestands-Tracking-Eintrag löschen" -#: stock/views.py:1781 +#: stock/views.py:1782 msgid "Edit Stock Tracking Entry" msgstr "Lagerbestands-Tracking-Eintrag bearbeiten" -#: stock/views.py:1791 +#: stock/views.py:1792 msgid "Add Stock Tracking Entry" msgstr "Lagerbestands-Tracking-Eintrag hinzufügen" @@ -5402,6 +5428,12 @@ msgstr "Adresse" msgid "Outstanding Sales Orders" msgstr "Zielauftrag" +#: templates/InvenTree/so_overdue.html:7 +#, fuzzy +#| msgid "Sales Orders" +msgid "Overdue Sales Orders" +msgstr "Bestellungen" + #: templates/InvenTree/starred_parts.html:7 msgid "Starred Parts" msgstr "Teilfavoriten" @@ -5711,15 +5743,11 @@ msgstr "Vorlagenteil" msgid "Assembled part" msgstr "Baugruppe" -#: templates/js/company.js:208 -msgid "Link" -msgstr "Link" - #: templates/js/order.js:135 msgid "No purchase orders found" msgstr "Keine Bestellungen gefunden" -#: templates/js/order.js:188 templates/js/stock.js:681 +#: templates/js/order.js:188 templates/js/stock.js:687 msgid "Date" msgstr "Datum" @@ -5727,7 +5755,13 @@ msgstr "Datum" msgid "No sales orders found" msgstr "Keine Aufträge gefunden" -#: templates/js/order.js:275 +#: templates/js/order.js:241 +#, fuzzy +#| msgid "Build order allocation is complete" +msgid "Order is overdue" +msgstr "Bau-Zuweisung ist vollständig" + +#: templates/js/order.js:286 msgid "Shipment Date" msgstr "Versanddatum" @@ -5761,8 +5795,8 @@ msgstr "Keine Teile gefunden" msgid "No parts found" msgstr "Keine Teile gefunden" -#: templates/js/part.js:343 templates/js/stock.js:456 -#: templates/js/stock.js:1017 +#: templates/js/part.js:343 templates/js/stock.js:462 +#: templates/js/stock.js:1023 msgid "Select" msgstr "Auswählen" @@ -5770,7 +5804,7 @@ msgstr "Auswählen" msgid "No category" msgstr "Keine Kategorie" -#: templates/js/part.js:429 templates/js/table_filters.js:260 +#: templates/js/part.js:429 templates/js/table_filters.js:264 msgid "Low stock" msgstr "Bestand niedrig" @@ -5858,87 +5892,87 @@ msgstr "Ist dieses Objekt einem Kunden zugeteilt?" msgid "No stock items matching query" msgstr "Keine zur Anfrage passenden Lagerobjekte" -#: templates/js/stock.js:424 +#: templates/js/stock.js:430 #, fuzzy #| msgid "Include sublocations" msgid "Undefined location" msgstr "Unterlagerorte einschließen" -#: templates/js/stock.js:518 +#: templates/js/stock.js:524 #, fuzzy #| msgid "StockItem is lost" msgid "Stock item is in production" msgstr "Lagerobjekt verloren" -#: templates/js/stock.js:523 +#: templates/js/stock.js:529 #, fuzzy #| msgid "This stock item is allocated to Sales Order" msgid "Stock item assigned to sales order" msgstr "Dieses Lagerobjekt ist dem Auftrag zugewiesen" -#: templates/js/stock.js:526 +#: templates/js/stock.js:532 #, fuzzy #| msgid "StockItem has been allocated" msgid "Stock item assigned to customer" msgstr "Lagerobjekt wurde zugewiesen" -#: templates/js/stock.js:530 +#: templates/js/stock.js:536 #, fuzzy #| msgid "StockItem has been allocated" msgid "Stock item has been allocated" msgstr "Lagerobjekt wurde zugewiesen" -#: templates/js/stock.js:534 +#: templates/js/stock.js:540 #, fuzzy #| msgid "Is this item installed in another item?" msgid "Stock item has been installed in another item" msgstr "Ist dieses Teil in einem anderen verbaut?" -#: templates/js/stock.js:542 +#: templates/js/stock.js:548 #, fuzzy #| msgid "StockItem has been allocated" msgid "Stock item has been rejected" msgstr "Lagerobjekt wurde zugewiesen" -#: templates/js/stock.js:546 +#: templates/js/stock.js:552 #, fuzzy #| msgid "StockItem is lost" msgid "Stock item is lost" msgstr "Lagerobjekt verloren" -#: templates/js/stock.js:549 +#: templates/js/stock.js:555 #, fuzzy #| msgid "StockItem is lost" msgid "Stock item is destroyed" msgstr "Lagerobjekt verloren" -#: templates/js/stock.js:553 templates/js/table_filters.js:106 +#: templates/js/stock.js:559 templates/js/table_filters.js:106 #, fuzzy #| msgid "Delete" msgid "Depleted" msgstr "Löschen" -#: templates/js/stock.js:747 +#: templates/js/stock.js:753 msgid "No user information" msgstr "Keine Benutzerinformation" -#: templates/js/stock.js:856 +#: templates/js/stock.js:862 msgid "Create New Location" msgstr "Neuen Standort anlegen" -#: templates/js/stock.js:955 +#: templates/js/stock.js:961 #, fuzzy #| msgid "Serial Number" msgid "Serial" msgstr "Seriennummer" -#: templates/js/stock.js:1048 templates/js/table_filters.js:121 +#: templates/js/stock.js:1054 templates/js/table_filters.js:121 #, fuzzy #| msgid "Installed In" msgid "Installed" msgstr "Installiert in" -#: templates/js/stock.js:1073 +#: templates/js/stock.js:1079 #, fuzzy #| msgid "Installed In" msgid "Install item" @@ -5999,7 +6033,7 @@ msgstr "Seriennummer" msgid "Batch code" msgstr "Losnummer" -#: templates/js/table_filters.js:91 templates/js/table_filters.js:227 +#: templates/js/table_filters.js:91 templates/js/table_filters.js:231 msgid "Active parts" msgstr "Aktive Teile" @@ -6077,37 +6111,37 @@ msgstr "Bestellstatus" msgid "Outstanding" msgstr "Kaskadierend" -#: templates/js/table_filters.js:237 +#: templates/js/table_filters.js:241 msgid "Include subcategories" msgstr "Unterkategorien einschließen" -#: templates/js/table_filters.js:238 +#: templates/js/table_filters.js:242 msgid "Include parts in subcategories" msgstr "Teile in Unterkategorien einschließen" -#: templates/js/table_filters.js:242 +#: templates/js/table_filters.js:246 msgid "Has IPN" msgstr "" -#: templates/js/table_filters.js:243 +#: templates/js/table_filters.js:247 #, fuzzy #| msgid "Internal Part Number" msgid "Part has internal part number" msgstr "Interne Teilenummer" -#: templates/js/table_filters.js:248 +#: templates/js/table_filters.js:252 msgid "Show active parts" msgstr "Aktive Teile anzeigen" -#: templates/js/table_filters.js:256 +#: templates/js/table_filters.js:260 msgid "Stock available" msgstr "Bestand verfügbar" -#: templates/js/table_filters.js:272 +#: templates/js/table_filters.js:276 msgid "Starred" msgstr "Favorit" -#: templates/js/table_filters.js:284 +#: templates/js/table_filters.js:288 msgid "Purchasable" msgstr "Käuflich" @@ -6149,7 +6183,7 @@ msgstr "Admin" msgid "Logout" msgstr "Ausloggen" -#: templates/navbar.html:69 +#: templates/navbar.html:69 templates/registration/login.html:43 msgid "Login" msgstr "Einloggen" diff --git a/InvenTree/locale/en/LC_MESSAGES/django.po b/InvenTree/locale/en/LC_MESSAGES/django.po index 6f60f8ed93..a2b2081ed3 100644 --- a/InvenTree/locale/en/LC_MESSAGES/django.po +++ b/InvenTree/locale/en/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-12-16 19:08+1100\n" +"POT-Creation-Date: 2021-01-03 22:16+1100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -26,7 +26,11 @@ msgstr "" msgid "No matching action found" msgstr "" -#: InvenTree/forms.py:110 build/forms.py:91 build/forms.py:179 +#: InvenTree/fields.py:44 +msgid "Enter date" +msgstr "" + +#: InvenTree/forms.py:110 build/forms.py:90 build/forms.py:178 msgid "Confirm" msgstr "" @@ -50,8 +54,8 @@ msgstr "" msgid "Select Category" msgstr "" -#: InvenTree/helpers.py:361 order/models.py:189 order/models.py:271 -#: stock/views.py:1646 +#: InvenTree/helpers.py:361 order/models.py:178 order/models.py:260 +#: stock/views.py:1647 msgid "Invalid quantity provided" msgstr "" @@ -91,7 +95,7 @@ msgstr "" msgid "File comment" msgstr "" -#: InvenTree/models.py:68 templates/js/stock.js:738 +#: InvenTree/models.py:68 templates/js/stock.js:744 msgid "User" msgstr "" @@ -157,7 +161,7 @@ msgid "Returned" msgstr "" #: InvenTree/status_codes.py:136 -#: order/templates/order/sales_order_base.html:106 +#: order/templates/order/sales_order_base.html:121 msgid "Shipped" msgstr "" @@ -283,13 +287,22 @@ msgstr "" msgid "Barcode associated with StockItem" msgstr "" -#: build/forms.py:32 +#: build/forms.py:34 msgid "Build Order reference" msgstr "" -#: build/forms.py:79 build/templates/build/auto_allocate.html:17 +#: build/forms.py:35 +msgid "Order target date" +msgstr "" + +#: build/forms.py:39 build/models.py:173 +msgid "" +"Target date for build completion. Build will be overdue after this date." +msgstr "" + +#: build/forms.py:78 build/templates/build/auto_allocate.html:17 #: build/templates/build/build_base.html:83 -#: build/templates/build/detail.html:29 common/models.py:494 +#: build/templates/build/detail.html:29 common/models.py:496 #: company/forms.py:112 company/templates/company/supplier_part_pricing.html:75 #: order/templates/order/order_wizard/select_parts.html:32 #: order/templates/order/purchase_order_detail.html:179 @@ -302,60 +315,60 @@ msgstr "" #: stock/templates/stock/item_base.html:46 #: stock/templates/stock/item_base.html:197 #: stock/templates/stock/stock_adjust.html:18 templates/js/barcode.js:338 -#: templates/js/bom.js:195 templates/js/build.js:420 templates/js/stock.js:729 -#: templates/js/stock.js:957 +#: templates/js/bom.js:195 templates/js/build.js:420 templates/js/stock.js:735 +#: templates/js/stock.js:963 msgid "Quantity" msgstr "" -#: build/forms.py:80 +#: build/forms.py:79 msgid "Enter quantity for build output" msgstr "" -#: build/forms.py:84 stock/forms.py:111 +#: build/forms.py:83 stock/forms.py:111 msgid "Serial numbers" msgstr "" -#: build/forms.py:86 +#: build/forms.py:85 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/forms.py:92 +#: build/forms.py:91 msgid "Confirm creation of build outut" msgstr "" -#: build/forms.py:112 +#: build/forms.py:111 msgid "Confirm deletion of build output" msgstr "" -#: build/forms.py:133 +#: build/forms.py:132 msgid "Confirm unallocation of stock" msgstr "" -#: build/forms.py:157 +#: build/forms.py:156 msgid "Confirm stock allocation" msgstr "" -#: build/forms.py:180 +#: build/forms.py:179 msgid "Mark build as complete" msgstr "" -#: build/forms.py:204 +#: build/forms.py:203 msgid "Location of completed parts" msgstr "" -#: build/forms.py:209 +#: build/forms.py:208 msgid "Confirm completion with incomplete stock allocation" msgstr "" -#: build/forms.py:212 +#: build/forms.py:211 msgid "Confirm build completion" msgstr "" -#: build/forms.py:232 build/views.py:68 +#: build/forms.py:231 build/views.py:68 msgid "Confirm build cancellation" msgstr "" -#: build/forms.py:246 +#: build/forms.py:245 msgid "Select quantity of stock to allocate" msgstr "" @@ -382,16 +395,16 @@ msgid "Reference" msgstr "" #: build/models.py:83 build/templates/build/detail.html:19 -#: company/templates/company/detail.html:23 +#: company/models.py:359 company/templates/company/detail.html:23 #: company/templates/company/supplier_part_base.html:61 #: company/templates/company/supplier_part_detail.html:27 #: order/templates/order/purchase_order_detail.html:161 #: part/templates/part/detail.html:51 part/templates/part/set_category.html:14 #: templates/InvenTree/search.html:147 templates/js/bom.js:180 #: templates/js/bom.js:517 templates/js/build.js:664 templates/js/company.js:56 -#: templates/js/order.js:175 templates/js/order.js:257 templates/js/part.js:188 +#: templates/js/order.js:175 templates/js/order.js:263 templates/js/part.js:188 #: templates/js/part.js:271 templates/js/part.js:391 templates/js/part.js:572 -#: templates/js/stock.js:494 templates/js/stock.js:710 +#: templates/js/stock.js:500 templates/js/stock.js:716 msgid "Description" msgstr "" @@ -410,7 +423,7 @@ msgstr "" #: build/models.py:101 build/templates/build/auto_allocate.html:16 #: build/templates/build/build_base.html:78 -#: build/templates/build/detail.html:24 order/models.py:530 +#: build/templates/build/detail.html:24 order/models.py:548 #: order/templates/order/order_wizard/select_parts.html:30 #: order/templates/order/purchase_order_detail.html:148 #: order/templates/order/receive_parts.html:19 part/models.py:315 @@ -418,8 +431,8 @@ msgstr "" #: part/templates/part/set_category.html:13 templates/InvenTree/search.html:133 #: templates/js/barcode.js:336 templates/js/bom.js:153 templates/js/bom.js:502 #: templates/js/build.js:669 templates/js/company.js:138 -#: templates/js/part.js:252 templates/js/part.js:357 templates/js/stock.js:468 -#: templates/js/stock.js:1029 +#: templates/js/part.js:252 templates/js/part.js:357 templates/js/stock.js:474 +#: templates/js/stock.js:1035 msgid "Part" msgstr "" @@ -485,15 +498,10 @@ msgstr "" msgid "Batch code for this build output" msgstr "" -#: build/models.py:172 +#: build/models.py:172 order/models.py:329 msgid "Target completion date" msgstr "" -#: build/models.py:173 -msgid "" -"Target date for build completion. Build will be overdue after this date." -msgstr "" - #: build/models.py:186 build/templates/build/detail.html:89 #: company/templates/company/supplier_part_base.html:68 #: company/templates/company/supplier_part_detail.html:24 @@ -506,14 +514,14 @@ msgstr "" msgid "Link to external URL" msgstr "" -#: build/models.py:191 build/templates/build/tabs.html:23 company/models.py:344 +#: build/models.py:191 build/templates/build/tabs.html:23 company/models.py:366 #: company/templates/company/tabs.html:33 order/templates/order/po_tabs.html:18 #: order/templates/order/purchase_order_detail.html:213 #: order/templates/order/so_tabs.html:23 part/templates/part/tabs.html:73 #: stock/forms.py:307 stock/forms.py:339 stock/forms.py:367 stock/models.py:448 #: stock/models.py:1433 stock/templates/stock/tabs.html:26 #: templates/js/barcode.js:391 templates/js/bom.js:263 -#: templates/js/stock.js:116 templates/js/stock.js:582 +#: templates/js/stock.js:116 templates/js/stock.js:588 msgid "Notes" msgstr "" @@ -555,11 +563,11 @@ msgstr "" msgid "Allocated quantity ({n}) must not exceed available quantity ({q})" msgstr "" -#: build/models.py:934 order/models.py:614 +#: build/models.py:934 order/models.py:632 msgid "StockItem is over-allocated" msgstr "" -#: build/models.py:938 order/models.py:617 +#: build/models.py:938 order/models.py:635 msgid "Allocation quantity must be greater than zero" msgstr "" @@ -648,7 +656,7 @@ msgstr "" #: stock/templates/stock/item_base.html:227 #: stock/templates/stock/stock_adjust.html:17 #: templates/InvenTree/search.html:183 templates/js/barcode.js:337 -#: templates/js/build.js:434 templates/js/stock.js:574 +#: templates/js/build.js:434 templates/js/stock.js:580 msgid "Location" msgstr "" @@ -679,7 +687,10 @@ msgid "Admin view" msgstr "" #: build/templates/build/build_base.html:43 -#: build/templates/build/build_base.html:92 templates/js/table_filters.js:190 +#: build/templates/build/build_base.html:92 +#: order/templates/order/sales_order_base.html:41 +#: order/templates/order/sales_order_base.html:83 +#: templates/js/table_filters.js:190 templates/js/table_filters.js:222 msgid "Overdue" msgstr "" @@ -708,8 +719,8 @@ msgstr "" #: order/templates/order/receive_parts.html:24 #: stock/templates/stock/item_base.html:312 templates/InvenTree/search.html:175 #: templates/js/barcode.js:42 templates/js/build.js:697 -#: templates/js/order.js:180 templates/js/order.js:262 -#: templates/js/stock.js:561 templates/js/stock.js:965 +#: templates/js/order.js:180 templates/js/order.js:268 +#: templates/js/stock.js:567 templates/js/stock.js:971 msgid "Status" msgstr "" @@ -723,7 +734,7 @@ msgid "Progress" msgstr "" #: build/templates/build/build_base.html:111 -#: build/templates/build/detail.html:82 order/models.py:528 +#: build/templates/build/detail.html:82 order/models.py:546 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:33 #: order/templates/order/sales_order_notes.html:10 @@ -830,19 +841,21 @@ msgid "Destination location not specified" msgstr "" #: build/templates/build/detail.html:68 -#: stock/templates/stock/item_base.html:245 templates/js/stock.js:569 -#: templates/js/stock.js:972 templates/js/table_filters.js:80 +#: stock/templates/stock/item_base.html:245 templates/js/stock.js:575 +#: templates/js/stock.js:978 templates/js/table_filters.js:80 #: templates/js/table_filters.js:151 msgid "Batch" msgstr "" #: build/templates/build/detail.html:95 #: order/templates/order/order_base.html:98 -#: order/templates/order/sales_order_base.html:100 templates/js/build.js:705 +#: order/templates/order/sales_order_base.html:108 templates/js/build.js:705 msgid "Created" msgstr "" -#: build/templates/build/detail.html:100 templates/js/build.js:710 +#: build/templates/build/detail.html:100 +#: order/templates/order/sales_order_base.html:114 templates/js/build.js:710 +#: templates/js/order.js:281 msgid "Target Date" msgstr "" @@ -922,7 +935,7 @@ msgstr "" msgid "Create Build Output" msgstr "" -#: build/views.py:207 stock/models.py:828 stock/views.py:1667 +#: build/views.py:207 stock/models.py:828 stock/views.py:1668 msgid "Serial numbers already exist" msgstr "" @@ -1125,7 +1138,7 @@ msgid "Copy category parameter templates when creating a part" msgstr "" #: common/models.py:115 part/models.py:743 part/templates/part/detail.html:168 -#: templates/js/table_filters.js:268 +#: templates/js/table_filters.js:272 msgid "Component" msgstr "" @@ -1142,7 +1155,7 @@ msgid "Parts are purchaseable by default" msgstr "" #: common/models.py:129 part/models.py:759 part/templates/part/detail.html:198 -#: templates/js/table_filters.js:276 +#: templates/js/table_filters.js:280 msgid "Salable" msgstr "" @@ -1151,7 +1164,7 @@ msgid "Parts are salable by default" msgstr "" #: common/models.py:136 part/models.py:749 part/templates/part/detail.html:178 -#: templates/js/table_filters.js:31 templates/js/table_filters.js:280 +#: templates/js/table_filters.js:31 templates/js/table_filters.js:284 msgid "Trackable" msgstr "" @@ -1183,44 +1196,44 @@ msgstr "" msgid "Prefix value for sales order reference" msgstr "" -#: common/models.py:159 +#: common/models.py:160 msgid "Purchase Order Reference Prefix" msgstr "" -#: common/models.py:160 +#: common/models.py:161 msgid "Prefix value for purchase order reference" msgstr "" -#: common/models.py:376 +#: common/models.py:378 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:378 +#: common/models.py:380 msgid "Settings value" msgstr "" -#: common/models.py:437 +#: common/models.py:439 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:451 +#: common/models.py:453 msgid "Key string must be unique" msgstr "" -#: common/models.py:495 company/forms.py:113 +#: common/models.py:497 company/forms.py:113 msgid "Price break quantity" msgstr "" -#: common/models.py:503 company/templates/company/supplier_part_pricing.html:80 +#: common/models.py:505 company/templates/company/supplier_part_pricing.html:80 #: part/templates/part/sale_prices.html:87 templates/js/bom.js:246 msgid "Price" msgstr "" -#: common/models.py:504 +#: common/models.py:506 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:527 +#: common/models.py:529 msgid "Default" msgstr "" @@ -1326,39 +1339,76 @@ msgstr "" msgid "Base Part" msgstr "" -#: company/models.py:318 +#: company/models.py:317 msgid "Select part" msgstr "" +#: company/models.py:323 company/templates/company/detail.html:57 +#: company/templates/company/supplier_part_base.html:74 +#: company/templates/company/supplier_part_detail.html:21 +#: order/templates/order/order_base.html:79 +#: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:170 +#: stock/templates/stock/item_base.html:287 templates/js/company.js:48 +#: templates/js/company.js:164 templates/js/order.js:162 +msgid "Supplier" +msgstr "" + #: company/models.py:324 msgid "Select supplier" msgstr "" -#: company/models.py:327 +#: company/models.py:329 company/templates/company/supplier_part_base.html:78 +#: company/templates/company/supplier_part_detail.html:22 part/bom.py:171 +msgid "SKU" +msgstr "" + +#: company/models.py:330 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:334 +#: company/models.py:340 company/templates/company/detail.html:52 +#: company/templates/company/supplier_part_base.html:84 +#: company/templates/company/supplier_part_detail.html:30 part/bom.py:172 +#: templates/js/company.js:44 templates/js/company.js:188 +msgid "Manufacturer" +msgstr "" + +#: company/models.py:341 msgid "Select manufacturer" msgstr "" -#: company/models.py:338 -msgid "Manufacturer part number" -msgstr "" - -#: company/models.py:340 -msgid "URL for external supplier part link" -msgstr "" - -#: company/models.py:342 -msgid "Supplier part description" -msgstr "" - -#: company/models.py:346 -msgid "Minimum charge (e.g. stocking fee)" +#: company/models.py:347 company/templates/company/supplier_part_base.html:88 +#: company/templates/company/supplier_part_detail.html:31 part/bom.py:173 +#: templates/js/company.js:204 +msgid "MPN" msgstr "" #: company/models.py:348 +msgid "Manufacturer part number" +msgstr "" + +#: company/models.py:353 templates/js/company.js:208 +msgid "Link" +msgstr "" + +#: company/models.py:354 +msgid "URL for external supplier part link" +msgstr "" + +#: company/models.py:360 +msgid "Supplier part description" +msgstr "" + +#: company/models.py:365 company/templates/company/supplier_part_base.html:95 +#: company/templates/company/supplier_part_detail.html:34 +msgid "Note" +msgstr "" + +#: company/models.py:369 +msgid "Minimum charge (e.g. stocking fee)" +msgstr "" + +#: company/models.py:371 msgid "Part packaging" msgstr "" @@ -1393,27 +1443,10 @@ msgstr "" msgid "Uses default currency" msgstr "" -#: company/templates/company/detail.html:52 -#: company/templates/company/supplier_part_base.html:84 -#: company/templates/company/supplier_part_detail.html:30 part/bom.py:172 -#: templates/js/company.js:44 templates/js/company.js:188 -msgid "Manufacturer" -msgstr "" - -#: company/templates/company/detail.html:57 -#: company/templates/company/supplier_part_base.html:74 -#: company/templates/company/supplier_part_detail.html:21 -#: order/templates/order/order_base.html:79 -#: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:170 -#: stock/templates/stock/item_base.html:287 templates/js/company.js:48 -#: templates/js/company.js:164 templates/js/order.js:162 -msgid "Supplier" -msgstr "" - #: company/templates/company/detail.html:62 -#: order/templates/order/sales_order_base.html:81 stock/models.py:373 +#: order/templates/order/sales_order_base.html:89 stock/models.py:373 #: stock/models.py:374 stock/templates/stock/item_base.html:204 -#: templates/js/company.js:40 templates/js/order.js:244 +#: templates/js/company.js:40 templates/js/order.js:250 msgid "Customer" msgstr "" @@ -1428,7 +1461,7 @@ msgstr "" #: company/templates/company/detail_part.html:18 #: order/templates/order/purchase_order_detail.html:68 -#: part/templates/part/supplier.html:14 templates/js/stock.js:849 +#: part/templates/part/supplier.html:14 templates/js/stock.js:855 msgid "New Supplier Part" msgstr "" @@ -1452,7 +1485,7 @@ msgid "Delete Parts" msgstr "" #: company/templates/company/detail_part.html:63 -#: part/templates/part/category.html:116 templates/js/stock.js:843 +#: part/templates/part/category.html:116 templates/js/stock.js:849 msgid "New Part" msgstr "" @@ -1572,22 +1605,6 @@ msgstr "" msgid "Internal Part" msgstr "" -#: company/templates/company/supplier_part_base.html:78 -#: company/templates/company/supplier_part_detail.html:22 part/bom.py:171 -msgid "SKU" -msgstr "" - -#: company/templates/company/supplier_part_base.html:88 -#: company/templates/company/supplier_part_detail.html:31 part/bom.py:173 -#: templates/js/company.js:204 -msgid "MPN" -msgstr "" - -#: company/templates/company/supplier_part_base.html:95 -#: company/templates/company/supplier_part_detail.html:34 -msgid "Note" -msgstr "" - #: company/templates/company/supplier_part_orders.html:9 msgid "Supplier Part Orders" msgstr "" @@ -1633,7 +1650,7 @@ msgstr "" #: company/templates/company/tabs.html:12 part/templates/part/tabs.html:18 #: stock/templates/stock/location.html:17 templates/InvenTree/search.html:155 #: templates/InvenTree/settings/tabs.html:25 templates/js/part.js:192 -#: templates/js/part.js:418 templates/js/stock.js:502 templates/navbar.html:22 +#: templates/js/part.js:418 templates/js/stock.js:508 templates/navbar.html:22 #: users/models.py:29 msgid "Stock" msgstr "" @@ -1716,7 +1733,7 @@ msgstr "" msgid "Edit Supplier Part" msgstr "" -#: company/views.py:295 templates/js/stock.js:850 +#: company/views.py:295 templates/js/stock.js:856 msgid "Create new Supplier Part" msgstr "" @@ -1760,152 +1777,157 @@ msgstr "" msgid "Enabled" msgstr "" -#: order/forms.py:24 order/templates/order/order_base.html:39 +#: order/forms.py:25 order/templates/order/order_base.html:39 msgid "Place order" msgstr "" -#: order/forms.py:35 order/templates/order/order_base.html:46 +#: order/forms.py:36 order/templates/order/order_base.html:46 msgid "Mark order as complete" msgstr "" -#: order/forms.py:46 order/forms.py:57 order/templates/order/order_base.html:51 -#: order/templates/order/sales_order_base.html:53 +#: order/forms.py:47 order/forms.py:58 order/templates/order/order_base.html:51 +#: order/templates/order/sales_order_base.html:56 msgid "Cancel order" msgstr "" -#: order/forms.py:68 order/templates/order/sales_order_base.html:50 +#: order/forms.py:69 order/templates/order/sales_order_base.html:53 msgid "Ship order" msgstr "" -#: order/forms.py:79 +#: order/forms.py:80 msgid "Receive parts to this location" msgstr "" -#: order/forms.py:99 +#: order/forms.py:100 msgid "Purchase Order reference" msgstr "" -#: order/forms.py:126 +#: order/forms.py:128 msgid "Enter sales order number" msgstr "" -#: order/models.py:110 +#: order/forms.py:134 order/models.py:330 +msgid "" +"Target date for order completion. Order will be overdue after this date." +msgstr "" + +#: order/models.py:98 msgid "Order reference" msgstr "" -#: order/models.py:112 +#: order/models.py:100 msgid "Order description" msgstr "" -#: order/models.py:114 +#: order/models.py:102 msgid "Link to external page" msgstr "" -#: order/models.py:124 +#: order/models.py:112 msgid "Order notes" msgstr "" -#: order/models.py:142 order/models.py:328 +#: order/models.py:131 order/models.py:323 msgid "Purchase order status" msgstr "" -#: order/models.py:150 +#: order/models.py:139 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:153 +#: order/models.py:142 msgid "Supplier order reference code" msgstr "" -#: order/models.py:162 +#: order/models.py:151 msgid "Date order was issued" msgstr "" -#: order/models.py:164 +#: order/models.py:153 msgid "Date order was completed" msgstr "" -#: order/models.py:187 order/models.py:269 part/views.py:1494 +#: order/models.py:176 order/models.py:258 part/views.py:1494 #: stock/models.py:244 stock/models.py:812 msgid "Quantity must be greater than zero" msgstr "" -#: order/models.py:192 +#: order/models.py:181 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:264 +#: order/models.py:253 msgid "Lines can only be received against an order marked as 'Placed'" msgstr "" -#: order/models.py:324 +#: order/models.py:319 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:330 +#: order/models.py:325 msgid "Customer order reference code" msgstr "" -#: order/models.py:369 +#: order/models.py:387 msgid "SalesOrder cannot be shipped as it is not currently pending" msgstr "" -#: order/models.py:456 +#: order/models.py:474 msgid "Item quantity" msgstr "" -#: order/models.py:458 +#: order/models.py:476 msgid "Line item reference" msgstr "" -#: order/models.py:460 +#: order/models.py:478 msgid "Line item notes" msgstr "" -#: order/models.py:486 order/templates/order/order_base.html:9 +#: order/models.py:504 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:24 #: stock/templates/stock/item_base.html:259 templates/js/order.js:146 msgid "Purchase Order" msgstr "" -#: order/models.py:499 +#: order/models.py:517 msgid "Supplier part" msgstr "" -#: order/models.py:502 +#: order/models.py:520 msgid "Number of items received" msgstr "" -#: order/models.py:509 stock/models.py:458 +#: order/models.py:527 stock/models.py:458 #: stock/templates/stock/item_base.html:266 msgid "Purchase Price" msgstr "" -#: order/models.py:510 +#: order/models.py:528 msgid "Unit purchase price" msgstr "" -#: order/models.py:605 +#: order/models.py:623 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:607 +#: order/models.py:625 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:610 +#: order/models.py:628 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:620 +#: order/models.py:638 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:636 +#: order/models.py:654 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:639 +#: order/models.py:657 msgid "Enter stock allocation quantity" msgstr "" @@ -1932,12 +1954,12 @@ msgid "Purchase Order Details" msgstr "" #: order/templates/order/order_base.html:69 -#: order/templates/order/sales_order_base.html:71 +#: order/templates/order/sales_order_base.html:74 msgid "Order Reference" msgstr "" #: order/templates/order/order_base.html:74 -#: order/templates/order/sales_order_base.html:76 +#: order/templates/order/sales_order_base.html:79 msgid "Order Status" msgstr "" @@ -1952,7 +1974,7 @@ msgstr "" #: order/templates/order/order_base.html:111 #: order/templates/order/purchase_order_detail.html:193 #: order/templates/order/receive_parts.html:22 -#: order/templates/order/sales_order_base.html:113 +#: order/templates/order/sales_order_base.html:128 msgid "Received" msgstr "" @@ -1997,7 +2019,7 @@ msgid "Select existing purchase orders, or create new orders." msgstr "" #: order/templates/order/order_wizard/select_pos.html:31 -#: templates/js/order.js:193 templates/js/order.js:280 +#: templates/js/order.js:193 templates/js/order.js:291 msgid "Items" msgstr "" @@ -2035,7 +2057,7 @@ msgstr "" #: order/templates/order/purchase_order_detail.html:39 #: order/templates/order/purchase_order_detail.html:119 #: part/templates/part/category.html:173 part/templates/part/category.html:215 -#: templates/js/stock.js:855 +#: templates/js/stock.js:861 msgid "New Location" msgstr "" @@ -2096,15 +2118,15 @@ msgstr "" msgid "This SalesOrder has not been fully allocated" msgstr "" -#: order/templates/order/sales_order_base.html:58 +#: order/templates/order/sales_order_base.html:61 msgid "Packing List" msgstr "" -#: order/templates/order/sales_order_base.html:66 +#: order/templates/order/sales_order_base.html:69 msgid "Sales Order Details" msgstr "" -#: order/templates/order/sales_order_base.html:87 templates/js/order.js:251 +#: order/templates/order/sales_order_base.html:95 templates/js/order.js:257 msgid "Customer Reference" msgstr "" @@ -2405,7 +2427,7 @@ msgstr "" msgid "Include part supplier data in exported BOM" msgstr "" -#: part/forms.py:92 part/models.py:1717 +#: part/forms.py:92 part/models.py:1720 msgid "Parent Part" msgstr "" @@ -2473,7 +2495,7 @@ msgstr "" msgid "Add parameter template to all categories" msgstr "" -#: part/forms.py:331 +#: part/forms.py:333 msgid "Input quantity for price calculation" msgstr "" @@ -2485,7 +2507,7 @@ msgstr "" msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:77 part/models.py:1762 +#: part/models.py:77 part/models.py:1765 #: part/templates/part/part_app_base.html:9 msgid "Part Category" msgstr "" @@ -2569,7 +2591,7 @@ msgid "Stock keeping units for this part" msgstr "" #: part/models.py:737 part/templates/part/detail.html:158 -#: templates/js/table_filters.js:264 +#: templates/js/table_filters.js:268 msgid "Assembly" msgstr "" @@ -2595,7 +2617,7 @@ msgstr "" #: part/models.py:764 part/templates/part/detail.html:215 #: templates/js/table_filters.js:19 templates/js/table_filters.js:55 -#: templates/js/table_filters.js:186 templates/js/table_filters.js:247 +#: templates/js/table_filters.js:186 templates/js/table_filters.js:251 msgid "Active" msgstr "" @@ -2620,130 +2642,130 @@ msgstr "" msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1590 +#: part/models.py:1593 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:1607 +#: part/models.py:1610 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:1626 templates/js/part.js:567 templates/js/stock.js:92 +#: part/models.py:1629 templates/js/part.js:567 templates/js/stock.js:92 msgid "Test Name" msgstr "" -#: part/models.py:1627 +#: part/models.py:1630 msgid "Enter a name for the test" msgstr "" -#: part/models.py:1632 +#: part/models.py:1635 msgid "Test Description" msgstr "" -#: part/models.py:1633 +#: part/models.py:1636 msgid "Enter description for this test" msgstr "" -#: part/models.py:1638 templates/js/part.js:576 +#: part/models.py:1641 templates/js/part.js:576 #: templates/js/table_filters.js:172 msgid "Required" msgstr "" -#: part/models.py:1639 +#: part/models.py:1642 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:1644 templates/js/part.js:584 +#: part/models.py:1647 templates/js/part.js:584 msgid "Requires Value" msgstr "" -#: part/models.py:1645 +#: part/models.py:1648 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:1650 templates/js/part.js:591 +#: part/models.py:1653 templates/js/part.js:591 msgid "Requires Attachment" msgstr "" -#: part/models.py:1651 +#: part/models.py:1654 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:1684 +#: part/models.py:1687 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:1689 +#: part/models.py:1692 msgid "Parameter Name" msgstr "" -#: part/models.py:1691 +#: part/models.py:1694 msgid "Parameter Units" msgstr "" -#: part/models.py:1719 part/models.py:1767 +#: part/models.py:1722 part/models.py:1770 #: templates/InvenTree/settings/category.html:62 msgid "Parameter Template" msgstr "" -#: part/models.py:1721 +#: part/models.py:1724 msgid "Parameter Value" msgstr "" -#: part/models.py:1771 +#: part/models.py:1774 msgid "Default Parameter Value" msgstr "" -#: part/models.py:1801 +#: part/models.py:1804 msgid "Select parent part" msgstr "" -#: part/models.py:1809 +#: part/models.py:1812 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:1815 +#: part/models.py:1818 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:1817 +#: part/models.py:1820 msgid "This BOM item is optional" msgstr "" -#: part/models.py:1820 +#: part/models.py:1823 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:1823 +#: part/models.py:1826 msgid "BOM item reference" msgstr "" -#: part/models.py:1826 +#: part/models.py:1829 msgid "BOM item notes" msgstr "" -#: part/models.py:1828 +#: part/models.py:1831 msgid "BOM line checksum" msgstr "" -#: part/models.py:1899 part/views.py:1500 part/views.py:1552 +#: part/models.py:1902 part/views.py:1500 part/views.py:1552 #: stock/models.py:234 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:1908 part/models.py:1910 +#: part/models.py:1911 part/models.py:1913 msgid "Sub part must be specified" msgstr "" -#: part/models.py:1913 +#: part/models.py:1916 msgid "BOM Item" msgstr "" -#: part/models.py:2028 +#: part/models.py:2031 msgid "Select Related Part" msgstr "" -#: part/models.py:2060 +#: part/models.py:2063 msgid "" "Error creating relationship: check that the part is not related to itself " "and that the relationship is unique" @@ -2766,7 +2788,7 @@ msgstr "" #: stock/templates/stock/item_base.html:72 #: stock/templates/stock/item_base.html:274 #: stock/templates/stock/stock_adjust.html:16 templates/js/build.js:751 -#: templates/js/stock.js:699 templates/js/stock.js:948 +#: templates/js/stock.js:705 templates/js/stock.js:954 msgid "Stock Item" msgstr "" @@ -3003,7 +3025,7 @@ msgstr "" msgid "Create new Part Category" msgstr "" -#: part/templates/part/category.html:216 stock/views.py:1358 +#: part/templates/part/category.html:216 stock/views.py:1359 msgid "Create new Stock Location" msgstr "" @@ -3065,7 +3087,7 @@ msgstr "" msgid "Minimum Stock" msgstr "" -#: part/templates/part/detail.html:114 templates/js/order.js:270 +#: part/templates/part/detail.html:114 templates/js/order.js:276 msgid "Creation Date" msgstr "" @@ -3086,7 +3108,7 @@ msgid "Part is not a virtual part" msgstr "" #: part/templates/part/detail.html:148 stock/forms.py:249 -#: templates/js/table_filters.js:23 templates/js/table_filters.js:252 +#: templates/js/table_filters.js:23 templates/js/table_filters.js:256 msgid "Template" msgstr "" @@ -3439,7 +3461,7 @@ msgstr "" msgid "Possible matches exist - confirm creation of new part" msgstr "" -#: part/views.py:592 templates/js/stock.js:844 +#: part/views.py:592 templates/js/stock.js:850 msgid "Create New Part" msgstr "" @@ -4000,7 +4022,7 @@ msgstr "" msgid "Return to stock" msgstr "" -#: stock/templates/stock/item_base.html:138 templates/js/stock.js:985 +#: stock/templates/stock/item_base.html:138 templates/js/stock.js:991 msgid "Uninstall stock item" msgstr "" @@ -4182,7 +4204,7 @@ msgstr "" msgid "The following stock items will be uninstalled" msgstr "" -#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:1330 +#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:1331 msgid "Convert Stock Item" msgstr "" @@ -4380,39 +4402,39 @@ msgstr "" msgid "Edit Stock Item" msgstr "" -#: stock/views.py:1380 +#: stock/views.py:1381 msgid "Serialize Stock" msgstr "" -#: stock/views.py:1474 templates/js/build.js:210 +#: stock/views.py:1475 templates/js/build.js:210 msgid "Create new Stock Item" msgstr "" -#: stock/views.py:1578 +#: stock/views.py:1579 msgid "Duplicate Stock Item" msgstr "" -#: stock/views.py:1650 +#: stock/views.py:1651 msgid "Quantity cannot be negative" msgstr "" -#: stock/views.py:1736 +#: stock/views.py:1737 msgid "Delete Stock Location" msgstr "" -#: stock/views.py:1750 +#: stock/views.py:1751 msgid "Delete Stock Item" msgstr "" -#: stock/views.py:1762 +#: stock/views.py:1763 msgid "Delete Stock Tracking Entry" msgstr "" -#: stock/views.py:1781 +#: stock/views.py:1782 msgid "Edit Stock Tracking Entry" msgstr "" -#: stock/views.py:1791 +#: stock/views.py:1792 msgid "Add Stock Tracking Entry" msgstr "" @@ -4630,6 +4652,10 @@ msgstr "" msgid "Outstanding Sales Orders" msgstr "" +#: templates/InvenTree/so_overdue.html:7 +msgid "Overdue Sales Orders" +msgstr "" + #: templates/InvenTree/starred_parts.html:7 msgid "Starred Parts" msgstr "" @@ -4887,15 +4913,11 @@ msgstr "" msgid "Assembled part" msgstr "" -#: templates/js/company.js:208 -msgid "Link" -msgstr "" - #: templates/js/order.js:135 msgid "No purchase orders found" msgstr "" -#: templates/js/order.js:188 templates/js/stock.js:681 +#: templates/js/order.js:188 templates/js/stock.js:687 msgid "Date" msgstr "" @@ -4903,7 +4925,11 @@ msgstr "" msgid "No sales orders found" msgstr "" -#: templates/js/order.js:275 +#: templates/js/order.js:241 +msgid "Order is overdue" +msgstr "" + +#: templates/js/order.js:286 msgid "Shipment Date" msgstr "" @@ -4931,8 +4957,8 @@ msgstr "" msgid "No parts found" msgstr "" -#: templates/js/part.js:343 templates/js/stock.js:456 -#: templates/js/stock.js:1017 +#: templates/js/part.js:343 templates/js/stock.js:462 +#: templates/js/stock.js:1023 msgid "Select" msgstr "" @@ -4940,7 +4966,7 @@ msgstr "" msgid "No category" msgstr "" -#: templates/js/part.js:429 templates/js/table_filters.js:260 +#: templates/js/part.js:429 templates/js/table_filters.js:264 msgid "Low stock" msgstr "" @@ -5012,63 +5038,63 @@ msgstr "" msgid "No stock items matching query" msgstr "" -#: templates/js/stock.js:424 +#: templates/js/stock.js:430 msgid "Undefined location" msgstr "" -#: templates/js/stock.js:518 +#: templates/js/stock.js:524 msgid "Stock item is in production" msgstr "" -#: templates/js/stock.js:523 +#: templates/js/stock.js:529 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/stock.js:526 +#: templates/js/stock.js:532 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/stock.js:530 +#: templates/js/stock.js:536 msgid "Stock item has been allocated" msgstr "" -#: templates/js/stock.js:534 +#: templates/js/stock.js:540 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/stock.js:542 +#: templates/js/stock.js:548 msgid "Stock item has been rejected" msgstr "" -#: templates/js/stock.js:546 +#: templates/js/stock.js:552 msgid "Stock item is lost" msgstr "" -#: templates/js/stock.js:549 +#: templates/js/stock.js:555 msgid "Stock item is destroyed" msgstr "" -#: templates/js/stock.js:553 templates/js/table_filters.js:106 +#: templates/js/stock.js:559 templates/js/table_filters.js:106 msgid "Depleted" msgstr "" -#: templates/js/stock.js:747 +#: templates/js/stock.js:753 msgid "No user information" msgstr "" -#: templates/js/stock.js:856 +#: templates/js/stock.js:862 msgid "Create New Location" msgstr "" -#: templates/js/stock.js:955 +#: templates/js/stock.js:961 msgid "Serial" msgstr "" -#: templates/js/stock.js:1048 templates/js/table_filters.js:121 +#: templates/js/stock.js:1054 templates/js/table_filters.js:121 msgid "Installed" msgstr "" -#: templates/js/stock.js:1073 +#: templates/js/stock.js:1079 msgid "Install item" msgstr "" @@ -5109,7 +5135,7 @@ msgstr "" msgid "Batch code" msgstr "" -#: templates/js/table_filters.js:91 templates/js/table_filters.js:227 +#: templates/js/table_filters.js:91 templates/js/table_filters.js:231 msgid "Active parts" msgstr "" @@ -5177,35 +5203,35 @@ msgstr "" msgid "Outstanding" msgstr "" -#: templates/js/table_filters.js:237 +#: templates/js/table_filters.js:241 msgid "Include subcategories" msgstr "" -#: templates/js/table_filters.js:238 +#: templates/js/table_filters.js:242 msgid "Include parts in subcategories" msgstr "" -#: templates/js/table_filters.js:242 +#: templates/js/table_filters.js:246 msgid "Has IPN" msgstr "" -#: templates/js/table_filters.js:243 +#: templates/js/table_filters.js:247 msgid "Part has internal part number" msgstr "" -#: templates/js/table_filters.js:248 +#: templates/js/table_filters.js:252 msgid "Show active parts" msgstr "" -#: templates/js/table_filters.js:256 +#: templates/js/table_filters.js:260 msgid "Stock available" msgstr "" -#: templates/js/table_filters.js:272 +#: templates/js/table_filters.js:276 msgid "Starred" msgstr "" -#: templates/js/table_filters.js:284 +#: templates/js/table_filters.js:288 msgid "Purchasable" msgstr "" @@ -5245,7 +5271,7 @@ msgstr "" msgid "Logout" msgstr "" -#: templates/navbar.html:69 +#: templates/navbar.html:69 templates/registration/login.html:43 msgid "Login" msgstr "" diff --git a/InvenTree/locale/es/LC_MESSAGES/django.po b/InvenTree/locale/es/LC_MESSAGES/django.po index 6f60f8ed93..a2b2081ed3 100644 --- a/InvenTree/locale/es/LC_MESSAGES/django.po +++ b/InvenTree/locale/es/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-12-16 19:08+1100\n" +"POT-Creation-Date: 2021-01-03 22:16+1100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -26,7 +26,11 @@ msgstr "" msgid "No matching action found" msgstr "" -#: InvenTree/forms.py:110 build/forms.py:91 build/forms.py:179 +#: InvenTree/fields.py:44 +msgid "Enter date" +msgstr "" + +#: InvenTree/forms.py:110 build/forms.py:90 build/forms.py:178 msgid "Confirm" msgstr "" @@ -50,8 +54,8 @@ msgstr "" msgid "Select Category" msgstr "" -#: InvenTree/helpers.py:361 order/models.py:189 order/models.py:271 -#: stock/views.py:1646 +#: InvenTree/helpers.py:361 order/models.py:178 order/models.py:260 +#: stock/views.py:1647 msgid "Invalid quantity provided" msgstr "" @@ -91,7 +95,7 @@ msgstr "" msgid "File comment" msgstr "" -#: InvenTree/models.py:68 templates/js/stock.js:738 +#: InvenTree/models.py:68 templates/js/stock.js:744 msgid "User" msgstr "" @@ -157,7 +161,7 @@ msgid "Returned" msgstr "" #: InvenTree/status_codes.py:136 -#: order/templates/order/sales_order_base.html:106 +#: order/templates/order/sales_order_base.html:121 msgid "Shipped" msgstr "" @@ -283,13 +287,22 @@ msgstr "" msgid "Barcode associated with StockItem" msgstr "" -#: build/forms.py:32 +#: build/forms.py:34 msgid "Build Order reference" msgstr "" -#: build/forms.py:79 build/templates/build/auto_allocate.html:17 +#: build/forms.py:35 +msgid "Order target date" +msgstr "" + +#: build/forms.py:39 build/models.py:173 +msgid "" +"Target date for build completion. Build will be overdue after this date." +msgstr "" + +#: build/forms.py:78 build/templates/build/auto_allocate.html:17 #: build/templates/build/build_base.html:83 -#: build/templates/build/detail.html:29 common/models.py:494 +#: build/templates/build/detail.html:29 common/models.py:496 #: company/forms.py:112 company/templates/company/supplier_part_pricing.html:75 #: order/templates/order/order_wizard/select_parts.html:32 #: order/templates/order/purchase_order_detail.html:179 @@ -302,60 +315,60 @@ msgstr "" #: stock/templates/stock/item_base.html:46 #: stock/templates/stock/item_base.html:197 #: stock/templates/stock/stock_adjust.html:18 templates/js/barcode.js:338 -#: templates/js/bom.js:195 templates/js/build.js:420 templates/js/stock.js:729 -#: templates/js/stock.js:957 +#: templates/js/bom.js:195 templates/js/build.js:420 templates/js/stock.js:735 +#: templates/js/stock.js:963 msgid "Quantity" msgstr "" -#: build/forms.py:80 +#: build/forms.py:79 msgid "Enter quantity for build output" msgstr "" -#: build/forms.py:84 stock/forms.py:111 +#: build/forms.py:83 stock/forms.py:111 msgid "Serial numbers" msgstr "" -#: build/forms.py:86 +#: build/forms.py:85 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/forms.py:92 +#: build/forms.py:91 msgid "Confirm creation of build outut" msgstr "" -#: build/forms.py:112 +#: build/forms.py:111 msgid "Confirm deletion of build output" msgstr "" -#: build/forms.py:133 +#: build/forms.py:132 msgid "Confirm unallocation of stock" msgstr "" -#: build/forms.py:157 +#: build/forms.py:156 msgid "Confirm stock allocation" msgstr "" -#: build/forms.py:180 +#: build/forms.py:179 msgid "Mark build as complete" msgstr "" -#: build/forms.py:204 +#: build/forms.py:203 msgid "Location of completed parts" msgstr "" -#: build/forms.py:209 +#: build/forms.py:208 msgid "Confirm completion with incomplete stock allocation" msgstr "" -#: build/forms.py:212 +#: build/forms.py:211 msgid "Confirm build completion" msgstr "" -#: build/forms.py:232 build/views.py:68 +#: build/forms.py:231 build/views.py:68 msgid "Confirm build cancellation" msgstr "" -#: build/forms.py:246 +#: build/forms.py:245 msgid "Select quantity of stock to allocate" msgstr "" @@ -382,16 +395,16 @@ msgid "Reference" msgstr "" #: build/models.py:83 build/templates/build/detail.html:19 -#: company/templates/company/detail.html:23 +#: company/models.py:359 company/templates/company/detail.html:23 #: company/templates/company/supplier_part_base.html:61 #: company/templates/company/supplier_part_detail.html:27 #: order/templates/order/purchase_order_detail.html:161 #: part/templates/part/detail.html:51 part/templates/part/set_category.html:14 #: templates/InvenTree/search.html:147 templates/js/bom.js:180 #: templates/js/bom.js:517 templates/js/build.js:664 templates/js/company.js:56 -#: templates/js/order.js:175 templates/js/order.js:257 templates/js/part.js:188 +#: templates/js/order.js:175 templates/js/order.js:263 templates/js/part.js:188 #: templates/js/part.js:271 templates/js/part.js:391 templates/js/part.js:572 -#: templates/js/stock.js:494 templates/js/stock.js:710 +#: templates/js/stock.js:500 templates/js/stock.js:716 msgid "Description" msgstr "" @@ -410,7 +423,7 @@ msgstr "" #: build/models.py:101 build/templates/build/auto_allocate.html:16 #: build/templates/build/build_base.html:78 -#: build/templates/build/detail.html:24 order/models.py:530 +#: build/templates/build/detail.html:24 order/models.py:548 #: order/templates/order/order_wizard/select_parts.html:30 #: order/templates/order/purchase_order_detail.html:148 #: order/templates/order/receive_parts.html:19 part/models.py:315 @@ -418,8 +431,8 @@ msgstr "" #: part/templates/part/set_category.html:13 templates/InvenTree/search.html:133 #: templates/js/barcode.js:336 templates/js/bom.js:153 templates/js/bom.js:502 #: templates/js/build.js:669 templates/js/company.js:138 -#: templates/js/part.js:252 templates/js/part.js:357 templates/js/stock.js:468 -#: templates/js/stock.js:1029 +#: templates/js/part.js:252 templates/js/part.js:357 templates/js/stock.js:474 +#: templates/js/stock.js:1035 msgid "Part" msgstr "" @@ -485,15 +498,10 @@ msgstr "" msgid "Batch code for this build output" msgstr "" -#: build/models.py:172 +#: build/models.py:172 order/models.py:329 msgid "Target completion date" msgstr "" -#: build/models.py:173 -msgid "" -"Target date for build completion. Build will be overdue after this date." -msgstr "" - #: build/models.py:186 build/templates/build/detail.html:89 #: company/templates/company/supplier_part_base.html:68 #: company/templates/company/supplier_part_detail.html:24 @@ -506,14 +514,14 @@ msgstr "" msgid "Link to external URL" msgstr "" -#: build/models.py:191 build/templates/build/tabs.html:23 company/models.py:344 +#: build/models.py:191 build/templates/build/tabs.html:23 company/models.py:366 #: company/templates/company/tabs.html:33 order/templates/order/po_tabs.html:18 #: order/templates/order/purchase_order_detail.html:213 #: order/templates/order/so_tabs.html:23 part/templates/part/tabs.html:73 #: stock/forms.py:307 stock/forms.py:339 stock/forms.py:367 stock/models.py:448 #: stock/models.py:1433 stock/templates/stock/tabs.html:26 #: templates/js/barcode.js:391 templates/js/bom.js:263 -#: templates/js/stock.js:116 templates/js/stock.js:582 +#: templates/js/stock.js:116 templates/js/stock.js:588 msgid "Notes" msgstr "" @@ -555,11 +563,11 @@ msgstr "" msgid "Allocated quantity ({n}) must not exceed available quantity ({q})" msgstr "" -#: build/models.py:934 order/models.py:614 +#: build/models.py:934 order/models.py:632 msgid "StockItem is over-allocated" msgstr "" -#: build/models.py:938 order/models.py:617 +#: build/models.py:938 order/models.py:635 msgid "Allocation quantity must be greater than zero" msgstr "" @@ -648,7 +656,7 @@ msgstr "" #: stock/templates/stock/item_base.html:227 #: stock/templates/stock/stock_adjust.html:17 #: templates/InvenTree/search.html:183 templates/js/barcode.js:337 -#: templates/js/build.js:434 templates/js/stock.js:574 +#: templates/js/build.js:434 templates/js/stock.js:580 msgid "Location" msgstr "" @@ -679,7 +687,10 @@ msgid "Admin view" msgstr "" #: build/templates/build/build_base.html:43 -#: build/templates/build/build_base.html:92 templates/js/table_filters.js:190 +#: build/templates/build/build_base.html:92 +#: order/templates/order/sales_order_base.html:41 +#: order/templates/order/sales_order_base.html:83 +#: templates/js/table_filters.js:190 templates/js/table_filters.js:222 msgid "Overdue" msgstr "" @@ -708,8 +719,8 @@ msgstr "" #: order/templates/order/receive_parts.html:24 #: stock/templates/stock/item_base.html:312 templates/InvenTree/search.html:175 #: templates/js/barcode.js:42 templates/js/build.js:697 -#: templates/js/order.js:180 templates/js/order.js:262 -#: templates/js/stock.js:561 templates/js/stock.js:965 +#: templates/js/order.js:180 templates/js/order.js:268 +#: templates/js/stock.js:567 templates/js/stock.js:971 msgid "Status" msgstr "" @@ -723,7 +734,7 @@ msgid "Progress" msgstr "" #: build/templates/build/build_base.html:111 -#: build/templates/build/detail.html:82 order/models.py:528 +#: build/templates/build/detail.html:82 order/models.py:546 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:33 #: order/templates/order/sales_order_notes.html:10 @@ -830,19 +841,21 @@ msgid "Destination location not specified" msgstr "" #: build/templates/build/detail.html:68 -#: stock/templates/stock/item_base.html:245 templates/js/stock.js:569 -#: templates/js/stock.js:972 templates/js/table_filters.js:80 +#: stock/templates/stock/item_base.html:245 templates/js/stock.js:575 +#: templates/js/stock.js:978 templates/js/table_filters.js:80 #: templates/js/table_filters.js:151 msgid "Batch" msgstr "" #: build/templates/build/detail.html:95 #: order/templates/order/order_base.html:98 -#: order/templates/order/sales_order_base.html:100 templates/js/build.js:705 +#: order/templates/order/sales_order_base.html:108 templates/js/build.js:705 msgid "Created" msgstr "" -#: build/templates/build/detail.html:100 templates/js/build.js:710 +#: build/templates/build/detail.html:100 +#: order/templates/order/sales_order_base.html:114 templates/js/build.js:710 +#: templates/js/order.js:281 msgid "Target Date" msgstr "" @@ -922,7 +935,7 @@ msgstr "" msgid "Create Build Output" msgstr "" -#: build/views.py:207 stock/models.py:828 stock/views.py:1667 +#: build/views.py:207 stock/models.py:828 stock/views.py:1668 msgid "Serial numbers already exist" msgstr "" @@ -1125,7 +1138,7 @@ msgid "Copy category parameter templates when creating a part" msgstr "" #: common/models.py:115 part/models.py:743 part/templates/part/detail.html:168 -#: templates/js/table_filters.js:268 +#: templates/js/table_filters.js:272 msgid "Component" msgstr "" @@ -1142,7 +1155,7 @@ msgid "Parts are purchaseable by default" msgstr "" #: common/models.py:129 part/models.py:759 part/templates/part/detail.html:198 -#: templates/js/table_filters.js:276 +#: templates/js/table_filters.js:280 msgid "Salable" msgstr "" @@ -1151,7 +1164,7 @@ msgid "Parts are salable by default" msgstr "" #: common/models.py:136 part/models.py:749 part/templates/part/detail.html:178 -#: templates/js/table_filters.js:31 templates/js/table_filters.js:280 +#: templates/js/table_filters.js:31 templates/js/table_filters.js:284 msgid "Trackable" msgstr "" @@ -1183,44 +1196,44 @@ msgstr "" msgid "Prefix value for sales order reference" msgstr "" -#: common/models.py:159 +#: common/models.py:160 msgid "Purchase Order Reference Prefix" msgstr "" -#: common/models.py:160 +#: common/models.py:161 msgid "Prefix value for purchase order reference" msgstr "" -#: common/models.py:376 +#: common/models.py:378 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:378 +#: common/models.py:380 msgid "Settings value" msgstr "" -#: common/models.py:437 +#: common/models.py:439 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:451 +#: common/models.py:453 msgid "Key string must be unique" msgstr "" -#: common/models.py:495 company/forms.py:113 +#: common/models.py:497 company/forms.py:113 msgid "Price break quantity" msgstr "" -#: common/models.py:503 company/templates/company/supplier_part_pricing.html:80 +#: common/models.py:505 company/templates/company/supplier_part_pricing.html:80 #: part/templates/part/sale_prices.html:87 templates/js/bom.js:246 msgid "Price" msgstr "" -#: common/models.py:504 +#: common/models.py:506 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:527 +#: common/models.py:529 msgid "Default" msgstr "" @@ -1326,39 +1339,76 @@ msgstr "" msgid "Base Part" msgstr "" -#: company/models.py:318 +#: company/models.py:317 msgid "Select part" msgstr "" +#: company/models.py:323 company/templates/company/detail.html:57 +#: company/templates/company/supplier_part_base.html:74 +#: company/templates/company/supplier_part_detail.html:21 +#: order/templates/order/order_base.html:79 +#: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:170 +#: stock/templates/stock/item_base.html:287 templates/js/company.js:48 +#: templates/js/company.js:164 templates/js/order.js:162 +msgid "Supplier" +msgstr "" + #: company/models.py:324 msgid "Select supplier" msgstr "" -#: company/models.py:327 +#: company/models.py:329 company/templates/company/supplier_part_base.html:78 +#: company/templates/company/supplier_part_detail.html:22 part/bom.py:171 +msgid "SKU" +msgstr "" + +#: company/models.py:330 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:334 +#: company/models.py:340 company/templates/company/detail.html:52 +#: company/templates/company/supplier_part_base.html:84 +#: company/templates/company/supplier_part_detail.html:30 part/bom.py:172 +#: templates/js/company.js:44 templates/js/company.js:188 +msgid "Manufacturer" +msgstr "" + +#: company/models.py:341 msgid "Select manufacturer" msgstr "" -#: company/models.py:338 -msgid "Manufacturer part number" -msgstr "" - -#: company/models.py:340 -msgid "URL for external supplier part link" -msgstr "" - -#: company/models.py:342 -msgid "Supplier part description" -msgstr "" - -#: company/models.py:346 -msgid "Minimum charge (e.g. stocking fee)" +#: company/models.py:347 company/templates/company/supplier_part_base.html:88 +#: company/templates/company/supplier_part_detail.html:31 part/bom.py:173 +#: templates/js/company.js:204 +msgid "MPN" msgstr "" #: company/models.py:348 +msgid "Manufacturer part number" +msgstr "" + +#: company/models.py:353 templates/js/company.js:208 +msgid "Link" +msgstr "" + +#: company/models.py:354 +msgid "URL for external supplier part link" +msgstr "" + +#: company/models.py:360 +msgid "Supplier part description" +msgstr "" + +#: company/models.py:365 company/templates/company/supplier_part_base.html:95 +#: company/templates/company/supplier_part_detail.html:34 +msgid "Note" +msgstr "" + +#: company/models.py:369 +msgid "Minimum charge (e.g. stocking fee)" +msgstr "" + +#: company/models.py:371 msgid "Part packaging" msgstr "" @@ -1393,27 +1443,10 @@ msgstr "" msgid "Uses default currency" msgstr "" -#: company/templates/company/detail.html:52 -#: company/templates/company/supplier_part_base.html:84 -#: company/templates/company/supplier_part_detail.html:30 part/bom.py:172 -#: templates/js/company.js:44 templates/js/company.js:188 -msgid "Manufacturer" -msgstr "" - -#: company/templates/company/detail.html:57 -#: company/templates/company/supplier_part_base.html:74 -#: company/templates/company/supplier_part_detail.html:21 -#: order/templates/order/order_base.html:79 -#: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:170 -#: stock/templates/stock/item_base.html:287 templates/js/company.js:48 -#: templates/js/company.js:164 templates/js/order.js:162 -msgid "Supplier" -msgstr "" - #: company/templates/company/detail.html:62 -#: order/templates/order/sales_order_base.html:81 stock/models.py:373 +#: order/templates/order/sales_order_base.html:89 stock/models.py:373 #: stock/models.py:374 stock/templates/stock/item_base.html:204 -#: templates/js/company.js:40 templates/js/order.js:244 +#: templates/js/company.js:40 templates/js/order.js:250 msgid "Customer" msgstr "" @@ -1428,7 +1461,7 @@ msgstr "" #: company/templates/company/detail_part.html:18 #: order/templates/order/purchase_order_detail.html:68 -#: part/templates/part/supplier.html:14 templates/js/stock.js:849 +#: part/templates/part/supplier.html:14 templates/js/stock.js:855 msgid "New Supplier Part" msgstr "" @@ -1452,7 +1485,7 @@ msgid "Delete Parts" msgstr "" #: company/templates/company/detail_part.html:63 -#: part/templates/part/category.html:116 templates/js/stock.js:843 +#: part/templates/part/category.html:116 templates/js/stock.js:849 msgid "New Part" msgstr "" @@ -1572,22 +1605,6 @@ msgstr "" msgid "Internal Part" msgstr "" -#: company/templates/company/supplier_part_base.html:78 -#: company/templates/company/supplier_part_detail.html:22 part/bom.py:171 -msgid "SKU" -msgstr "" - -#: company/templates/company/supplier_part_base.html:88 -#: company/templates/company/supplier_part_detail.html:31 part/bom.py:173 -#: templates/js/company.js:204 -msgid "MPN" -msgstr "" - -#: company/templates/company/supplier_part_base.html:95 -#: company/templates/company/supplier_part_detail.html:34 -msgid "Note" -msgstr "" - #: company/templates/company/supplier_part_orders.html:9 msgid "Supplier Part Orders" msgstr "" @@ -1633,7 +1650,7 @@ msgstr "" #: company/templates/company/tabs.html:12 part/templates/part/tabs.html:18 #: stock/templates/stock/location.html:17 templates/InvenTree/search.html:155 #: templates/InvenTree/settings/tabs.html:25 templates/js/part.js:192 -#: templates/js/part.js:418 templates/js/stock.js:502 templates/navbar.html:22 +#: templates/js/part.js:418 templates/js/stock.js:508 templates/navbar.html:22 #: users/models.py:29 msgid "Stock" msgstr "" @@ -1716,7 +1733,7 @@ msgstr "" msgid "Edit Supplier Part" msgstr "" -#: company/views.py:295 templates/js/stock.js:850 +#: company/views.py:295 templates/js/stock.js:856 msgid "Create new Supplier Part" msgstr "" @@ -1760,152 +1777,157 @@ msgstr "" msgid "Enabled" msgstr "" -#: order/forms.py:24 order/templates/order/order_base.html:39 +#: order/forms.py:25 order/templates/order/order_base.html:39 msgid "Place order" msgstr "" -#: order/forms.py:35 order/templates/order/order_base.html:46 +#: order/forms.py:36 order/templates/order/order_base.html:46 msgid "Mark order as complete" msgstr "" -#: order/forms.py:46 order/forms.py:57 order/templates/order/order_base.html:51 -#: order/templates/order/sales_order_base.html:53 +#: order/forms.py:47 order/forms.py:58 order/templates/order/order_base.html:51 +#: order/templates/order/sales_order_base.html:56 msgid "Cancel order" msgstr "" -#: order/forms.py:68 order/templates/order/sales_order_base.html:50 +#: order/forms.py:69 order/templates/order/sales_order_base.html:53 msgid "Ship order" msgstr "" -#: order/forms.py:79 +#: order/forms.py:80 msgid "Receive parts to this location" msgstr "" -#: order/forms.py:99 +#: order/forms.py:100 msgid "Purchase Order reference" msgstr "" -#: order/forms.py:126 +#: order/forms.py:128 msgid "Enter sales order number" msgstr "" -#: order/models.py:110 +#: order/forms.py:134 order/models.py:330 +msgid "" +"Target date for order completion. Order will be overdue after this date." +msgstr "" + +#: order/models.py:98 msgid "Order reference" msgstr "" -#: order/models.py:112 +#: order/models.py:100 msgid "Order description" msgstr "" -#: order/models.py:114 +#: order/models.py:102 msgid "Link to external page" msgstr "" -#: order/models.py:124 +#: order/models.py:112 msgid "Order notes" msgstr "" -#: order/models.py:142 order/models.py:328 +#: order/models.py:131 order/models.py:323 msgid "Purchase order status" msgstr "" -#: order/models.py:150 +#: order/models.py:139 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:153 +#: order/models.py:142 msgid "Supplier order reference code" msgstr "" -#: order/models.py:162 +#: order/models.py:151 msgid "Date order was issued" msgstr "" -#: order/models.py:164 +#: order/models.py:153 msgid "Date order was completed" msgstr "" -#: order/models.py:187 order/models.py:269 part/views.py:1494 +#: order/models.py:176 order/models.py:258 part/views.py:1494 #: stock/models.py:244 stock/models.py:812 msgid "Quantity must be greater than zero" msgstr "" -#: order/models.py:192 +#: order/models.py:181 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:264 +#: order/models.py:253 msgid "Lines can only be received against an order marked as 'Placed'" msgstr "" -#: order/models.py:324 +#: order/models.py:319 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:330 +#: order/models.py:325 msgid "Customer order reference code" msgstr "" -#: order/models.py:369 +#: order/models.py:387 msgid "SalesOrder cannot be shipped as it is not currently pending" msgstr "" -#: order/models.py:456 +#: order/models.py:474 msgid "Item quantity" msgstr "" -#: order/models.py:458 +#: order/models.py:476 msgid "Line item reference" msgstr "" -#: order/models.py:460 +#: order/models.py:478 msgid "Line item notes" msgstr "" -#: order/models.py:486 order/templates/order/order_base.html:9 +#: order/models.py:504 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:24 #: stock/templates/stock/item_base.html:259 templates/js/order.js:146 msgid "Purchase Order" msgstr "" -#: order/models.py:499 +#: order/models.py:517 msgid "Supplier part" msgstr "" -#: order/models.py:502 +#: order/models.py:520 msgid "Number of items received" msgstr "" -#: order/models.py:509 stock/models.py:458 +#: order/models.py:527 stock/models.py:458 #: stock/templates/stock/item_base.html:266 msgid "Purchase Price" msgstr "" -#: order/models.py:510 +#: order/models.py:528 msgid "Unit purchase price" msgstr "" -#: order/models.py:605 +#: order/models.py:623 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:607 +#: order/models.py:625 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:610 +#: order/models.py:628 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:620 +#: order/models.py:638 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:636 +#: order/models.py:654 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:639 +#: order/models.py:657 msgid "Enter stock allocation quantity" msgstr "" @@ -1932,12 +1954,12 @@ msgid "Purchase Order Details" msgstr "" #: order/templates/order/order_base.html:69 -#: order/templates/order/sales_order_base.html:71 +#: order/templates/order/sales_order_base.html:74 msgid "Order Reference" msgstr "" #: order/templates/order/order_base.html:74 -#: order/templates/order/sales_order_base.html:76 +#: order/templates/order/sales_order_base.html:79 msgid "Order Status" msgstr "" @@ -1952,7 +1974,7 @@ msgstr "" #: order/templates/order/order_base.html:111 #: order/templates/order/purchase_order_detail.html:193 #: order/templates/order/receive_parts.html:22 -#: order/templates/order/sales_order_base.html:113 +#: order/templates/order/sales_order_base.html:128 msgid "Received" msgstr "" @@ -1997,7 +2019,7 @@ msgid "Select existing purchase orders, or create new orders." msgstr "" #: order/templates/order/order_wizard/select_pos.html:31 -#: templates/js/order.js:193 templates/js/order.js:280 +#: templates/js/order.js:193 templates/js/order.js:291 msgid "Items" msgstr "" @@ -2035,7 +2057,7 @@ msgstr "" #: order/templates/order/purchase_order_detail.html:39 #: order/templates/order/purchase_order_detail.html:119 #: part/templates/part/category.html:173 part/templates/part/category.html:215 -#: templates/js/stock.js:855 +#: templates/js/stock.js:861 msgid "New Location" msgstr "" @@ -2096,15 +2118,15 @@ msgstr "" msgid "This SalesOrder has not been fully allocated" msgstr "" -#: order/templates/order/sales_order_base.html:58 +#: order/templates/order/sales_order_base.html:61 msgid "Packing List" msgstr "" -#: order/templates/order/sales_order_base.html:66 +#: order/templates/order/sales_order_base.html:69 msgid "Sales Order Details" msgstr "" -#: order/templates/order/sales_order_base.html:87 templates/js/order.js:251 +#: order/templates/order/sales_order_base.html:95 templates/js/order.js:257 msgid "Customer Reference" msgstr "" @@ -2405,7 +2427,7 @@ msgstr "" msgid "Include part supplier data in exported BOM" msgstr "" -#: part/forms.py:92 part/models.py:1717 +#: part/forms.py:92 part/models.py:1720 msgid "Parent Part" msgstr "" @@ -2473,7 +2495,7 @@ msgstr "" msgid "Add parameter template to all categories" msgstr "" -#: part/forms.py:331 +#: part/forms.py:333 msgid "Input quantity for price calculation" msgstr "" @@ -2485,7 +2507,7 @@ msgstr "" msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:77 part/models.py:1762 +#: part/models.py:77 part/models.py:1765 #: part/templates/part/part_app_base.html:9 msgid "Part Category" msgstr "" @@ -2569,7 +2591,7 @@ msgid "Stock keeping units for this part" msgstr "" #: part/models.py:737 part/templates/part/detail.html:158 -#: templates/js/table_filters.js:264 +#: templates/js/table_filters.js:268 msgid "Assembly" msgstr "" @@ -2595,7 +2617,7 @@ msgstr "" #: part/models.py:764 part/templates/part/detail.html:215 #: templates/js/table_filters.js:19 templates/js/table_filters.js:55 -#: templates/js/table_filters.js:186 templates/js/table_filters.js:247 +#: templates/js/table_filters.js:186 templates/js/table_filters.js:251 msgid "Active" msgstr "" @@ -2620,130 +2642,130 @@ msgstr "" msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1590 +#: part/models.py:1593 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:1607 +#: part/models.py:1610 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:1626 templates/js/part.js:567 templates/js/stock.js:92 +#: part/models.py:1629 templates/js/part.js:567 templates/js/stock.js:92 msgid "Test Name" msgstr "" -#: part/models.py:1627 +#: part/models.py:1630 msgid "Enter a name for the test" msgstr "" -#: part/models.py:1632 +#: part/models.py:1635 msgid "Test Description" msgstr "" -#: part/models.py:1633 +#: part/models.py:1636 msgid "Enter description for this test" msgstr "" -#: part/models.py:1638 templates/js/part.js:576 +#: part/models.py:1641 templates/js/part.js:576 #: templates/js/table_filters.js:172 msgid "Required" msgstr "" -#: part/models.py:1639 +#: part/models.py:1642 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:1644 templates/js/part.js:584 +#: part/models.py:1647 templates/js/part.js:584 msgid "Requires Value" msgstr "" -#: part/models.py:1645 +#: part/models.py:1648 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:1650 templates/js/part.js:591 +#: part/models.py:1653 templates/js/part.js:591 msgid "Requires Attachment" msgstr "" -#: part/models.py:1651 +#: part/models.py:1654 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:1684 +#: part/models.py:1687 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:1689 +#: part/models.py:1692 msgid "Parameter Name" msgstr "" -#: part/models.py:1691 +#: part/models.py:1694 msgid "Parameter Units" msgstr "" -#: part/models.py:1719 part/models.py:1767 +#: part/models.py:1722 part/models.py:1770 #: templates/InvenTree/settings/category.html:62 msgid "Parameter Template" msgstr "" -#: part/models.py:1721 +#: part/models.py:1724 msgid "Parameter Value" msgstr "" -#: part/models.py:1771 +#: part/models.py:1774 msgid "Default Parameter Value" msgstr "" -#: part/models.py:1801 +#: part/models.py:1804 msgid "Select parent part" msgstr "" -#: part/models.py:1809 +#: part/models.py:1812 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:1815 +#: part/models.py:1818 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:1817 +#: part/models.py:1820 msgid "This BOM item is optional" msgstr "" -#: part/models.py:1820 +#: part/models.py:1823 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:1823 +#: part/models.py:1826 msgid "BOM item reference" msgstr "" -#: part/models.py:1826 +#: part/models.py:1829 msgid "BOM item notes" msgstr "" -#: part/models.py:1828 +#: part/models.py:1831 msgid "BOM line checksum" msgstr "" -#: part/models.py:1899 part/views.py:1500 part/views.py:1552 +#: part/models.py:1902 part/views.py:1500 part/views.py:1552 #: stock/models.py:234 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:1908 part/models.py:1910 +#: part/models.py:1911 part/models.py:1913 msgid "Sub part must be specified" msgstr "" -#: part/models.py:1913 +#: part/models.py:1916 msgid "BOM Item" msgstr "" -#: part/models.py:2028 +#: part/models.py:2031 msgid "Select Related Part" msgstr "" -#: part/models.py:2060 +#: part/models.py:2063 msgid "" "Error creating relationship: check that the part is not related to itself " "and that the relationship is unique" @@ -2766,7 +2788,7 @@ msgstr "" #: stock/templates/stock/item_base.html:72 #: stock/templates/stock/item_base.html:274 #: stock/templates/stock/stock_adjust.html:16 templates/js/build.js:751 -#: templates/js/stock.js:699 templates/js/stock.js:948 +#: templates/js/stock.js:705 templates/js/stock.js:954 msgid "Stock Item" msgstr "" @@ -3003,7 +3025,7 @@ msgstr "" msgid "Create new Part Category" msgstr "" -#: part/templates/part/category.html:216 stock/views.py:1358 +#: part/templates/part/category.html:216 stock/views.py:1359 msgid "Create new Stock Location" msgstr "" @@ -3065,7 +3087,7 @@ msgstr "" msgid "Minimum Stock" msgstr "" -#: part/templates/part/detail.html:114 templates/js/order.js:270 +#: part/templates/part/detail.html:114 templates/js/order.js:276 msgid "Creation Date" msgstr "" @@ -3086,7 +3108,7 @@ msgid "Part is not a virtual part" msgstr "" #: part/templates/part/detail.html:148 stock/forms.py:249 -#: templates/js/table_filters.js:23 templates/js/table_filters.js:252 +#: templates/js/table_filters.js:23 templates/js/table_filters.js:256 msgid "Template" msgstr "" @@ -3439,7 +3461,7 @@ msgstr "" msgid "Possible matches exist - confirm creation of new part" msgstr "" -#: part/views.py:592 templates/js/stock.js:844 +#: part/views.py:592 templates/js/stock.js:850 msgid "Create New Part" msgstr "" @@ -4000,7 +4022,7 @@ msgstr "" msgid "Return to stock" msgstr "" -#: stock/templates/stock/item_base.html:138 templates/js/stock.js:985 +#: stock/templates/stock/item_base.html:138 templates/js/stock.js:991 msgid "Uninstall stock item" msgstr "" @@ -4182,7 +4204,7 @@ msgstr "" msgid "The following stock items will be uninstalled" msgstr "" -#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:1330 +#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:1331 msgid "Convert Stock Item" msgstr "" @@ -4380,39 +4402,39 @@ msgstr "" msgid "Edit Stock Item" msgstr "" -#: stock/views.py:1380 +#: stock/views.py:1381 msgid "Serialize Stock" msgstr "" -#: stock/views.py:1474 templates/js/build.js:210 +#: stock/views.py:1475 templates/js/build.js:210 msgid "Create new Stock Item" msgstr "" -#: stock/views.py:1578 +#: stock/views.py:1579 msgid "Duplicate Stock Item" msgstr "" -#: stock/views.py:1650 +#: stock/views.py:1651 msgid "Quantity cannot be negative" msgstr "" -#: stock/views.py:1736 +#: stock/views.py:1737 msgid "Delete Stock Location" msgstr "" -#: stock/views.py:1750 +#: stock/views.py:1751 msgid "Delete Stock Item" msgstr "" -#: stock/views.py:1762 +#: stock/views.py:1763 msgid "Delete Stock Tracking Entry" msgstr "" -#: stock/views.py:1781 +#: stock/views.py:1782 msgid "Edit Stock Tracking Entry" msgstr "" -#: stock/views.py:1791 +#: stock/views.py:1792 msgid "Add Stock Tracking Entry" msgstr "" @@ -4630,6 +4652,10 @@ msgstr "" msgid "Outstanding Sales Orders" msgstr "" +#: templates/InvenTree/so_overdue.html:7 +msgid "Overdue Sales Orders" +msgstr "" + #: templates/InvenTree/starred_parts.html:7 msgid "Starred Parts" msgstr "" @@ -4887,15 +4913,11 @@ msgstr "" msgid "Assembled part" msgstr "" -#: templates/js/company.js:208 -msgid "Link" -msgstr "" - #: templates/js/order.js:135 msgid "No purchase orders found" msgstr "" -#: templates/js/order.js:188 templates/js/stock.js:681 +#: templates/js/order.js:188 templates/js/stock.js:687 msgid "Date" msgstr "" @@ -4903,7 +4925,11 @@ msgstr "" msgid "No sales orders found" msgstr "" -#: templates/js/order.js:275 +#: templates/js/order.js:241 +msgid "Order is overdue" +msgstr "" + +#: templates/js/order.js:286 msgid "Shipment Date" msgstr "" @@ -4931,8 +4957,8 @@ msgstr "" msgid "No parts found" msgstr "" -#: templates/js/part.js:343 templates/js/stock.js:456 -#: templates/js/stock.js:1017 +#: templates/js/part.js:343 templates/js/stock.js:462 +#: templates/js/stock.js:1023 msgid "Select" msgstr "" @@ -4940,7 +4966,7 @@ msgstr "" msgid "No category" msgstr "" -#: templates/js/part.js:429 templates/js/table_filters.js:260 +#: templates/js/part.js:429 templates/js/table_filters.js:264 msgid "Low stock" msgstr "" @@ -5012,63 +5038,63 @@ msgstr "" msgid "No stock items matching query" msgstr "" -#: templates/js/stock.js:424 +#: templates/js/stock.js:430 msgid "Undefined location" msgstr "" -#: templates/js/stock.js:518 +#: templates/js/stock.js:524 msgid "Stock item is in production" msgstr "" -#: templates/js/stock.js:523 +#: templates/js/stock.js:529 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/stock.js:526 +#: templates/js/stock.js:532 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/stock.js:530 +#: templates/js/stock.js:536 msgid "Stock item has been allocated" msgstr "" -#: templates/js/stock.js:534 +#: templates/js/stock.js:540 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/stock.js:542 +#: templates/js/stock.js:548 msgid "Stock item has been rejected" msgstr "" -#: templates/js/stock.js:546 +#: templates/js/stock.js:552 msgid "Stock item is lost" msgstr "" -#: templates/js/stock.js:549 +#: templates/js/stock.js:555 msgid "Stock item is destroyed" msgstr "" -#: templates/js/stock.js:553 templates/js/table_filters.js:106 +#: templates/js/stock.js:559 templates/js/table_filters.js:106 msgid "Depleted" msgstr "" -#: templates/js/stock.js:747 +#: templates/js/stock.js:753 msgid "No user information" msgstr "" -#: templates/js/stock.js:856 +#: templates/js/stock.js:862 msgid "Create New Location" msgstr "" -#: templates/js/stock.js:955 +#: templates/js/stock.js:961 msgid "Serial" msgstr "" -#: templates/js/stock.js:1048 templates/js/table_filters.js:121 +#: templates/js/stock.js:1054 templates/js/table_filters.js:121 msgid "Installed" msgstr "" -#: templates/js/stock.js:1073 +#: templates/js/stock.js:1079 msgid "Install item" msgstr "" @@ -5109,7 +5135,7 @@ msgstr "" msgid "Batch code" msgstr "" -#: templates/js/table_filters.js:91 templates/js/table_filters.js:227 +#: templates/js/table_filters.js:91 templates/js/table_filters.js:231 msgid "Active parts" msgstr "" @@ -5177,35 +5203,35 @@ msgstr "" msgid "Outstanding" msgstr "" -#: templates/js/table_filters.js:237 +#: templates/js/table_filters.js:241 msgid "Include subcategories" msgstr "" -#: templates/js/table_filters.js:238 +#: templates/js/table_filters.js:242 msgid "Include parts in subcategories" msgstr "" -#: templates/js/table_filters.js:242 +#: templates/js/table_filters.js:246 msgid "Has IPN" msgstr "" -#: templates/js/table_filters.js:243 +#: templates/js/table_filters.js:247 msgid "Part has internal part number" msgstr "" -#: templates/js/table_filters.js:248 +#: templates/js/table_filters.js:252 msgid "Show active parts" msgstr "" -#: templates/js/table_filters.js:256 +#: templates/js/table_filters.js:260 msgid "Stock available" msgstr "" -#: templates/js/table_filters.js:272 +#: templates/js/table_filters.js:276 msgid "Starred" msgstr "" -#: templates/js/table_filters.js:284 +#: templates/js/table_filters.js:288 msgid "Purchasable" msgstr "" @@ -5245,7 +5271,7 @@ msgstr "" msgid "Logout" msgstr "" -#: templates/navbar.html:69 +#: templates/navbar.html:69 templates/registration/login.html:43 msgid "Login" msgstr "" diff --git a/InvenTree/part/forms.py b/InvenTree/part/forms.py index 68912edd98..1cbbec0b42 100644 --- a/InvenTree/part/forms.py +++ b/InvenTree/part/forms.py @@ -319,7 +319,9 @@ class EditBomItemForm(HelperForm): ] # Prevent editing of the part associated with this BomItem - widgets = {'part': forms.HiddenInput()} + widgets = { + 'part': forms.HiddenInput() + } class PartPriceForm(forms.Form): diff --git a/InvenTree/part/models.py b/InvenTree/part/models.py index cf0c92899a..b9d63979e7 100644 --- a/InvenTree/part/models.py +++ b/InvenTree/part/models.py @@ -1074,7 +1074,7 @@ class Part(MPTTModel): self.bom_items.all().delete() - def getRequiredParts(self, recursive=False, parts=set()): + def getRequiredParts(self, recursive=False, parts=None): """ Return a list of parts required to make this part (i.e. BOM items). @@ -1083,7 +1083,10 @@ class Part(MPTTModel): parts: Set of parts already found (to prevent recursion issues) """ - items = self.bom_items.all().prefetch_related('sub_part') + if parts is None: + parts = set() + + items = BomItem.objects.filter(part=self.pk) for bom_item in items: diff --git a/InvenTree/part/templates/part/bom.html b/InvenTree/part/templates/part/bom.html index 38d07cb00e..0b24582220 100644 --- a/InvenTree/part/templates/part/bom.html +++ b/InvenTree/part/templates/part/bom.html @@ -32,7 +32,7 @@
{% if editing_enabled %}