2
0
mirror of https://github.com/inventree/InvenTree.git synced 2025-05-02 13:28:49 +00:00

Add commit date information to about window

This commit is contained in:
Oliver Walters 2020-02-02 12:39:35 +11:00
parent f88f5a39f8
commit 20273f1541
7 changed files with 561 additions and 399 deletions

View File

@ -15,6 +15,12 @@ def inventreeVersion():
def inventreeCommitHash(): def inventreeCommitHash():
""" Returns the git commit hash for the running codebase """ """ Returns the git commit hash for the running codebase """
commit = str(subprocess.check_output('git rev-parse --short HEAD'.split()), 'utf-8').strip() return str(subprocess.check_output('git rev-parse --short HEAD'.split()), 'utf-8').strip()
return commit
def inventreeCommitDate():
""" Returns the git commit date for the running codebase """
d = str(subprocess.check_output('git show -s --format=%ci'.split()), 'utf-8').strip()
return d.split(' ')[0]

View File

@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: \n" "Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-02-01 12:59+0000\n" "POT-Creation-Date: 2020-02-02 01:39+0000\n"
"PO-Revision-Date: 2019-12-19 17:48+0100\n" "PO-Revision-Date: 2019-12-19 17:48+0100\n"
"Last-Translator: \n" "Last-Translator: \n"
"Language-Team: \n" "Language-Team: \n"
@ -18,7 +18,7 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Poedit 2.2.4\n" "X-Generator: Poedit 2.2.4\n"
#: InvenTree/helpers.py:186 order/models.py:159 order/models.py:210 #: InvenTree/helpers.py:186 order/models.py:161 order/models.py:212
msgid "Invalid quantity provided" msgid "Invalid quantity provided"
msgstr "Keine gültige Menge" msgstr "Keine gültige Menge"
@ -218,7 +218,7 @@ msgstr "Zuweisung aufheben"
#: build/templates/build/allocate_edit.html:19 #: build/templates/build/allocate_edit.html:19
#: build/templates/build/allocate_view.html:17 #: build/templates/build/allocate_view.html:17
#: build/templates/build/detail.html:17 #: build/templates/build/detail.html:17
#: order/templates/order/purchase_order_detail.html:107 #: order/templates/order/purchase_order_detail.html:25
msgid "Part" msgid "Part"
msgstr "Teil" msgstr "Teil"
@ -245,7 +245,7 @@ msgid "Order Parts"
msgstr "Teile bestellen" msgstr "Teile bestellen"
#: build/templates/build/allocate_view.html:18 #: build/templates/build/allocate_view.html:18
#: order/templates/order/purchase_order_detail.html:108 #: order/templates/order/purchase_order_detail.html:26
#: part/templates/part/detail.html:33 #: part/templates/part/detail.html:33
msgid "Description" msgid "Description"
msgstr "Beschreibung" msgstr "Beschreibung"
@ -266,8 +266,8 @@ msgid "Title"
msgstr "" msgstr ""
#: build/templates/build/detail.html:20 #: build/templates/build/detail.html:20
#: order/templates/order/purchase_order_detail.html:111 #: order/templates/order/purchase_order_detail.html:29
#: stock/templates/stock/item.html:89 #: stock/templates/stock/item_base.html:90
#: stock/templates/stock/stock_adjust.html:18 #: stock/templates/stock/stock_adjust.html:18
msgid "Quantity" msgid "Quantity"
msgstr "Anzahl" msgstr "Anzahl"
@ -283,22 +283,23 @@ msgid "Stock can be taken from any available location."
msgstr "" msgstr ""
#: build/templates/build/detail.html:33 #: build/templates/build/detail.html:33
#: order/templates/order/purchase_order_detail.html:70 #: order/templates/order/order_base.html:71
#: stock/templates/stock/item.html:146 #: stock/templates/stock/item_base.html:147
msgid "Status" msgid "Status"
msgstr "Status" msgstr "Status"
#: build/templates/build/detail.html:37 stock/templates/stock/item.html:95 #: build/templates/build/detail.html:37 stock/templates/stock/item_base.html:96
msgid "Batch" msgid "Batch"
msgstr "Los" msgstr "Los"
#: build/templates/build/detail.html:42 part/templates/part/detail.html:50 #: build/templates/build/detail.html:42 part/templates/part/detail.html:50
#: part/templates/part/part_base.html:91 stock/templates/stock/item.html:119 #: part/templates/part/part_base.html:91
#: stock/templates/stock/item_base.html:120
msgid "URL" msgid "URL"
msgstr "URL" msgstr "URL"
#: build/templates/build/detail.html:46 #: build/templates/build/detail.html:46
#: order/templates/order/purchase_order_detail.html:74 #: order/templates/order/order_base.html:75
msgid "Created" msgid "Created"
msgstr "Erstellt" msgstr "Erstellt"
@ -329,12 +330,14 @@ msgid "Build Notes"
msgstr "Bau-Status" msgstr "Bau-Status"
#: build/templates/build/notes.html:20 company/templates/company/notes.html:17 #: build/templates/build/notes.html:20 company/templates/company/notes.html:17
#: part/templates/part/notes.html:20 #: order/templates/order/order_notes.html:21 part/templates/part/notes.html:20
#: stock/templates/stock/item_notes.html:21
msgid "Save" msgid "Save"
msgstr "" msgstr ""
#: build/templates/build/notes.html:33 company/templates/company/notes.html:30 #: build/templates/build/notes.html:33 company/templates/company/notes.html:30
#: part/templates/part/notes.html:32 #: order/templates/order/order_notes.html:32 part/templates/part/notes.html:32
#: stock/templates/stock/item_notes.html:32
#, fuzzy #, fuzzy
#| msgid "Entry notes" #| msgid "Entry notes"
msgid "Edit notes" msgid "Edit notes"
@ -346,9 +349,8 @@ msgid "Details"
msgstr "Details" msgstr "Details"
#: build/templates/build/tabs.html:8 company/models.py:248 #: build/templates/build/tabs.html:8 company/models.py:248
#: company/templates/company/tabs.html:26 #: company/templates/company/tabs.html:26 order/templates/order/tabs.html:8
#: order/templates/order/purchase_order_detail.html:168 #: part/templates/part/tabs.html:58 stock/templates/stock/tabs.html:8
#: part/templates/part/tabs.html:58 stock/templates/stock/item.html:151
msgid "Notes" msgid "Notes"
msgstr "Notizen" msgstr "Notizen"
@ -356,7 +358,7 @@ msgstr "Notizen"
msgid "Assign Parts" msgid "Assign Parts"
msgstr "" msgstr ""
#: build/views.py:290 stock/views.py:863 #: build/views.py:290 stock/views.py:884
#, python-brace-format #, python-brace-format
msgid "The following serial numbers already exist: ({sn})" msgid "The following serial numbers already exist: ({sn})"
msgstr "Die folgende Seriennummer existiert bereits: ({sn})" msgstr "Die folgende Seriennummer existiert bereits: ({sn})"
@ -545,137 +547,162 @@ msgstr "Bestellung stornieren"
msgid "Receive parts to this location" msgid "Receive parts to this location"
msgstr "Teile in diesen Ort empfangen" msgstr "Teile in diesen Ort empfangen"
#: order/models.py:63 #: order/models.py:65
msgid "Order reference" msgid "Order reference"
msgstr "Bestell-Referenz" msgstr "Bestell-Referenz"
#: order/models.py:65 #: order/models.py:67
msgid "Order description" msgid "Order description"
msgstr "Bestellungs-Beschreibung" msgstr "Bestellungs-Beschreibung"
#: order/models.py:67 #: order/models.py:69
msgid "Link to external page" msgid "Link to external page"
msgstr "Link auf externe Seite" msgstr "Link auf externe Seite"
#: order/models.py:84 #: order/models.py:86
msgid "Order notes" msgid "Order notes"
msgstr "Bestell-Notizen" msgstr "Bestell-Notizen"
#: order/models.py:126 #: order/models.py:128
msgid "Company" msgid "Company"
msgstr "Firma" msgstr "Firma"
#: order/models.py:157 order/models.py:208 part/views.py:1065 #: order/models.py:159 order/models.py:210 part/views.py:1065
#: stock/models.py:438 #: stock/models.py:440
msgid "Quantity must be greater than zero" msgid "Quantity must be greater than zero"
msgstr "Anzahl muss größer Null sein" msgstr "Anzahl muss größer Null sein"
#: order/models.py:162 #: order/models.py:164
msgid "Part supplier must match PO supplier" msgid "Part supplier must match PO supplier"
msgstr "Teile-Zulieferer muss dem Zulieferer des Kaufvertrags entsprechen" msgstr "Teile-Zulieferer muss dem Zulieferer des Kaufvertrags entsprechen"
#: order/models.py:203 #: order/models.py:205
msgid "Lines can only be received against an order marked as 'Placed'" msgid "Lines can only be received against an order marked as 'Placed'"
msgstr "" msgstr ""
#: order/models.py:252 #: order/models.py:254
msgid "Item quantity" msgid "Item quantity"
msgstr "" msgstr ""
#: order/models.py:254 #: order/models.py:256
msgid "Line item reference" msgid "Line item reference"
msgstr "Position - Referenz" msgstr "Position - Referenz"
#: order/models.py:256 #: order/models.py:258
msgid "Line item notes" msgid "Line item notes"
msgstr "Position - Notizen" msgstr "Position - Notizen"
#: order/models.py:282 stock/templates/stock/item.html:107 #: order/models.py:284 stock/templates/stock/item_base.html:108
msgid "Purchase Order" msgid "Purchase Order"
msgstr "Kaufvertrag" msgstr "Kaufvertrag"
#: order/models.py:291 #: order/models.py:293
msgid "Supplier part" msgid "Supplier part"
msgstr "Zulieferer-Teil" msgstr "Zulieferer-Teil"
#: order/models.py:294 #: order/models.py:296
msgid "Number of items received" msgid "Number of items received"
msgstr "Empfangene Objekt-Anzahl" msgstr "Empfangene Objekt-Anzahl"
#: order/templates/order/purchase_order_detail.html:63 #: order/templates/order/order_base.html:64
msgid "Purchase Order Details" msgid "Purchase Order Details"
msgstr "Bestelldetails" msgstr "Bestelldetails"
#: order/templates/order/purchase_order_detail.html:66 #: order/templates/order/order_base.html:67
#: stock/templates/stock/item.html:125 #: stock/templates/stock/item_base.html:126
msgid "Supplier" msgid "Supplier"
msgstr "Zulieferer" msgstr "Zulieferer"
#: order/templates/order/purchase_order_detail.html:79 #: order/templates/order/order_base.html:80
msgid "Issued" msgid "Issued"
msgstr "Aufgegeben" msgstr "Aufgegeben"
#: order/templates/order/purchase_order_detail.html:85 #: order/templates/order/order_base.html:86
#: order/templates/order/purchase_order_detail.html:113 #: order/templates/order/purchase_order_detail.html:31
msgid "Received" msgid "Received"
msgstr "Empfangen" msgstr "Empfangen"
#: order/templates/order/purchase_order_detail.html:106 #: order/templates/order/order_notes.html:13
#: order/templates/order/order_notes.html:29
#, fuzzy
#| msgid "Order notes"
msgid "Order Notes"
msgstr "Bestell-Notizen"
#: order/templates/order/purchase_order_detail.html:15
#, fuzzy
#| msgid "Add Stock Items"
msgid "Add Line Item"
msgstr "Lagerobjekte hinzufügen"
#: order/templates/order/purchase_order_detail.html:19
#, fuzzy
#| msgid "Order notes"
msgid "Order Items"
msgstr "Bestell-Notizen"
#: order/templates/order/purchase_order_detail.html:24
msgid "Line" msgid "Line"
msgstr "Position" msgstr "Position"
#: order/templates/order/purchase_order_detail.html:109 #: order/templates/order/purchase_order_detail.html:27
msgid "Order Code" msgid "Order Code"
msgstr "Bestellnummer" msgstr "Bestellnummer"
#: order/templates/order/purchase_order_detail.html:110 #: order/templates/order/purchase_order_detail.html:28
msgid "Reference" msgid "Reference"
msgstr "Referenz" msgstr "Referenz"
#: order/templates/order/purchase_order_detail.html:115 #: order/templates/order/purchase_order_detail.html:33
msgid "Note" msgid "Note"
msgstr "Notiz" msgstr "Notiz"
#: order/views.py:141 #: order/templates/order/tabs.html:5
#, fuzzy
#| msgid "Stock Items"
msgid "Items"
msgstr "Lagerobjekte"
#: order/views.py:164
msgid "Confirm order cancellation" msgid "Confirm order cancellation"
msgstr "Bestell-Stornierung bestätigen" msgstr "Bestell-Stornierung bestätigen"
#: order/views.py:174 #: order/views.py:197
msgid "Confirm order placement" msgid "Confirm order placement"
msgstr "Bestellungstätigung bestätigen" msgstr "Bestellungstätigung bestätigen"
#: order/views.py:328 #: order/views.py:351
#, fuzzy #, fuzzy
#| msgid "Number of items received" #| msgid "Number of items received"
msgid "Items received" msgid "Items received"
msgstr "Empfangene Objekt-Anzahl" msgstr "Empfangene Objekt-Anzahl"
#: order/views.py:342 #: order/views.py:365
msgid "No destination set" msgid "No destination set"
msgstr "" msgstr ""
#: order/views.py:373 #: order/views.py:396
msgid "Error converting quantity to number" msgid "Error converting quantity to number"
msgstr "" msgstr ""
#: order/views.py:379 #: order/views.py:402
msgid "Receive quantity less than zero" msgid "Receive quantity less than zero"
msgstr "" msgstr ""
#: order/views.py:385 #: order/views.py:408
msgid "No lines specified" msgid "No lines specified"
msgstr "" msgstr ""
#: order/views.py:744 #: order/views.py:767
msgid "Invalid Purchase Order" msgid "Invalid Purchase Order"
msgstr "Ungültige Bestellung" msgstr "Ungültige Bestellung"
#: order/views.py:752 #: order/views.py:775
#, fuzzy #, fuzzy
msgid "Supplier must match for Part and Order" msgid "Supplier must match for Part and Order"
msgstr "Zulieferer muss zum Teil und zur Bestellung passen" msgstr "Zulieferer muss zum Teil und zur Bestellung passen"
#: order/views.py:757 #: order/views.py:780
msgid "Invalid SupplierPart selection" msgid "Invalid SupplierPart selection"
msgstr "Ungültige Wahl des Zulieferer-Teils" msgstr "Ungültige Wahl des Zulieferer-Teils"
@ -1125,7 +1152,7 @@ msgstr "Varianten"
msgid "BOM" msgid "BOM"
msgstr "Stückliste" msgstr "Stückliste"
#: part/templates/part/tabs.html:28 stock/templates/stock/item.html:101 #: part/templates/part/tabs.html:28 stock/templates/stock/item_base.html:102
msgid "Build" msgid "Build"
msgstr "Bau" msgstr "Bau"
@ -1137,7 +1164,7 @@ msgstr "Benutzt in"
msgid "Suppliers" msgid "Suppliers"
msgstr "Zulieferer" msgstr "Zulieferer"
#: part/templates/part/tabs.html:48 #: part/templates/part/tabs.html:48 stock/templates/stock/tabs.html:5
msgid "Tracking" msgid "Tracking"
msgstr "Tracking" msgstr "Tracking"
@ -1198,7 +1225,7 @@ msgstr "Bewegung der Lagerobjekte bestätigen"
msgid "Set the destination as the default location for selected parts" msgid "Set the destination as the default location for selected parts"
msgstr "Setze das Ziel als Standard-Ziel für ausgewählte Teile" msgstr "Setze das Ziel als Standard-Ziel für ausgewählte Teile"
#: stock/models.py:202 #: stock/models.py:204
#, python-brace-format #, python-brace-format
msgid "" msgid ""
"A stock item with this serial number already exists for template part {part}" "A stock item with this serial number already exists for template part {part}"
@ -1206,124 +1233,129 @@ msgstr ""
"Ein Teil mit dieser Seriennummer existiert bereits für die Teilevorlage " "Ein Teil mit dieser Seriennummer existiert bereits für die Teilevorlage "
"{part}" "{part}"
#: stock/models.py:207 #: stock/models.py:209
msgid "A stock item with this serial number already exists" msgid "A stock item with this serial number already exists"
msgstr "Ein Teil mit dieser Seriennummer existiert bereits" msgstr "Ein Teil mit dieser Seriennummer existiert bereits"
#: stock/models.py:226 #: stock/models.py:228
#, python-brace-format #, python-brace-format
msgid "Part type ('{pf}') must be {pe}" msgid "Part type ('{pf}') must be {pe}"
msgstr "Teile-Typ ('{pf}') muss {pe} sein" msgstr "Teile-Typ ('{pf}') muss {pe} sein"
#: stock/models.py:236 stock/models.py:245 #: stock/models.py:238 stock/models.py:247
msgid "Quantity must be 1 for item with a serial number" msgid "Quantity must be 1 for item with a serial number"
msgstr "Anzahl muss für Objekte mit Seriennummer \"1\" sein" msgstr "Anzahl muss für Objekte mit Seriennummer \"1\" sein"
#: stock/models.py:237 #: stock/models.py:239
msgid "Serial number cannot be set if quantity greater than 1" msgid "Serial number cannot be set if quantity greater than 1"
msgstr "" msgstr ""
"Seriennummer kann nicht gesetzt werden wenn die Anzahl größer als \"1\" ist" "Seriennummer kann nicht gesetzt werden wenn die Anzahl größer als \"1\" ist"
#: stock/models.py:253 #: stock/models.py:255
msgid "Stock item cannot be created for a template Part" msgid "Stock item cannot be created for a template Part"
msgstr "Lagerobjekt kann nicht für Vorlagen-Teile angelegt werden" msgstr "Lagerobjekt kann nicht für Vorlagen-Teile angelegt werden"
#: stock/models.py:262 #: stock/models.py:264
msgid "Item cannot belong to itself" msgid "Item cannot belong to itself"
msgstr "Teil kann nicht zu sich selbst gehören" msgstr "Teil kann nicht zu sich selbst gehören"
#: stock/models.py:298 #: stock/models.py:300
msgid "Base part" msgid "Base part"
msgstr "Basis-Teil" msgstr "Basis-Teil"
#: stock/models.py:305 #: stock/models.py:307
msgid "Select a matching supplier part for this stock item" msgid "Select a matching supplier part for this stock item"
msgstr "Passenden Zulieferer für dieses Lagerobjekt auswählen" msgstr "Passenden Zulieferer für dieses Lagerobjekt auswählen"
#: stock/models.py:309 #: stock/models.py:311
msgid "Where is this stock item located?" msgid "Where is this stock item located?"
msgstr "Wo wird dieses Teil normalerweise gelagert?" msgstr "Wo wird dieses Teil normalerweise gelagert?"
#: stock/models.py:313 #: stock/models.py:315
msgid "Is this item installed in another item?" msgid "Is this item installed in another item?"
msgstr "Ist dieses Teil in einem anderen verbaut?" msgstr "Ist dieses Teil in einem anderen verbaut?"
#: stock/models.py:317 #: stock/models.py:319
msgid "Item assigned to customer?" msgid "Item assigned to customer?"
msgstr "Ist dieses Objekt einem Kunden zugeteilt?" msgstr "Ist dieses Objekt einem Kunden zugeteilt?"
#: stock/models.py:320 #: stock/models.py:322
msgid "Serial number for this item" msgid "Serial number for this item"
msgstr "Seriennummer für dieses Teil" msgstr "Seriennummer für dieses Teil"
#: stock/models.py:325 #: stock/models.py:327
msgid "Batch code for this stock item" msgid "Batch code for this stock item"
msgstr "Losnummer für dieses Lagerobjekt" msgstr "Losnummer für dieses Lagerobjekt"
#: stock/models.py:334 #: stock/models.py:336
#, fuzzy #, fuzzy
msgid "Build for this stock item" msgid "Build for this stock item"
msgstr "Bau für dieses Lagerobjekt" msgstr "Bau für dieses Lagerobjekt"
#: stock/models.py:343 #: stock/models.py:345
msgid "Purchase order for this stock item" msgid "Purchase order for this stock item"
msgstr "Bestellung für dieses Teil" msgstr "Bestellung für dieses Teil"
#: stock/models.py:354 #: stock/models.py:356
msgid "Delete this Stock Item when stock is depleted" msgid "Delete this Stock Item when stock is depleted"
msgstr "Objekt löschen wenn Lagerbestand aufgebraucht" msgstr "Objekt löschen wenn Lagerbestand aufgebraucht"
#: stock/models.py:361 #: stock/models.py:363 stock/templates/stock/item_notes.html:13
#: stock/templates/stock/item_notes.html:29
msgid "Stock Item Notes" msgid "Stock Item Notes"
msgstr "Lagerobjekt-Notizen" msgstr "Lagerobjekt-Notizen"
#: stock/models.py:435 #: stock/models.py:437
msgid "Quantity must be integer" msgid "Quantity must be integer"
msgstr "Anzahl muss eine Ganzzahl sein" msgstr "Anzahl muss eine Ganzzahl sein"
#: stock/models.py:441 #: stock/models.py:443
#, python-brace-format #, python-brace-format
msgid "Quantity must not exceed available stock quantity ({n})" msgid "Quantity must not exceed available stock quantity ({n})"
msgstr "Anzahl darf nicht die verfügbare Anzahl überschreiten ({n})" msgstr "Anzahl darf nicht die verfügbare Anzahl überschreiten ({n})"
#: stock/models.py:444 stock/models.py:447 #: stock/models.py:446 stock/models.py:449
msgid "Serial numbers must be a list of integers" msgid "Serial numbers must be a list of integers"
msgstr "Seriennummern muss eine Liste von Ganzzahlen sein" msgstr "Seriennummern muss eine Liste von Ganzzahlen sein"
#: stock/models.py:450 #: stock/models.py:452
msgid "Quantity does not match serial numbers" msgid "Quantity does not match serial numbers"
msgstr "Anzahl stimmt nicht mit den Seriennummern überein" msgstr "Anzahl stimmt nicht mit den Seriennummern überein"
#: stock/models.py:460 #: stock/models.py:462
msgid "Serial numbers already exist: " msgid "Serial numbers already exist: "
msgstr "Seriennummern existieren bereits:" msgstr "Seriennummern existieren bereits:"
#: stock/models.py:481 #: stock/models.py:483
msgid "Add serial number" msgid "Add serial number"
msgstr "Seriennummer hinzufügen" msgstr "Seriennummer hinzufügen"
#: stock/models.py:484 #: stock/models.py:486
#, python-brace-format #, python-brace-format
msgid "Serialized {n} items" msgid "Serialized {n} items"
msgstr "{n} Teile serialisiert" msgstr "{n} Teile serialisiert"
#: stock/models.py:750 #: stock/models.py:752
msgid "Tracking entry title" msgid "Tracking entry title"
msgstr "Name des Eintrags-Trackings" msgstr "Name des Eintrags-Trackings"
#: stock/models.py:752 #: stock/models.py:754
msgid "Entry notes" msgid "Entry notes"
msgstr "Eintrags-Notizen" msgstr "Eintrags-Notizen"
#: stock/models.py:754 #: stock/models.py:756
msgid "Link to external page for further information" msgid "Link to external page for further information"
msgstr "Link auf externe Seite für weitere Informationen" msgstr "Link auf externe Seite für weitere Informationen"
#: stock/templates/stock/item.html:9 #: stock/templates/stock/item.html:12
msgid "Stock Tracking Information"
msgstr "Informationen zum Lagerbestands-Tracking"
#: stock/templates/stock/item_base.html:10
msgid "Stock Item Details" msgid "Stock Item Details"
msgstr "Lagerbestands-Details" msgstr "Lagerbestands-Details"
#: stock/templates/stock/item.html:52 #: stock/templates/stock/item_base.html:53
msgid "" msgid ""
"This stock item is serialized - it has a unique serial number and the " "This stock item is serialized - it has a unique serial number and the "
"quantity cannot be adjusted." "quantity cannot be adjusted."
@ -1331,50 +1363,46 @@ msgstr ""
"Dieses Lagerobjekt ist serialisiert. Es hat eine eindeutige Seriennummer und " "Dieses Lagerobjekt ist serialisiert. Es hat eine eindeutige Seriennummer und "
"die Anzahl kann nicht angepasst werden." "die Anzahl kann nicht angepasst werden."
#: stock/templates/stock/item.html:56 #: stock/templates/stock/item_base.html:57
msgid "" msgid ""
"This stock item will be automatically deleted when all stock is depleted." "This stock item will be automatically deleted when all stock is depleted."
msgstr "" msgstr ""
"Dieses Lagerobjekt wird automatisch gelöscht wenn der Lagerbestand " "Dieses Lagerobjekt wird automatisch gelöscht wenn der Lagerbestand "
"aufgebraucht ist." "aufgebraucht ist."
#: stock/templates/stock/item.html:73 #: stock/templates/stock/item_base.html:74
msgid "Belongs To" msgid "Belongs To"
msgstr "Gehört zu" msgstr "Gehört zu"
#: stock/templates/stock/item.html:78 #: stock/templates/stock/item_base.html:79
#: stock/templates/stock/stock_adjust.html:17 #: stock/templates/stock/stock_adjust.html:17
msgid "Location" msgid "Location"
msgstr "Standort" msgstr "Standort"
#: stock/templates/stock/item.html:84 #: stock/templates/stock/item_base.html:85
msgid "Serial Number" msgid "Serial Number"
msgstr "Seriennummer" msgstr "Seriennummer"
#: stock/templates/stock/item.html:113 #: stock/templates/stock/item_base.html:114
msgid "Customer" msgid "Customer"
msgstr "Kunde" msgstr "Kunde"
#: stock/templates/stock/item.html:129 #: stock/templates/stock/item_base.html:130
msgid "Supplier Part" msgid "Supplier Part"
msgstr "Zulieferer-Teil" msgstr "Zulieferer-Teil"
#: stock/templates/stock/item.html:134 #: stock/templates/stock/item_base.html:135
msgid "Last Updated" msgid "Last Updated"
msgstr "Zuletzt aktualisiert" msgstr "Zuletzt aktualisiert"
#: stock/templates/stock/item.html:138 #: stock/templates/stock/item_base.html:139
msgid "Last Stocktake" msgid "Last Stocktake"
msgstr "Letzte Inventur" msgstr "Letzte Inventur"
#: stock/templates/stock/item.html:142 #: stock/templates/stock/item_base.html:143
msgid "No stocktake performed" msgid "No stocktake performed"
msgstr "Keine Inventur ausgeführt" msgstr "Keine Inventur ausgeführt"
#: stock/templates/stock/item.html:160
msgid "Stock Tracking Information"
msgstr "Informationen zum Lagerbestands-Tracking"
#: stock/templates/stock/location.html:37 #: stock/templates/stock/location.html:37
msgid "Location Details" msgid "Location Details"
msgstr "Standort-Details" msgstr "Standort-Details"
@ -1408,141 +1436,167 @@ msgstr "Lagerobjekt-Standorte"
msgid "Stock Item" msgid "Stock Item"
msgstr "Lagerobjekt" msgstr "Lagerobjekt"
#: stock/views.py:96 #: stock/views.py:117
msgid "Edit Stock Location" msgid "Edit Stock Location"
msgstr "Lagerobjekt-Standort bearbeiten" msgstr "Lagerobjekt-Standort bearbeiten"
#: stock/views.py:120 #: stock/views.py:141
msgid "Stock Location QR code" msgid "Stock Location QR code"
msgstr "QR-Code für diesen Standort" msgstr "QR-Code für diesen Standort"
#: stock/views.py:135 #: stock/views.py:156
#, fuzzy #, fuzzy
msgid "Stock Export Options" msgid "Stock Export Options"
msgstr "Lagerobjekt-Export-Optionen" msgstr "Lagerobjekt-Export-Optionen"
#: stock/views.py:243 #: stock/views.py:264
msgid "Stock Item QR Code" msgid "Stock Item QR Code"
msgstr "Lagerobjekt-QR-Code" msgstr "Lagerobjekt-QR-Code"
#: stock/views.py:266 #: stock/views.py:287
msgid "Adjust Stock" msgid "Adjust Stock"
msgstr "Lagerbestand anpassen" msgstr "Lagerbestand anpassen"
#: stock/views.py:375 #: stock/views.py:396
msgid "Move Stock Items" msgid "Move Stock Items"
msgstr "Lagerobjekte bewegen" msgstr "Lagerobjekte bewegen"
#: stock/views.py:376 #: stock/views.py:397
msgid "Count Stock Items" msgid "Count Stock Items"
msgstr "Lagerobjekte zählen" msgstr "Lagerobjekte zählen"
#: stock/views.py:377 #: stock/views.py:398
msgid "Remove From Stock" msgid "Remove From Stock"
msgstr "Aus Lagerbestand entfernen" msgstr "Aus Lagerbestand entfernen"
#: stock/views.py:378 #: stock/views.py:399
msgid "Add Stock Items" msgid "Add Stock Items"
msgstr "Lagerobjekte hinzufügen" msgstr "Lagerobjekte hinzufügen"
#: stock/views.py:379 #: stock/views.py:400
msgid "Delete Stock Items" msgid "Delete Stock Items"
msgstr "Lagerobjekte löschen" msgstr "Lagerobjekte löschen"
#: stock/views.py:407 #: stock/views.py:428
msgid "Must enter integer value" msgid "Must enter integer value"
msgstr "Nur Ganzzahl eingeben" msgstr "Nur Ganzzahl eingeben"
#: stock/views.py:412 #: stock/views.py:433
msgid "Quantity must be positive" msgid "Quantity must be positive"
msgstr "Anzahl muss positiv sein" msgstr "Anzahl muss positiv sein"
#: stock/views.py:419 #: stock/views.py:440
#, python-brace-format #, python-brace-format
msgid "Quantity must not exceed {x}" msgid "Quantity must not exceed {x}"
msgstr "Anzahl darf {x} nicht überschreiten" msgstr "Anzahl darf {x} nicht überschreiten"
#: stock/views.py:427 #: stock/views.py:448
msgid "Confirm stock adjustment" msgid "Confirm stock adjustment"
msgstr "Bestands-Anpassung bestätigen" msgstr "Bestands-Anpassung bestätigen"
#: stock/views.py:498 #: stock/views.py:519
#, python-brace-format #, python-brace-format
msgid "Added stock to {n} items" msgid "Added stock to {n} items"
msgstr "Vorrat zu {n} Lagerobjekten hinzugefügt" msgstr "Vorrat zu {n} Lagerobjekten hinzugefügt"
#: stock/views.py:513 #: stock/views.py:534
#, python-brace-format #, python-brace-format
msgid "Removed stock from {n} items" msgid "Removed stock from {n} items"
msgstr "Vorrat von {n} Lagerobjekten entfernt" msgstr "Vorrat von {n} Lagerobjekten entfernt"
#: stock/views.py:526 #: stock/views.py:547
#, python-brace-format #, python-brace-format
msgid "Counted stock for {n} items" msgid "Counted stock for {n} items"
msgstr "Bestand für {n} Objekte erfasst" msgstr "Bestand für {n} Objekte erfasst"
#: stock/views.py:554 #: stock/views.py:575
msgid "No items were moved" msgid "No items were moved"
msgstr "Keine Lagerobjekte wurden bewegt" msgstr "Keine Lagerobjekte wurden bewegt"
#: stock/views.py:557 #: stock/views.py:578
#, python-brace-format #, python-brace-format
msgid "Moved {n} items to {dest}" msgid "Moved {n} items to {dest}"
msgstr "{n} Teile nach {dest} bewegt" msgstr "{n} Teile nach {dest} bewegt"
#: stock/views.py:576 #: stock/views.py:597
#, python-brace-format #, python-brace-format
msgid "Deleted {n} stock items" msgid "Deleted {n} stock items"
msgstr "{n} Teile im Lager gelöscht" msgstr "{n} Teile im Lager gelöscht"
#: stock/views.py:588 #: stock/views.py:609
msgid "Edit Stock Item" msgid "Edit Stock Item"
msgstr "Lagerobjekt bearbeiten" msgstr "Lagerobjekt bearbeiten"
#: stock/views.py:624 #: stock/views.py:645
msgid "Create new Stock Location" msgid "Create new Stock Location"
msgstr "Neuen Lager-Standort erstellen" msgstr "Neuen Lager-Standort erstellen"
#: stock/views.py:645 #: stock/views.py:666
msgid "Serialize Stock" msgid "Serialize Stock"
msgstr "Lagerbestand erfassen" msgstr "Lagerbestand erfassen"
#: stock/views.py:725 #: stock/views.py:746
msgid "Create new Stock Item" msgid "Create new Stock Item"
msgstr "Neues Lagerobjekt hinzufügen" msgstr "Neues Lagerobjekt hinzufügen"
#: stock/views.py:789 #: stock/views.py:810
msgid "Copy Stock Item" msgid "Copy Stock Item"
msgstr "Lagerobjekt kopieren" msgstr "Lagerobjekt kopieren"
#: stock/views.py:839 #: stock/views.py:860
msgid "Invalid quantity" msgid "Invalid quantity"
msgstr "Ungültige Menge" msgstr "Ungültige Menge"
#: stock/views.py:842 #: stock/views.py:863
msgid "Invalid part selection" msgid "Invalid part selection"
msgstr "Ungültige Teileauswahl" msgstr "Ungültige Teileauswahl"
#: stock/views.py:904 #: stock/views.py:925
msgid "Created new stock item" msgid "Created new stock item"
msgstr "Neues Lagerobjekt erstellt" msgstr "Neues Lagerobjekt erstellt"
#: stock/views.py:921 #: stock/views.py:942
msgid "Delete Stock Location" msgid "Delete Stock Location"
msgstr "Standort löschen" msgstr "Standort löschen"
#: stock/views.py:934 #: stock/views.py:955
msgid "Delete Stock Item" msgid "Delete Stock Item"
msgstr "Lagerobjekt löschen" msgstr "Lagerobjekt löschen"
#: stock/views.py:945 #: stock/views.py:966
msgid "Delete Stock Tracking Entry" msgid "Delete Stock Tracking Entry"
msgstr "Lagerbestands-Tracking-Eintrag löschen" msgstr "Lagerbestands-Tracking-Eintrag löschen"
#: stock/views.py:962 #: stock/views.py:983
msgid "Edit Stock Tracking Entry" msgid "Edit Stock Tracking Entry"
msgstr "Lagerbestands-Tracking-Eintrag bearbeiten" msgstr "Lagerbestands-Tracking-Eintrag bearbeiten"
#: stock/views.py:971 #: stock/views.py:992
msgid "Add Stock Tracking Entry" msgid "Add Stock Tracking Entry"
msgstr "Lagerbestands-Tracking-Eintrag hinzufügen" msgstr "Lagerbestands-Tracking-Eintrag hinzufügen"
#: templates/about.html:18
msgid "InvenTree Version Information"
msgstr ""
#: templates/about.html:21
#, fuzzy
#| msgid "Revision"
msgid "Version"
msgstr "Revision"
#: templates/about.html:24
msgid "Commit Hash"
msgstr ""
#: templates/about.html:27
msgid "Commit Date"
msgstr ""
#: templates/about.html:33
msgid "InvenTree Documentation"
msgstr ""
#: templates/about.html:37
msgid "View Code on GitHub"
msgstr ""

View File

@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-02-01 12:59+0000\n" "POT-Creation-Date: 2020-02-02 01:39+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
@ -18,7 +18,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: InvenTree/helpers.py:186 order/models.py:159 order/models.py:210 #: InvenTree/helpers.py:186 order/models.py:161 order/models.py:212
msgid "Invalid quantity provided" msgid "Invalid quantity provided"
msgstr "" msgstr ""
@ -212,7 +212,7 @@ msgstr ""
#: build/templates/build/allocate_edit.html:19 #: build/templates/build/allocate_edit.html:19
#: build/templates/build/allocate_view.html:17 #: build/templates/build/allocate_view.html:17
#: build/templates/build/detail.html:17 #: build/templates/build/detail.html:17
#: order/templates/order/purchase_order_detail.html:107 #: order/templates/order/purchase_order_detail.html:25
msgid "Part" msgid "Part"
msgstr "" msgstr ""
@ -239,7 +239,7 @@ msgid "Order Parts"
msgstr "" msgstr ""
#: build/templates/build/allocate_view.html:18 #: build/templates/build/allocate_view.html:18
#: order/templates/order/purchase_order_detail.html:108 #: order/templates/order/purchase_order_detail.html:26
#: part/templates/part/detail.html:33 #: part/templates/part/detail.html:33
msgid "Description" msgid "Description"
msgstr "" msgstr ""
@ -258,8 +258,8 @@ msgid "Title"
msgstr "" msgstr ""
#: build/templates/build/detail.html:20 #: build/templates/build/detail.html:20
#: order/templates/order/purchase_order_detail.html:111 #: order/templates/order/purchase_order_detail.html:29
#: stock/templates/stock/item.html:89 #: stock/templates/stock/item_base.html:90
#: stock/templates/stock/stock_adjust.html:18 #: stock/templates/stock/stock_adjust.html:18
msgid "Quantity" msgid "Quantity"
msgstr "" msgstr ""
@ -273,22 +273,23 @@ msgid "Stock can be taken from any available location."
msgstr "" msgstr ""
#: build/templates/build/detail.html:33 #: build/templates/build/detail.html:33
#: order/templates/order/purchase_order_detail.html:70 #: order/templates/order/order_base.html:71
#: stock/templates/stock/item.html:146 #: stock/templates/stock/item_base.html:147
msgid "Status" msgid "Status"
msgstr "" msgstr ""
#: build/templates/build/detail.html:37 stock/templates/stock/item.html:95 #: build/templates/build/detail.html:37 stock/templates/stock/item_base.html:96
msgid "Batch" msgid "Batch"
msgstr "" msgstr ""
#: build/templates/build/detail.html:42 part/templates/part/detail.html:50 #: build/templates/build/detail.html:42 part/templates/part/detail.html:50
#: part/templates/part/part_base.html:91 stock/templates/stock/item.html:119 #: part/templates/part/part_base.html:91
#: stock/templates/stock/item_base.html:120
msgid "URL" msgid "URL"
msgstr "" msgstr ""
#: build/templates/build/detail.html:46 #: build/templates/build/detail.html:46
#: order/templates/order/purchase_order_detail.html:74 #: order/templates/order/order_base.html:75
msgid "Created" msgid "Created"
msgstr "" msgstr ""
@ -313,12 +314,14 @@ msgid "Build Notes"
msgstr "" msgstr ""
#: build/templates/build/notes.html:20 company/templates/company/notes.html:17 #: build/templates/build/notes.html:20 company/templates/company/notes.html:17
#: part/templates/part/notes.html:20 #: order/templates/order/order_notes.html:21 part/templates/part/notes.html:20
#: stock/templates/stock/item_notes.html:21
msgid "Save" msgid "Save"
msgstr "" msgstr ""
#: build/templates/build/notes.html:33 company/templates/company/notes.html:30 #: build/templates/build/notes.html:33 company/templates/company/notes.html:30
#: part/templates/part/notes.html:32 #: order/templates/order/order_notes.html:32 part/templates/part/notes.html:32
#: stock/templates/stock/item_notes.html:32
msgid "Edit notes" msgid "Edit notes"
msgstr "" msgstr ""
@ -328,9 +331,8 @@ msgid "Details"
msgstr "" msgstr ""
#: build/templates/build/tabs.html:8 company/models.py:248 #: build/templates/build/tabs.html:8 company/models.py:248
#: company/templates/company/tabs.html:26 #: company/templates/company/tabs.html:26 order/templates/order/tabs.html:8
#: order/templates/order/purchase_order_detail.html:168 #: part/templates/part/tabs.html:58 stock/templates/stock/tabs.html:8
#: part/templates/part/tabs.html:58 stock/templates/stock/item.html:151
msgid "Notes" msgid "Notes"
msgstr "" msgstr ""
@ -338,7 +340,7 @@ msgstr ""
msgid "Assign Parts" msgid "Assign Parts"
msgstr "" msgstr ""
#: build/views.py:290 stock/views.py:863 #: build/views.py:290 stock/views.py:884
#, python-brace-format #, python-brace-format
msgid "The following serial numbers already exist: ({sn})" msgid "The following serial numbers already exist: ({sn})"
msgstr "" msgstr ""
@ -496,134 +498,151 @@ msgstr ""
msgid "Receive parts to this location" msgid "Receive parts to this location"
msgstr "" msgstr ""
#: order/models.py:63 #: order/models.py:65
msgid "Order reference" msgid "Order reference"
msgstr "" msgstr ""
#: order/models.py:65 #: order/models.py:67
msgid "Order description" msgid "Order description"
msgstr "" msgstr ""
#: order/models.py:67 #: order/models.py:69
msgid "Link to external page" msgid "Link to external page"
msgstr "" msgstr ""
#: order/models.py:84 #: order/models.py:86
msgid "Order notes" msgid "Order notes"
msgstr "" msgstr ""
#: order/models.py:126 #: order/models.py:128
msgid "Company" msgid "Company"
msgstr "" msgstr ""
#: order/models.py:157 order/models.py:208 part/views.py:1065 #: order/models.py:159 order/models.py:210 part/views.py:1065
#: stock/models.py:438 #: stock/models.py:440
msgid "Quantity must be greater than zero" msgid "Quantity must be greater than zero"
msgstr "" msgstr ""
#: order/models.py:162 #: order/models.py:164
msgid "Part supplier must match PO supplier" msgid "Part supplier must match PO supplier"
msgstr "" msgstr ""
#: order/models.py:203 #: order/models.py:205
msgid "Lines can only be received against an order marked as 'Placed'" msgid "Lines can only be received against an order marked as 'Placed'"
msgstr "" msgstr ""
#: order/models.py:252 #: order/models.py:254
msgid "Item quantity" msgid "Item quantity"
msgstr "" msgstr ""
#: order/models.py:254 #: order/models.py:256
msgid "Line item reference" msgid "Line item reference"
msgstr "" msgstr ""
#: order/models.py:256 #: order/models.py:258
msgid "Line item notes" msgid "Line item notes"
msgstr "" msgstr ""
#: order/models.py:282 stock/templates/stock/item.html:107 #: order/models.py:284 stock/templates/stock/item_base.html:108
msgid "Purchase Order" msgid "Purchase Order"
msgstr "" msgstr ""
#: order/models.py:291 #: order/models.py:293
msgid "Supplier part" msgid "Supplier part"
msgstr "" msgstr ""
#: order/models.py:294 #: order/models.py:296
msgid "Number of items received" msgid "Number of items received"
msgstr "" msgstr ""
#: order/templates/order/purchase_order_detail.html:63 #: order/templates/order/order_base.html:64
msgid "Purchase Order Details" msgid "Purchase Order Details"
msgstr "" msgstr ""
#: order/templates/order/purchase_order_detail.html:66 #: order/templates/order/order_base.html:67
#: stock/templates/stock/item.html:125 #: stock/templates/stock/item_base.html:126
msgid "Supplier" msgid "Supplier"
msgstr "" msgstr ""
#: order/templates/order/purchase_order_detail.html:79 #: order/templates/order/order_base.html:80
msgid "Issued" msgid "Issued"
msgstr "" msgstr ""
#: order/templates/order/purchase_order_detail.html:85 #: order/templates/order/order_base.html:86
#: order/templates/order/purchase_order_detail.html:113 #: order/templates/order/purchase_order_detail.html:31
msgid "Received" msgid "Received"
msgstr "" msgstr ""
#: order/templates/order/purchase_order_detail.html:106 #: order/templates/order/order_notes.html:13
#: order/templates/order/order_notes.html:29
msgid "Order Notes"
msgstr ""
#: order/templates/order/purchase_order_detail.html:15
msgid "Add Line Item"
msgstr ""
#: order/templates/order/purchase_order_detail.html:19
msgid "Order Items"
msgstr ""
#: order/templates/order/purchase_order_detail.html:24
msgid "Line" msgid "Line"
msgstr "" msgstr ""
#: order/templates/order/purchase_order_detail.html:109 #: order/templates/order/purchase_order_detail.html:27
msgid "Order Code" msgid "Order Code"
msgstr "" msgstr ""
#: order/templates/order/purchase_order_detail.html:110 #: order/templates/order/purchase_order_detail.html:28
msgid "Reference" msgid "Reference"
msgstr "" msgstr ""
#: order/templates/order/purchase_order_detail.html:115 #: order/templates/order/purchase_order_detail.html:33
msgid "Note" msgid "Note"
msgstr "" msgstr ""
#: order/views.py:141 #: order/templates/order/tabs.html:5
msgid "Items"
msgstr ""
#: order/views.py:164
msgid "Confirm order cancellation" msgid "Confirm order cancellation"
msgstr "" msgstr ""
#: order/views.py:174 #: order/views.py:197
msgid "Confirm order placement" msgid "Confirm order placement"
msgstr "" msgstr ""
#: order/views.py:328 #: order/views.py:351
msgid "Items received" msgid "Items received"
msgstr "" msgstr ""
#: order/views.py:342 #: order/views.py:365
msgid "No destination set" msgid "No destination set"
msgstr "" msgstr ""
#: order/views.py:373 #: order/views.py:396
msgid "Error converting quantity to number" msgid "Error converting quantity to number"
msgstr "" msgstr ""
#: order/views.py:379 #: order/views.py:402
msgid "Receive quantity less than zero" msgid "Receive quantity less than zero"
msgstr "" msgstr ""
#: order/views.py:385 #: order/views.py:408
msgid "No lines specified" msgid "No lines specified"
msgstr "" msgstr ""
#: order/views.py:744 #: order/views.py:767
msgid "Invalid Purchase Order" msgid "Invalid Purchase Order"
msgstr "" msgstr ""
#: order/views.py:752 #: order/views.py:775
msgid "Supplier must match for Part and Order" msgid "Supplier must match for Part and Order"
msgstr "" msgstr ""
#: order/views.py:757 #: order/views.py:780
msgid "Invalid SupplierPart selection" msgid "Invalid SupplierPart selection"
msgstr "" msgstr ""
@ -1057,7 +1076,7 @@ msgstr ""
msgid "BOM" msgid "BOM"
msgstr "" msgstr ""
#: part/templates/part/tabs.html:28 stock/templates/stock/item.html:101 #: part/templates/part/tabs.html:28 stock/templates/stock/item_base.html:102
msgid "Build" msgid "Build"
msgstr "" msgstr ""
@ -1069,7 +1088,7 @@ msgstr ""
msgid "Suppliers" msgid "Suppliers"
msgstr "" msgstr ""
#: part/templates/part/tabs.html:48 #: part/templates/part/tabs.html:48 stock/templates/stock/tabs.html:5
msgid "Tracking" msgid "Tracking"
msgstr "" msgstr ""
@ -1130,175 +1149,176 @@ msgstr ""
msgid "Set the destination as the default location for selected parts" msgid "Set the destination as the default location for selected parts"
msgstr "" msgstr ""
#: stock/models.py:202 #: stock/models.py:204
#, python-brace-format #, python-brace-format
msgid "" msgid ""
"A stock item with this serial number already exists for template part {part}" "A stock item with this serial number already exists for template part {part}"
msgstr "" msgstr ""
#: stock/models.py:207 #: stock/models.py:209
msgid "A stock item with this serial number already exists" msgid "A stock item with this serial number already exists"
msgstr "" msgstr ""
#: stock/models.py:226 #: stock/models.py:228
#, python-brace-format #, python-brace-format
msgid "Part type ('{pf}') must be {pe}" msgid "Part type ('{pf}') must be {pe}"
msgstr "" msgstr ""
#: stock/models.py:236 stock/models.py:245 #: stock/models.py:238 stock/models.py:247
msgid "Quantity must be 1 for item with a serial number" msgid "Quantity must be 1 for item with a serial number"
msgstr "" msgstr ""
#: stock/models.py:237 #: stock/models.py:239
msgid "Serial number cannot be set if quantity greater than 1" msgid "Serial number cannot be set if quantity greater than 1"
msgstr "" msgstr ""
#: stock/models.py:253 #: stock/models.py:255
msgid "Stock item cannot be created for a template Part" msgid "Stock item cannot be created for a template Part"
msgstr "" msgstr ""
#: stock/models.py:262 #: stock/models.py:264
msgid "Item cannot belong to itself" msgid "Item cannot belong to itself"
msgstr "" msgstr ""
#: stock/models.py:298 #: stock/models.py:300
msgid "Base part" msgid "Base part"
msgstr "" msgstr ""
#: stock/models.py:305 #: stock/models.py:307
msgid "Select a matching supplier part for this stock item" msgid "Select a matching supplier part for this stock item"
msgstr "" msgstr ""
#: stock/models.py:309 #: stock/models.py:311
msgid "Where is this stock item located?" msgid "Where is this stock item located?"
msgstr "" msgstr ""
#: stock/models.py:313 #: stock/models.py:315
msgid "Is this item installed in another item?" msgid "Is this item installed in another item?"
msgstr "" msgstr ""
#: stock/models.py:317 #: stock/models.py:319
msgid "Item assigned to customer?" msgid "Item assigned to customer?"
msgstr "" msgstr ""
#: stock/models.py:320 #: stock/models.py:322
msgid "Serial number for this item" msgid "Serial number for this item"
msgstr "" msgstr ""
#: stock/models.py:325 #: stock/models.py:327
msgid "Batch code for this stock item" msgid "Batch code for this stock item"
msgstr "" msgstr ""
#: stock/models.py:334 #: stock/models.py:336
msgid "Build for this stock item" msgid "Build for this stock item"
msgstr "" msgstr ""
#: stock/models.py:343 #: stock/models.py:345
msgid "Purchase order for this stock item" msgid "Purchase order for this stock item"
msgstr "" msgstr ""
#: stock/models.py:354 #: stock/models.py:356
msgid "Delete this Stock Item when stock is depleted" msgid "Delete this Stock Item when stock is depleted"
msgstr "" msgstr ""
#: stock/models.py:361 #: stock/models.py:363 stock/templates/stock/item_notes.html:13
#: stock/templates/stock/item_notes.html:29
msgid "Stock Item Notes" msgid "Stock Item Notes"
msgstr "" msgstr ""
#: stock/models.py:435 #: stock/models.py:437
msgid "Quantity must be integer" msgid "Quantity must be integer"
msgstr "" msgstr ""
#: stock/models.py:441 #: stock/models.py:443
#, python-brace-format #, python-brace-format
msgid "Quantity must not exceed available stock quantity ({n})" msgid "Quantity must not exceed available stock quantity ({n})"
msgstr "" msgstr ""
#: stock/models.py:444 stock/models.py:447 #: stock/models.py:446 stock/models.py:449
msgid "Serial numbers must be a list of integers" msgid "Serial numbers must be a list of integers"
msgstr "" msgstr ""
#: stock/models.py:450 #: stock/models.py:452
msgid "Quantity does not match serial numbers" msgid "Quantity does not match serial numbers"
msgstr "" msgstr ""
#: stock/models.py:460 #: stock/models.py:462
msgid "Serial numbers already exist: " msgid "Serial numbers already exist: "
msgstr "" msgstr ""
#: stock/models.py:481 #: stock/models.py:483
msgid "Add serial number" msgid "Add serial number"
msgstr "" msgstr ""
#: stock/models.py:484 #: stock/models.py:486
#, python-brace-format #, python-brace-format
msgid "Serialized {n} items" msgid "Serialized {n} items"
msgstr "" msgstr ""
#: stock/models.py:750 #: stock/models.py:752
msgid "Tracking entry title" msgid "Tracking entry title"
msgstr "" msgstr ""
#: stock/models.py:752 #: stock/models.py:754
msgid "Entry notes" msgid "Entry notes"
msgstr "" msgstr ""
#: stock/models.py:754 #: stock/models.py:756
msgid "Link to external page for further information" msgid "Link to external page for further information"
msgstr "" msgstr ""
#: stock/templates/stock/item.html:9 #: stock/templates/stock/item.html:12
msgid "Stock Tracking Information"
msgstr ""
#: stock/templates/stock/item_base.html:10
msgid "Stock Item Details" msgid "Stock Item Details"
msgstr "" msgstr ""
#: stock/templates/stock/item.html:52 #: stock/templates/stock/item_base.html:53
msgid "" msgid ""
"This stock item is serialized - it has a unique serial number and the " "This stock item is serialized - it has a unique serial number and the "
"quantity cannot be adjusted." "quantity cannot be adjusted."
msgstr "" msgstr ""
#: stock/templates/stock/item.html:56 #: stock/templates/stock/item_base.html:57
msgid "" msgid ""
"This stock item will be automatically deleted when all stock is depleted." "This stock item will be automatically deleted when all stock is depleted."
msgstr "" msgstr ""
#: stock/templates/stock/item.html:73 #: stock/templates/stock/item_base.html:74
msgid "Belongs To" msgid "Belongs To"
msgstr "" msgstr ""
#: stock/templates/stock/item.html:78 #: stock/templates/stock/item_base.html:79
#: stock/templates/stock/stock_adjust.html:17 #: stock/templates/stock/stock_adjust.html:17
msgid "Location" msgid "Location"
msgstr "" msgstr ""
#: stock/templates/stock/item.html:84 #: stock/templates/stock/item_base.html:85
msgid "Serial Number" msgid "Serial Number"
msgstr "" msgstr ""
#: stock/templates/stock/item.html:113 #: stock/templates/stock/item_base.html:114
msgid "Customer" msgid "Customer"
msgstr "" msgstr ""
#: stock/templates/stock/item.html:129 #: stock/templates/stock/item_base.html:130
msgid "Supplier Part" msgid "Supplier Part"
msgstr "" msgstr ""
#: stock/templates/stock/item.html:134 #: stock/templates/stock/item_base.html:135
msgid "Last Updated" msgid "Last Updated"
msgstr "" msgstr ""
#: stock/templates/stock/item.html:138 #: stock/templates/stock/item_base.html:139
msgid "Last Stocktake" msgid "Last Stocktake"
msgstr "" msgstr ""
#: stock/templates/stock/item.html:142 #: stock/templates/stock/item_base.html:143
msgid "No stocktake performed" msgid "No stocktake performed"
msgstr "" msgstr ""
#: stock/templates/stock/item.html:160
msgid "Stock Tracking Information"
msgstr ""
#: stock/templates/stock/location.html:37 #: stock/templates/stock/location.html:37
msgid "Location Details" msgid "Location Details"
msgstr "" msgstr ""
@ -1332,140 +1352,164 @@ msgstr ""
msgid "Stock Item" msgid "Stock Item"
msgstr "" msgstr ""
#: stock/views.py:96 #: stock/views.py:117
msgid "Edit Stock Location" msgid "Edit Stock Location"
msgstr "" msgstr ""
#: stock/views.py:120 #: stock/views.py:141
msgid "Stock Location QR code" msgid "Stock Location QR code"
msgstr "" msgstr ""
#: stock/views.py:135 #: stock/views.py:156
msgid "Stock Export Options" msgid "Stock Export Options"
msgstr "" msgstr ""
#: stock/views.py:243 #: stock/views.py:264
msgid "Stock Item QR Code" msgid "Stock Item QR Code"
msgstr "" msgstr ""
#: stock/views.py:266 #: stock/views.py:287
msgid "Adjust Stock" msgid "Adjust Stock"
msgstr "" msgstr ""
#: stock/views.py:375 #: stock/views.py:396
msgid "Move Stock Items" msgid "Move Stock Items"
msgstr "" msgstr ""
#: stock/views.py:376 #: stock/views.py:397
msgid "Count Stock Items" msgid "Count Stock Items"
msgstr "" msgstr ""
#: stock/views.py:377 #: stock/views.py:398
msgid "Remove From Stock" msgid "Remove From Stock"
msgstr "" msgstr ""
#: stock/views.py:378 #: stock/views.py:399
msgid "Add Stock Items" msgid "Add Stock Items"
msgstr "" msgstr ""
#: stock/views.py:379 #: stock/views.py:400
msgid "Delete Stock Items" msgid "Delete Stock Items"
msgstr "" msgstr ""
#: stock/views.py:407 #: stock/views.py:428
msgid "Must enter integer value" msgid "Must enter integer value"
msgstr "" msgstr ""
#: stock/views.py:412 #: stock/views.py:433
msgid "Quantity must be positive" msgid "Quantity must be positive"
msgstr "" msgstr ""
#: stock/views.py:419 #: stock/views.py:440
#, python-brace-format #, python-brace-format
msgid "Quantity must not exceed {x}" msgid "Quantity must not exceed {x}"
msgstr "" msgstr ""
#: stock/views.py:427 #: stock/views.py:448
msgid "Confirm stock adjustment" msgid "Confirm stock adjustment"
msgstr "" msgstr ""
#: stock/views.py:498 #: stock/views.py:519
#, python-brace-format #, python-brace-format
msgid "Added stock to {n} items" msgid "Added stock to {n} items"
msgstr "" msgstr ""
#: stock/views.py:513 #: stock/views.py:534
#, python-brace-format #, python-brace-format
msgid "Removed stock from {n} items" msgid "Removed stock from {n} items"
msgstr "" msgstr ""
#: stock/views.py:526 #: stock/views.py:547
#, python-brace-format #, python-brace-format
msgid "Counted stock for {n} items" msgid "Counted stock for {n} items"
msgstr "" msgstr ""
#: stock/views.py:554 #: stock/views.py:575
msgid "No items were moved" msgid "No items were moved"
msgstr "" msgstr ""
#: stock/views.py:557 #: stock/views.py:578
#, python-brace-format #, python-brace-format
msgid "Moved {n} items to {dest}" msgid "Moved {n} items to {dest}"
msgstr "" msgstr ""
#: stock/views.py:576 #: stock/views.py:597
#, python-brace-format #, python-brace-format
msgid "Deleted {n} stock items" msgid "Deleted {n} stock items"
msgstr "" msgstr ""
#: stock/views.py:588 #: stock/views.py:609
msgid "Edit Stock Item" msgid "Edit Stock Item"
msgstr "" msgstr ""
#: stock/views.py:624 #: stock/views.py:645
msgid "Create new Stock Location" msgid "Create new Stock Location"
msgstr "" msgstr ""
#: stock/views.py:645 #: stock/views.py:666
msgid "Serialize Stock" msgid "Serialize Stock"
msgstr "" msgstr ""
#: stock/views.py:725 #: stock/views.py:746
msgid "Create new Stock Item" msgid "Create new Stock Item"
msgstr "" msgstr ""
#: stock/views.py:789 #: stock/views.py:810
msgid "Copy Stock Item" msgid "Copy Stock Item"
msgstr "" msgstr ""
#: stock/views.py:839 #: stock/views.py:860
msgid "Invalid quantity" msgid "Invalid quantity"
msgstr "" msgstr ""
#: stock/views.py:842 #: stock/views.py:863
msgid "Invalid part selection" msgid "Invalid part selection"
msgstr "" msgstr ""
#: stock/views.py:904 #: stock/views.py:925
msgid "Created new stock item" msgid "Created new stock item"
msgstr "" msgstr ""
#: stock/views.py:921 #: stock/views.py:942
msgid "Delete Stock Location" msgid "Delete Stock Location"
msgstr "" msgstr ""
#: stock/views.py:934 #: stock/views.py:955
msgid "Delete Stock Item" msgid "Delete Stock Item"
msgstr "" msgstr ""
#: stock/views.py:945 #: stock/views.py:966
msgid "Delete Stock Tracking Entry" msgid "Delete Stock Tracking Entry"
msgstr "" msgstr ""
#: stock/views.py:962 #: stock/views.py:983
msgid "Edit Stock Tracking Entry" msgid "Edit Stock Tracking Entry"
msgstr "" msgstr ""
#: stock/views.py:971 #: stock/views.py:992
msgid "Add Stock Tracking Entry" msgid "Add Stock Tracking Entry"
msgstr "" msgstr ""
#: templates/about.html:18
msgid "InvenTree Version Information"
msgstr ""
#: templates/about.html:21
msgid "Version"
msgstr ""
#: templates/about.html:24
msgid "Commit Hash"
msgstr ""
#: templates/about.html:27
msgid "Commit Date"
msgstr ""
#: templates/about.html:33
msgid "InvenTree Documentation"
msgstr ""
#: templates/about.html:37
msgid "View Code on GitHub"
msgstr ""

View File

@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-02-01 12:59+0000\n" "POT-Creation-Date: 2020-02-02 01:39+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
@ -18,7 +18,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: InvenTree/helpers.py:186 order/models.py:159 order/models.py:210 #: InvenTree/helpers.py:186 order/models.py:161 order/models.py:212
msgid "Invalid quantity provided" msgid "Invalid quantity provided"
msgstr "" msgstr ""
@ -212,7 +212,7 @@ msgstr ""
#: build/templates/build/allocate_edit.html:19 #: build/templates/build/allocate_edit.html:19
#: build/templates/build/allocate_view.html:17 #: build/templates/build/allocate_view.html:17
#: build/templates/build/detail.html:17 #: build/templates/build/detail.html:17
#: order/templates/order/purchase_order_detail.html:107 #: order/templates/order/purchase_order_detail.html:25
msgid "Part" msgid "Part"
msgstr "" msgstr ""
@ -239,7 +239,7 @@ msgid "Order Parts"
msgstr "" msgstr ""
#: build/templates/build/allocate_view.html:18 #: build/templates/build/allocate_view.html:18
#: order/templates/order/purchase_order_detail.html:108 #: order/templates/order/purchase_order_detail.html:26
#: part/templates/part/detail.html:33 #: part/templates/part/detail.html:33
msgid "Description" msgid "Description"
msgstr "" msgstr ""
@ -258,8 +258,8 @@ msgid "Title"
msgstr "" msgstr ""
#: build/templates/build/detail.html:20 #: build/templates/build/detail.html:20
#: order/templates/order/purchase_order_detail.html:111 #: order/templates/order/purchase_order_detail.html:29
#: stock/templates/stock/item.html:89 #: stock/templates/stock/item_base.html:90
#: stock/templates/stock/stock_adjust.html:18 #: stock/templates/stock/stock_adjust.html:18
msgid "Quantity" msgid "Quantity"
msgstr "" msgstr ""
@ -273,22 +273,23 @@ msgid "Stock can be taken from any available location."
msgstr "" msgstr ""
#: build/templates/build/detail.html:33 #: build/templates/build/detail.html:33
#: order/templates/order/purchase_order_detail.html:70 #: order/templates/order/order_base.html:71
#: stock/templates/stock/item.html:146 #: stock/templates/stock/item_base.html:147
msgid "Status" msgid "Status"
msgstr "" msgstr ""
#: build/templates/build/detail.html:37 stock/templates/stock/item.html:95 #: build/templates/build/detail.html:37 stock/templates/stock/item_base.html:96
msgid "Batch" msgid "Batch"
msgstr "" msgstr ""
#: build/templates/build/detail.html:42 part/templates/part/detail.html:50 #: build/templates/build/detail.html:42 part/templates/part/detail.html:50
#: part/templates/part/part_base.html:91 stock/templates/stock/item.html:119 #: part/templates/part/part_base.html:91
#: stock/templates/stock/item_base.html:120
msgid "URL" msgid "URL"
msgstr "" msgstr ""
#: build/templates/build/detail.html:46 #: build/templates/build/detail.html:46
#: order/templates/order/purchase_order_detail.html:74 #: order/templates/order/order_base.html:75
msgid "Created" msgid "Created"
msgstr "" msgstr ""
@ -313,12 +314,14 @@ msgid "Build Notes"
msgstr "" msgstr ""
#: build/templates/build/notes.html:20 company/templates/company/notes.html:17 #: build/templates/build/notes.html:20 company/templates/company/notes.html:17
#: part/templates/part/notes.html:20 #: order/templates/order/order_notes.html:21 part/templates/part/notes.html:20
#: stock/templates/stock/item_notes.html:21
msgid "Save" msgid "Save"
msgstr "" msgstr ""
#: build/templates/build/notes.html:33 company/templates/company/notes.html:30 #: build/templates/build/notes.html:33 company/templates/company/notes.html:30
#: part/templates/part/notes.html:32 #: order/templates/order/order_notes.html:32 part/templates/part/notes.html:32
#: stock/templates/stock/item_notes.html:32
msgid "Edit notes" msgid "Edit notes"
msgstr "" msgstr ""
@ -328,9 +331,8 @@ msgid "Details"
msgstr "" msgstr ""
#: build/templates/build/tabs.html:8 company/models.py:248 #: build/templates/build/tabs.html:8 company/models.py:248
#: company/templates/company/tabs.html:26 #: company/templates/company/tabs.html:26 order/templates/order/tabs.html:8
#: order/templates/order/purchase_order_detail.html:168 #: part/templates/part/tabs.html:58 stock/templates/stock/tabs.html:8
#: part/templates/part/tabs.html:58 stock/templates/stock/item.html:151
msgid "Notes" msgid "Notes"
msgstr "" msgstr ""
@ -338,7 +340,7 @@ msgstr ""
msgid "Assign Parts" msgid "Assign Parts"
msgstr "" msgstr ""
#: build/views.py:290 stock/views.py:863 #: build/views.py:290 stock/views.py:884
#, python-brace-format #, python-brace-format
msgid "The following serial numbers already exist: ({sn})" msgid "The following serial numbers already exist: ({sn})"
msgstr "" msgstr ""
@ -496,134 +498,151 @@ msgstr ""
msgid "Receive parts to this location" msgid "Receive parts to this location"
msgstr "" msgstr ""
#: order/models.py:63 #: order/models.py:65
msgid "Order reference" msgid "Order reference"
msgstr "" msgstr ""
#: order/models.py:65 #: order/models.py:67
msgid "Order description" msgid "Order description"
msgstr "" msgstr ""
#: order/models.py:67 #: order/models.py:69
msgid "Link to external page" msgid "Link to external page"
msgstr "" msgstr ""
#: order/models.py:84 #: order/models.py:86
msgid "Order notes" msgid "Order notes"
msgstr "" msgstr ""
#: order/models.py:126 #: order/models.py:128
msgid "Company" msgid "Company"
msgstr "" msgstr ""
#: order/models.py:157 order/models.py:208 part/views.py:1065 #: order/models.py:159 order/models.py:210 part/views.py:1065
#: stock/models.py:438 #: stock/models.py:440
msgid "Quantity must be greater than zero" msgid "Quantity must be greater than zero"
msgstr "" msgstr ""
#: order/models.py:162 #: order/models.py:164
msgid "Part supplier must match PO supplier" msgid "Part supplier must match PO supplier"
msgstr "" msgstr ""
#: order/models.py:203 #: order/models.py:205
msgid "Lines can only be received against an order marked as 'Placed'" msgid "Lines can only be received against an order marked as 'Placed'"
msgstr "" msgstr ""
#: order/models.py:252 #: order/models.py:254
msgid "Item quantity" msgid "Item quantity"
msgstr "" msgstr ""
#: order/models.py:254 #: order/models.py:256
msgid "Line item reference" msgid "Line item reference"
msgstr "" msgstr ""
#: order/models.py:256 #: order/models.py:258
msgid "Line item notes" msgid "Line item notes"
msgstr "" msgstr ""
#: order/models.py:282 stock/templates/stock/item.html:107 #: order/models.py:284 stock/templates/stock/item_base.html:108
msgid "Purchase Order" msgid "Purchase Order"
msgstr "" msgstr ""
#: order/models.py:291 #: order/models.py:293
msgid "Supplier part" msgid "Supplier part"
msgstr "" msgstr ""
#: order/models.py:294 #: order/models.py:296
msgid "Number of items received" msgid "Number of items received"
msgstr "" msgstr ""
#: order/templates/order/purchase_order_detail.html:63 #: order/templates/order/order_base.html:64
msgid "Purchase Order Details" msgid "Purchase Order Details"
msgstr "" msgstr ""
#: order/templates/order/purchase_order_detail.html:66 #: order/templates/order/order_base.html:67
#: stock/templates/stock/item.html:125 #: stock/templates/stock/item_base.html:126
msgid "Supplier" msgid "Supplier"
msgstr "" msgstr ""
#: order/templates/order/purchase_order_detail.html:79 #: order/templates/order/order_base.html:80
msgid "Issued" msgid "Issued"
msgstr "" msgstr ""
#: order/templates/order/purchase_order_detail.html:85 #: order/templates/order/order_base.html:86
#: order/templates/order/purchase_order_detail.html:113 #: order/templates/order/purchase_order_detail.html:31
msgid "Received" msgid "Received"
msgstr "" msgstr ""
#: order/templates/order/purchase_order_detail.html:106 #: order/templates/order/order_notes.html:13
#: order/templates/order/order_notes.html:29
msgid "Order Notes"
msgstr ""
#: order/templates/order/purchase_order_detail.html:15
msgid "Add Line Item"
msgstr ""
#: order/templates/order/purchase_order_detail.html:19
msgid "Order Items"
msgstr ""
#: order/templates/order/purchase_order_detail.html:24
msgid "Line" msgid "Line"
msgstr "" msgstr ""
#: order/templates/order/purchase_order_detail.html:109 #: order/templates/order/purchase_order_detail.html:27
msgid "Order Code" msgid "Order Code"
msgstr "" msgstr ""
#: order/templates/order/purchase_order_detail.html:110 #: order/templates/order/purchase_order_detail.html:28
msgid "Reference" msgid "Reference"
msgstr "" msgstr ""
#: order/templates/order/purchase_order_detail.html:115 #: order/templates/order/purchase_order_detail.html:33
msgid "Note" msgid "Note"
msgstr "" msgstr ""
#: order/views.py:141 #: order/templates/order/tabs.html:5
msgid "Items"
msgstr ""
#: order/views.py:164
msgid "Confirm order cancellation" msgid "Confirm order cancellation"
msgstr "" msgstr ""
#: order/views.py:174 #: order/views.py:197
msgid "Confirm order placement" msgid "Confirm order placement"
msgstr "" msgstr ""
#: order/views.py:328 #: order/views.py:351
msgid "Items received" msgid "Items received"
msgstr "" msgstr ""
#: order/views.py:342 #: order/views.py:365
msgid "No destination set" msgid "No destination set"
msgstr "" msgstr ""
#: order/views.py:373 #: order/views.py:396
msgid "Error converting quantity to number" msgid "Error converting quantity to number"
msgstr "" msgstr ""
#: order/views.py:379 #: order/views.py:402
msgid "Receive quantity less than zero" msgid "Receive quantity less than zero"
msgstr "" msgstr ""
#: order/views.py:385 #: order/views.py:408
msgid "No lines specified" msgid "No lines specified"
msgstr "" msgstr ""
#: order/views.py:744 #: order/views.py:767
msgid "Invalid Purchase Order" msgid "Invalid Purchase Order"
msgstr "" msgstr ""
#: order/views.py:752 #: order/views.py:775
msgid "Supplier must match for Part and Order" msgid "Supplier must match for Part and Order"
msgstr "" msgstr ""
#: order/views.py:757 #: order/views.py:780
msgid "Invalid SupplierPart selection" msgid "Invalid SupplierPart selection"
msgstr "" msgstr ""
@ -1057,7 +1076,7 @@ msgstr ""
msgid "BOM" msgid "BOM"
msgstr "" msgstr ""
#: part/templates/part/tabs.html:28 stock/templates/stock/item.html:101 #: part/templates/part/tabs.html:28 stock/templates/stock/item_base.html:102
msgid "Build" msgid "Build"
msgstr "" msgstr ""
@ -1069,7 +1088,7 @@ msgstr ""
msgid "Suppliers" msgid "Suppliers"
msgstr "" msgstr ""
#: part/templates/part/tabs.html:48 #: part/templates/part/tabs.html:48 stock/templates/stock/tabs.html:5
msgid "Tracking" msgid "Tracking"
msgstr "" msgstr ""
@ -1130,175 +1149,176 @@ msgstr ""
msgid "Set the destination as the default location for selected parts" msgid "Set the destination as the default location for selected parts"
msgstr "" msgstr ""
#: stock/models.py:202 #: stock/models.py:204
#, python-brace-format #, python-brace-format
msgid "" msgid ""
"A stock item with this serial number already exists for template part {part}" "A stock item with this serial number already exists for template part {part}"
msgstr "" msgstr ""
#: stock/models.py:207 #: stock/models.py:209
msgid "A stock item with this serial number already exists" msgid "A stock item with this serial number already exists"
msgstr "" msgstr ""
#: stock/models.py:226 #: stock/models.py:228
#, python-brace-format #, python-brace-format
msgid "Part type ('{pf}') must be {pe}" msgid "Part type ('{pf}') must be {pe}"
msgstr "" msgstr ""
#: stock/models.py:236 stock/models.py:245 #: stock/models.py:238 stock/models.py:247
msgid "Quantity must be 1 for item with a serial number" msgid "Quantity must be 1 for item with a serial number"
msgstr "" msgstr ""
#: stock/models.py:237 #: stock/models.py:239
msgid "Serial number cannot be set if quantity greater than 1" msgid "Serial number cannot be set if quantity greater than 1"
msgstr "" msgstr ""
#: stock/models.py:253 #: stock/models.py:255
msgid "Stock item cannot be created for a template Part" msgid "Stock item cannot be created for a template Part"
msgstr "" msgstr ""
#: stock/models.py:262 #: stock/models.py:264
msgid "Item cannot belong to itself" msgid "Item cannot belong to itself"
msgstr "" msgstr ""
#: stock/models.py:298 #: stock/models.py:300
msgid "Base part" msgid "Base part"
msgstr "" msgstr ""
#: stock/models.py:305 #: stock/models.py:307
msgid "Select a matching supplier part for this stock item" msgid "Select a matching supplier part for this stock item"
msgstr "" msgstr ""
#: stock/models.py:309 #: stock/models.py:311
msgid "Where is this stock item located?" msgid "Where is this stock item located?"
msgstr "" msgstr ""
#: stock/models.py:313 #: stock/models.py:315
msgid "Is this item installed in another item?" msgid "Is this item installed in another item?"
msgstr "" msgstr ""
#: stock/models.py:317 #: stock/models.py:319
msgid "Item assigned to customer?" msgid "Item assigned to customer?"
msgstr "" msgstr ""
#: stock/models.py:320 #: stock/models.py:322
msgid "Serial number for this item" msgid "Serial number for this item"
msgstr "" msgstr ""
#: stock/models.py:325 #: stock/models.py:327
msgid "Batch code for this stock item" msgid "Batch code for this stock item"
msgstr "" msgstr ""
#: stock/models.py:334 #: stock/models.py:336
msgid "Build for this stock item" msgid "Build for this stock item"
msgstr "" msgstr ""
#: stock/models.py:343 #: stock/models.py:345
msgid "Purchase order for this stock item" msgid "Purchase order for this stock item"
msgstr "" msgstr ""
#: stock/models.py:354 #: stock/models.py:356
msgid "Delete this Stock Item when stock is depleted" msgid "Delete this Stock Item when stock is depleted"
msgstr "" msgstr ""
#: stock/models.py:361 #: stock/models.py:363 stock/templates/stock/item_notes.html:13
#: stock/templates/stock/item_notes.html:29
msgid "Stock Item Notes" msgid "Stock Item Notes"
msgstr "" msgstr ""
#: stock/models.py:435 #: stock/models.py:437
msgid "Quantity must be integer" msgid "Quantity must be integer"
msgstr "" msgstr ""
#: stock/models.py:441 #: stock/models.py:443
#, python-brace-format #, python-brace-format
msgid "Quantity must not exceed available stock quantity ({n})" msgid "Quantity must not exceed available stock quantity ({n})"
msgstr "" msgstr ""
#: stock/models.py:444 stock/models.py:447 #: stock/models.py:446 stock/models.py:449
msgid "Serial numbers must be a list of integers" msgid "Serial numbers must be a list of integers"
msgstr "" msgstr ""
#: stock/models.py:450 #: stock/models.py:452
msgid "Quantity does not match serial numbers" msgid "Quantity does not match serial numbers"
msgstr "" msgstr ""
#: stock/models.py:460 #: stock/models.py:462
msgid "Serial numbers already exist: " msgid "Serial numbers already exist: "
msgstr "" msgstr ""
#: stock/models.py:481 #: stock/models.py:483
msgid "Add serial number" msgid "Add serial number"
msgstr "" msgstr ""
#: stock/models.py:484 #: stock/models.py:486
#, python-brace-format #, python-brace-format
msgid "Serialized {n} items" msgid "Serialized {n} items"
msgstr "" msgstr ""
#: stock/models.py:750 #: stock/models.py:752
msgid "Tracking entry title" msgid "Tracking entry title"
msgstr "" msgstr ""
#: stock/models.py:752 #: stock/models.py:754
msgid "Entry notes" msgid "Entry notes"
msgstr "" msgstr ""
#: stock/models.py:754 #: stock/models.py:756
msgid "Link to external page for further information" msgid "Link to external page for further information"
msgstr "" msgstr ""
#: stock/templates/stock/item.html:9 #: stock/templates/stock/item.html:12
msgid "Stock Tracking Information"
msgstr ""
#: stock/templates/stock/item_base.html:10
msgid "Stock Item Details" msgid "Stock Item Details"
msgstr "" msgstr ""
#: stock/templates/stock/item.html:52 #: stock/templates/stock/item_base.html:53
msgid "" msgid ""
"This stock item is serialized - it has a unique serial number and the " "This stock item is serialized - it has a unique serial number and the "
"quantity cannot be adjusted." "quantity cannot be adjusted."
msgstr "" msgstr ""
#: stock/templates/stock/item.html:56 #: stock/templates/stock/item_base.html:57
msgid "" msgid ""
"This stock item will be automatically deleted when all stock is depleted." "This stock item will be automatically deleted when all stock is depleted."
msgstr "" msgstr ""
#: stock/templates/stock/item.html:73 #: stock/templates/stock/item_base.html:74
msgid "Belongs To" msgid "Belongs To"
msgstr "" msgstr ""
#: stock/templates/stock/item.html:78 #: stock/templates/stock/item_base.html:79
#: stock/templates/stock/stock_adjust.html:17 #: stock/templates/stock/stock_adjust.html:17
msgid "Location" msgid "Location"
msgstr "" msgstr ""
#: stock/templates/stock/item.html:84 #: stock/templates/stock/item_base.html:85
msgid "Serial Number" msgid "Serial Number"
msgstr "" msgstr ""
#: stock/templates/stock/item.html:113 #: stock/templates/stock/item_base.html:114
msgid "Customer" msgid "Customer"
msgstr "" msgstr ""
#: stock/templates/stock/item.html:129 #: stock/templates/stock/item_base.html:130
msgid "Supplier Part" msgid "Supplier Part"
msgstr "" msgstr ""
#: stock/templates/stock/item.html:134 #: stock/templates/stock/item_base.html:135
msgid "Last Updated" msgid "Last Updated"
msgstr "" msgstr ""
#: stock/templates/stock/item.html:138 #: stock/templates/stock/item_base.html:139
msgid "Last Stocktake" msgid "Last Stocktake"
msgstr "" msgstr ""
#: stock/templates/stock/item.html:142 #: stock/templates/stock/item_base.html:143
msgid "No stocktake performed" msgid "No stocktake performed"
msgstr "" msgstr ""
#: stock/templates/stock/item.html:160
msgid "Stock Tracking Information"
msgstr ""
#: stock/templates/stock/location.html:37 #: stock/templates/stock/location.html:37
msgid "Location Details" msgid "Location Details"
msgstr "" msgstr ""
@ -1332,140 +1352,164 @@ msgstr ""
msgid "Stock Item" msgid "Stock Item"
msgstr "" msgstr ""
#: stock/views.py:96 #: stock/views.py:117
msgid "Edit Stock Location" msgid "Edit Stock Location"
msgstr "" msgstr ""
#: stock/views.py:120 #: stock/views.py:141
msgid "Stock Location QR code" msgid "Stock Location QR code"
msgstr "" msgstr ""
#: stock/views.py:135 #: stock/views.py:156
msgid "Stock Export Options" msgid "Stock Export Options"
msgstr "" msgstr ""
#: stock/views.py:243 #: stock/views.py:264
msgid "Stock Item QR Code" msgid "Stock Item QR Code"
msgstr "" msgstr ""
#: stock/views.py:266 #: stock/views.py:287
msgid "Adjust Stock" msgid "Adjust Stock"
msgstr "" msgstr ""
#: stock/views.py:375 #: stock/views.py:396
msgid "Move Stock Items" msgid "Move Stock Items"
msgstr "" msgstr ""
#: stock/views.py:376 #: stock/views.py:397
msgid "Count Stock Items" msgid "Count Stock Items"
msgstr "" msgstr ""
#: stock/views.py:377 #: stock/views.py:398
msgid "Remove From Stock" msgid "Remove From Stock"
msgstr "" msgstr ""
#: stock/views.py:378 #: stock/views.py:399
msgid "Add Stock Items" msgid "Add Stock Items"
msgstr "" msgstr ""
#: stock/views.py:379 #: stock/views.py:400
msgid "Delete Stock Items" msgid "Delete Stock Items"
msgstr "" msgstr ""
#: stock/views.py:407 #: stock/views.py:428
msgid "Must enter integer value" msgid "Must enter integer value"
msgstr "" msgstr ""
#: stock/views.py:412 #: stock/views.py:433
msgid "Quantity must be positive" msgid "Quantity must be positive"
msgstr "" msgstr ""
#: stock/views.py:419 #: stock/views.py:440
#, python-brace-format #, python-brace-format
msgid "Quantity must not exceed {x}" msgid "Quantity must not exceed {x}"
msgstr "" msgstr ""
#: stock/views.py:427 #: stock/views.py:448
msgid "Confirm stock adjustment" msgid "Confirm stock adjustment"
msgstr "" msgstr ""
#: stock/views.py:498 #: stock/views.py:519
#, python-brace-format #, python-brace-format
msgid "Added stock to {n} items" msgid "Added stock to {n} items"
msgstr "" msgstr ""
#: stock/views.py:513 #: stock/views.py:534
#, python-brace-format #, python-brace-format
msgid "Removed stock from {n} items" msgid "Removed stock from {n} items"
msgstr "" msgstr ""
#: stock/views.py:526 #: stock/views.py:547
#, python-brace-format #, python-brace-format
msgid "Counted stock for {n} items" msgid "Counted stock for {n} items"
msgstr "" msgstr ""
#: stock/views.py:554 #: stock/views.py:575
msgid "No items were moved" msgid "No items were moved"
msgstr "" msgstr ""
#: stock/views.py:557 #: stock/views.py:578
#, python-brace-format #, python-brace-format
msgid "Moved {n} items to {dest}" msgid "Moved {n} items to {dest}"
msgstr "" msgstr ""
#: stock/views.py:576 #: stock/views.py:597
#, python-brace-format #, python-brace-format
msgid "Deleted {n} stock items" msgid "Deleted {n} stock items"
msgstr "" msgstr ""
#: stock/views.py:588 #: stock/views.py:609
msgid "Edit Stock Item" msgid "Edit Stock Item"
msgstr "" msgstr ""
#: stock/views.py:624 #: stock/views.py:645
msgid "Create new Stock Location" msgid "Create new Stock Location"
msgstr "" msgstr ""
#: stock/views.py:645 #: stock/views.py:666
msgid "Serialize Stock" msgid "Serialize Stock"
msgstr "" msgstr ""
#: stock/views.py:725 #: stock/views.py:746
msgid "Create new Stock Item" msgid "Create new Stock Item"
msgstr "" msgstr ""
#: stock/views.py:789 #: stock/views.py:810
msgid "Copy Stock Item" msgid "Copy Stock Item"
msgstr "" msgstr ""
#: stock/views.py:839 #: stock/views.py:860
msgid "Invalid quantity" msgid "Invalid quantity"
msgstr "" msgstr ""
#: stock/views.py:842 #: stock/views.py:863
msgid "Invalid part selection" msgid "Invalid part selection"
msgstr "" msgstr ""
#: stock/views.py:904 #: stock/views.py:925
msgid "Created new stock item" msgid "Created new stock item"
msgstr "" msgstr ""
#: stock/views.py:921 #: stock/views.py:942
msgid "Delete Stock Location" msgid "Delete Stock Location"
msgstr "" msgstr ""
#: stock/views.py:934 #: stock/views.py:955
msgid "Delete Stock Item" msgid "Delete Stock Item"
msgstr "" msgstr ""
#: stock/views.py:945 #: stock/views.py:966
msgid "Delete Stock Tracking Entry" msgid "Delete Stock Tracking Entry"
msgstr "" msgstr ""
#: stock/views.py:962 #: stock/views.py:983
msgid "Edit Stock Tracking Entry" msgid "Edit Stock Tracking Entry"
msgstr "" msgstr ""
#: stock/views.py:971 #: stock/views.py:992
msgid "Add Stock Tracking Entry" msgid "Add Stock Tracking Entry"
msgstr "" msgstr ""
#: templates/about.html:18
msgid "InvenTree Version Information"
msgstr ""
#: templates/about.html:21
msgid "Version"
msgstr ""
#: templates/about.html:24
msgid "Commit Hash"
msgstr ""
#: templates/about.html:27
msgid "Commit Date"
msgstr ""
#: templates/about.html:33
msgid "InvenTree Documentation"
msgstr ""
#: templates/about.html:37
msgid "View Code on GitHub"
msgstr ""

View File

@ -48,11 +48,17 @@ def inventree_version(*args, **kwargs):
@register.simple_tag() @register.simple_tag()
def inventree_commit(*args, **kwargs): def inventree_commit_hash(*args, **kwargs):
""" Return InvenTree git commit hash string """ """ Return InvenTree git commit hash string """
return version.inventreeCommitHash() return version.inventreeCommitHash()
@register.simple_tag()
def inventree_commit_date(*args, **kwargs):
""" Return InvenTree git commit date string """
return version.inventreeCommitDate()
@register.simple_tag() @register.simple_tag()
def inventree_github_url(*args, **kwargs): def inventree_github_url(*args, **kwargs):
""" Return URL for InvenTree github site """ """ Return URL for InvenTree github site """

View File

@ -22,9 +22,13 @@ class TemplateTagTest(TestCase):
self.assertEqual(type(inventree_extras.inventree_version()), str) self.assertEqual(type(inventree_extras.inventree_version()), str)
def test_hash(self): def test_hash(self):
hash = inventree_extras.inventree_commit() hash = inventree_extras.inventree_commit_hash()
self.assertEqual(len(hash), 7) self.assertEqual(len(hash), 7)
def test_date(self):
d = inventree_extras.inventree_commit_date()
self.assertEqual(len(d.split('-')), 3)
def test_github(self): def test_github(self):
self.assertIn('github.com', inventree_extras.inventree_github_url()) self.assertIn('github.com', inventree_extras.inventree_github_url())

View File

@ -1,5 +1,6 @@
{% load static %} {% load static %}
{% load inventree_extras %} {% load inventree_extras %}
{% load i18n %}
<div class='modal fade modal-fixed-footer' tabindex='-1' role='dialog' id='modal-about'> <div class='modal fade modal-fixed-footer' tabindex='-1' role='dialog' id='modal-about'>
<div class='modal-dialog'> <div class='modal-dialog'>
@ -14,23 +15,26 @@
<div> <div>
<!-- <!--
--> -->
<h4>InvenTree Version Information</h4> <h4>{% trans "InvenTree Version Information" %}</h4>
<table class='table table-striped table-condensed'> <table class='table table-striped table-condensed'>
<tr> <tr>
<td>Version</td><td><a href="https://github.com/inventree/InvenTree/releases">{% inventree_version %}</a></td> <td>{% trans "Version" %}</td><td><a href="https://github.com/inventree/InvenTree/releases">{% inventree_version %}</a></td>
</tr> </tr>
<tr> <tr>
<td>Commit Hash</td><td><a href="https://github.com/inventree/InvenTree/commit/{% inventree_commit %}">{% inventree_commit %}</a></td> <td>{% trans "Commit Hash" %}</td><td><a href="https://github.com/inventree/InvenTree/commit/{% inventree_commit_hash %}">{% inventree_commit_hash %}</a></td>
</tr>
<tr>
<td>{% trans "Commit Date" %}</td><td>{% inventree_commit_date %}</td>
</tr> </tr>
<tr> <tr>
<td colspan="2"></td> <td colspan="2"></td>
</tr> </tr>
<tr> <tr>
<td>InvenTree Documenation</td> <td>{% trans "InvenTree Documentation" %}</td>
<td><a href="{% inventree_docs_url %}">{% inventree_docs_url %}</a></td> <td><a href="{% inventree_docs_url %}">{% inventree_docs_url %}</a></td>
</tr> </tr>
<tr> <tr>
<td>View Code on GitHub</td><td><a href="{% inventree_github_url %}">{% inventree_github_url %}</a></td> <td>{% trans "View Code on GitHub" %}</td><td><a href="{% inventree_github_url %}">{% inventree_github_url %}</a></td>
</tr> </tr>
<tr> <tr>
<td></td> <td></td>